Skip to contentSkip to conversation

Problem with buildtools-tarball / nativesdk-ncurses / nativesdk-python

DISCUSSION Mark Hatle 2 participants 4 messages Jun 19, 2013

lore
Share & tools
lore

Mark Hatle

author
#0 lore raw

My host system's python version is too old due to the recent changes. So I built a temporary python 2.7.3 version. Built the 'buildtools-tarball' and then installed it. When I switch to the included python it no longer works.

I did some digging, the problem in the end is related to ncurses within the nativesdk.

Running the following:
py_v26_check=python -c 'import sys; print sys.version_info >= (2,6,3)'
which python
echo "$py_v26_check" | od -c
if [ "$py_v26_check" != "True" ]; then
echo "BitBake requires Python 2.7.3 or later"
exit 1
fi

You can see the difference in behavior:

TERM=xterm

/home/lmhatle/build-qemux86_64-2/buildtools/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/python
0000000 033 [ ? 1 0 3 4 h T r u e \n
0000015
BitBake requires Python 2.7.3 or later

-----

TERM=vt100

/home/lmhatle/build-qemux86_64-2/buildtools/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/python
0000000 T r u e \n
0000005

-----

So as you can see specifying a different terminal type is happily changing the output of python. When I use my locally built version, I don't get the same behavior. I always get the second version.

So is there a problem with the nativesdk python, nativesdk ncurses or???

(I've not yet filed a bug on this, but I will if I can't figure it out soon.)

--Mark

#1 lore raw
Quoted 35 lines · Mark Hatle

My host system's python version is too old due to the recent changes. So I built a temporary python 2.7.3 version. Built the 'buildtools-tarball' and then installed it. When I switch to the included python it no longer works.

I did some digging, the problem in the end is related to ncurses within the nativesdk.

Running the following:
py_v26_check=python -c 'import sys; print sys.version_info >= (2,6,3)'
which python
echo "$py_v26_check" | od -c
if [ "$py_v26_check" != "True" ]; then
echo "BitBake requires Python 2.7.3 or later"
exit 1
fi

You can see the difference in behavior:

TERM=xterm

/home/lmhatle/build-qemux86_64-2/buildtools/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/python
0000000 033 [ ? 1 0 3 4 h T r u e \n
0000015
BitBake requires Python 2.7.3 or later

-----

TERM=vt100

/home/lmhatle/build-qemux86_64-2/buildtools/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/python
0000000 T r u e \n
0000005

-----

Quoted 7 lines

So as you can see specifying a different terminal type is happily changing the output of python. When I use my locally built version, I don't get the same behavior. I always get the second version.

So is there a problem with the nativesdk python, nativesdk ncurses or???

(I've not yet filed a bug on this, but I will if I can't figure it out soon.)

We've seen this issue but I thought we'd fixed it.

Which version of master did you do this with? This was supposed to be
fixed by
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=c281cd149bdbce29fc69cb34c65c4295cfed2060 and http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=534c4d0f1e287d0ac82504b273a5497d3457582a

If you're still having problems, please strace the above python command and see where its looking for terminfo...

Cheers,

Richard

author
#2 lore raw
Quoted 42 lines · Richard Purdie
Quoted 41 lines · Mark Hatle

My host system's python version is too old due to the recent changes. So I built a temporary python 2.7.3 version. Built the 'buildtools-tarball' and then installed it. When I switch to the included python it no longer works.

I did some digging, the problem in the end is related to ncurses within the nativesdk.

Running the following:

   py_v26_check=`python -c 'import sys; print sys.version_info >= (2,6,3)'`

which python
echo "$py_v26_check" | od -c
if [ "$py_v26_check" != "True" ]; then
echo "BitBake requires Python 2.7.3 or later" exit 1
fi

You can see the difference in behavior:

TERM=xterm

/home/lmhatle/build-qemux86_64-2/buildtools/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/python
0000000 033 [ ? 1 0 3 4 h T r u e \n
0000015
BitBake requires Python 2.7.3 or later

-----

TERM=vt100

/home/lmhatle/build-qemux86_64-2/buildtools/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/python
0000000 T r u e \n
0000005

-----

So as you can see specifying a different terminal type is happily changing the output of python. When I use my locally built version, I don't get the same behavior. I always get the second version.

So is there a problem with the nativesdk python, nativesdk ncurses or???

Quoted 7 lines
Quoted 1 line

(I've not yet filed a bug on this, but I will if I can't figure it out soon.)

We've seen this issue but I thought we'd fixed it.

Which version of master did you do this with? This was supposed to be
fixed by
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=c281cd149bdbce29fc69cb34c65c4295cfed2060 and http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=534c4d0f1e287d0ac82504b273a5497d3457582a

I have verified that I have both patches applied. I will continue debugging and work on the strace next...

FYI this is a x86_64 - CentOS 6.4 machine if it matters..

Quoted 8 lines

If you're still having problems, please strace the above python command and see where its looking for terminfo...

Cheers,

Richard

author
#3 lore raw
Quoted 47 lines · Mark Hatle
Quoted 46 lines · Richard Purdie
Quoted 35 lines · Mark Hatle

My host system's python version is too old due to the recent changes. So I built a temporary python 2.7.3 version. Built the 'buildtools-tarball' and then installed it. When I switch to the included python it no longer works.

I did some digging, the problem in the end is related to ncurses within the nativesdk.

Running the following:

    py_v26_check=`python -c 'import sys; print sys.version_info >= (2,6,3)'`

which python
echo "$py_v26_check" | od -c
if [ "$py_v26_check" != "True" ]; then
echo "BitBake requires Python 2.7.3 or later" exit 1
fi

You can see the difference in behavior:

TERM=xterm

/home/lmhatle/build-qemux86_64-2/buildtools/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/python
0000000 033 [ ? 1 0 3 4 h T r u e \n
0000015
BitBake requires Python 2.7.3 or later

-----

TERM=vt100

/home/lmhatle/build-qemux86_64-2/buildtools/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/python
0000000 T r u e \n
0000005

-----

Quoted 7 lines

So as you can see specifying a different terminal type is happily changing the output of python. When I use my locally built version, I don't get the same behavior. I always get the second version.

So is there a problem with the nativesdk python, nativesdk ncurses or???

(I've not yet filed a bug on this, but I will if I can't figure it out soon.)

We've seen this issue but I thought we'd fixed it.

Quoted 8 lines
Quoted 3 lines

Which version of master did you do this with? This was supposed to be
fixed by
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=c281cd149bdbce29fc69cb34c65c4295cfed2060 and http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=534c4d0f1e287d0ac82504b273a5497d3457582a

I have verified that I have both patches applied. I will continue debugging and work on the strace next...

FYI this is a x86_64 - CentOS 6.4 machine if it matters..

I reverified, I had the patch in my -git tree-, but it wasn't in my master branch. I must have checked out when it was somewhere, but not yet in master.

I'm currently rechecking everything.

--Mark

Quoted 14 lines
Quoted 8 lines

If you're still having problems, please strace the above python command and see where its looking for terminfo...

Cheers,

Richard

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core