[oe] qt4-native: `/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: No such file or directory` because architecture incorrectly detected

Paul Menzel paulepanter at users.sourceforge.net
Sat May 21 15:56:45 UTC 2011


Dear Eric,


Am Samstag, den 21.05.2011, 15:59 +0200 schrieb Eric Bénard:

> On 21/05/2011 15:53, Paul Menzel wrote:

> > Am Sonntag, den 15.05.2011, 17:14 +0200 schrieb Paul Menzel:
> >
> >> Am Samstag, den 14.05.2011, 09:15 +0200 schrieb Eric Bénard:
> >>
> >>> On 10/05/2011 22:57, Paul Menzel wrote:
> >>>> Dear Simon and other OpenEmbedded folks,
> >>>>
> >>>>
> >>>> I am sorry for the wrong subject line. I am fixing it hereby.
> >>>>
> >>>>
> >>>> Am Dienstag, den 10.05.2011, 22:40 +0200 schrieb Paul Menzel:
> >>>>
> >>>>> task configure of `qt4-native` fails on my build system which is a Xen
> >>>>> DomU running a 64-bit Linux kernel but 32-bit user space.
> >>>>>
> >>>>>           $ uname -a
> >>>>>           Linux oe-build-host 2.6.32-5-xen-amd64 #1 SMP Tue Mar 8 00:01:30 UTC 2011 x86_64 GNU/Linux
> >>>>>           $ dpkg --print-architecture
> >>>>>           i386
> >>>>>
> >>>>> This seems to be a problem in the Qt4 build system which seems to be
> >>>>> using `uname` to determine the architecture.
> >>>>>
> >>>>>           $ more log.do_configure
> >>>>>           + do_configure
> >>>>>           + echo o
> >>>>>           + echo yes
> >>>>>           + ./configure -prefix /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr -L /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/lib -I /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/include -qt-libjpeg -qt-gif -system-zlib -no-libjpeg -no-libpng -no-libmng -no-libtiff -no-accessibility -no-cups -no-nas-sound -no-nis -no-openssl -verbose -release -embedded -no-freetype -no-glib -no-iconv -exceptions -xmlpatterns -qt3support -no-fast -silent -no-rpath
> >>>>>           Which edition of Qt do you want to use ?
> >>>>>
> >>>>>           Type 'c' if you want to use the Commercial Edition.
> >>>>>           Type 'o' if you want to use the Open Source Edition.
> >>>>>
> >>>>>
> >>>>>           Determining system architecture... (Linux:2.6.32-5-xen-amd64:x86_64)
> >>>>>               64-bit AMD 80x86 (x86_64)
> >>>>>               'x86_64' is supported
> >>>>>           System architecture: 'x86_64'
> >>>>>           Host architecture: 'x86_64'
> >>>
> >>> this could maybe be fixed by passing -host-arch=i386 to configure but the
> >>> problem is to detect you are running a 32bit userland when uname reports 64 bits.
> >>> bitbake.conf seems also to use uname :
> >>> BUILD_ARCH := "${@os.uname()[4]}"
> >>
> >> Unfortunately I have not come around a solution to detect this properly.
> >> I had the same problem with TeX Live [1] and the solution was to add on
> >> option to override this setting [2].
> >>
> >>> maybe something like file `which init` and analysing the output ?
> >>
> >> Unfortunately `which init` does not return anything on my Debian
> >> Sid/unstable system.
> >>
> >>          $ which init
> >>          $ echo $?
> >>          1
> >
> > searching the WWW for »uname system host architecture 32 64« I found the
> > following suggestion [3][4].
>
> From my understanding, lshw only tells you if the CPU has 64bits support or 
> not (like cat /proc/cpuinfo). So I can't how that could help here.

`lshw` is not even installed on my system. ;-) I meant

	getconf LONG_BIT

and testing this on a 64-bit user space/64-bit Linux kernel system
returned 64 and on a 32-bit user space/64-bit Linux Kernel system it
returned 32.

I guess another possibility would be to check if `stubs.h` or
`stubs-64.h` is present.


Thanks,

Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20110521/5d77200d/attachment-0002.sig>


More information about the Openembedded-devel mailing list