Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 133482 - Mozilla and co fail to emerge in 32 bit chroot
Summary: Mozilla and co fail to emerge in 32 bit chroot
Status: VERIFIED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-16 05:35 UTC by Philip Lawatsch
Modified: 2006-05-16 08:46 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philip Lawatsch 2006-05-16 05:35:24 UTC
Hi,

I've got problems with all mozilla family packages (mozilla, thunderbird, firefox, gecko-sdk, enigmail) with their latest ~x86 versions in portage (for mozilla this would be www-client/mozilla-1.7.13, or mozilla-firefox-1.5.0.3).

I'm compiling on amd64 in a 32bit chroot. Now mozilla (and friends) use the following in their configure.in:

    OS_TARGET=`uname -s`
    OS_ARCH=`uname -s | sed -e 's|/|_|g'`
    OS_RELEASE=`uname -r`
    OS_TEST=`uname -m`

This will set OS_TEST to x86_64 (because I've got a 64 bit kernel) instead of i686 which it should be set to.

-> All packages fail to build with the following error:
------------
gmake[6]: Entering directory `/var/tmp/portage/mozilla-1.7.13/work/mozilla/xpcom/reflect/xptcall/src/md'
gmake[7]: Entering directory `/var/tmp/portage/mozilla-1.7.13/work/mozilla/xpcom/reflect/xptcall/src/md/unix'
xptcinvoke_x86_64_linux.cpp
i686-pc-linux-gnu-g++ -o xptcinvoke_x86_64_linux.o -c -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -DEXPORT_XPTC_API   -I../../../../../../dist/include/xpcom -I../../../../../../dist/include -I/var/tmp/portage/mozilla-1.7.13/work/mozilla/dist/include/nspr     -I./../..    -fPIC  -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\"  -fno-rtti -fno-handle-exceptions  -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pipe -march=athlon-xp -ggdb -Wno-deprecated -Wno-return-type -w -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -ffunction-sections -O2  -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\"  -DMOZILLA_CLIENT -include ../../../../../../mozilla-config.h -Wp,-MD,.deps/xptcinvoke_x86_64_linux.pp xptcinvoke_x86_64_linux.cpp
xptcinvoke_x86_64_linux.cpp: In function `nsresult XPTC_InvokeByIndex(nsISupports*, PRUint32, PRUint32, nsXPTCVariant*)':
xptcinvoke_x86_64_linux.cpp:153: error: register specified for 'd0' isn't suitable for data type
xptcinvoke_x86_64_linux.cpp:153: error: register name given for non-register variable 'd0'
xptcinvoke_x86_64_linux.cpp:154: error: register specified for 'd1' isn't suitable for data type
xptcinvoke_x86_64_linux.cpp:154: error: register name given for non-register variable 'd1'
xptcinvoke_x86_64_linux.cpp:155: error: register specified for 'd2' isn't suitable for data type
xptcinvoke_x86_64_linux.cpp:155: error: register name given for non-register variable 'd2'
xptcinvoke_x86_64_linux.cpp:156: error: register specified for 'd3' isn't suitable for data type
xptcinvoke_x86_64_linux.cpp:156: error: register name given for non-register variable 'd3'
xptcinvoke_x86_64_linux.cpp:157: error: register specified for 'd4' isn't suitable for data type
xptcinvoke_x86_64_linux.cpp:157: error: register name given for non-register variable 'd4'
xptcinvoke_x86_64_linux.cpp:158: error: register specified for 'd5' isn't suitable for data type
xptcinvoke_x86_64_linux.cpp:158: error: register name given for non-register variable 'd5'
xptcinvoke_x86_64_linux.cpp:159: error: register specified for 'd6' isn't suitable for data type
xptcinvoke_x86_64_linux.cpp:159: error: register name given for non-register variable 'd6'
xptcinvoke_x86_64_linux.cpp:160: error: register specified for 'd7' isn't suitable for data type
xptcinvoke_x86_64_linux.cpp:160: error: register name given for non-register variable 'd7'
gmake[7]: *** [xptcinvoke_x86_64_linux.o] Error 1
gmake[7]: Leaving directory `/var/tmp/portage/mozilla-1.7.13/work/mozilla/xpcom/reflect/xptcall/src/md/unix'
gmake[6]: *** [libs] Error 2
gmake[6]: Leaving directory `/var/tmp/portage/mozilla-1.7.13/work/mozilla/xpcom/reflect/xptcall/src/md'
gmake[5]: *** [libs] Error 2
gmake[5]: Leaving directory `/var/tmp/portage/mozilla-1.7.13/work/mozilla/xpcom/reflect/xptcall/src'
gmake[4]: *** [libs] Error 2
gmake[4]: Leaving directory `/var/tmp/portage/mozilla-1.7.13/work/mozilla/xpcom/reflect/xptcall'
gmake[3]: *** [libs] Error 2
gmake[3]: Leaving directory `/var/tmp/portage/mozilla-1.7.13/work/mozilla/xpcom/reflect'
gmake[2]: *** [libs] Error 2
gmake[2]: Leaving directory `/var/tmp/portage/mozilla-1.7.13/work/mozilla/xpcom'
gmake[1]: *** [tier_2] Error 2
gmake[1]: Leaving directory `/var/tmp/portage/mozilla-1.7.13/work/mozilla'
make: *** [default] Error 2
-------------------------------

A quick and dirty hack would be to simply hardcode a value in configure.in if uname -m is x86_64 but CHOST is set to some i686 value.
Comment 1 Simon Stelling (RETIRED) gentoo-dev 2006-05-16 06:51:34 UTC
This is why you should use the linux32 command from sys-apps/setarch. It's all documented in the chroot howto:

http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&chap=2
Comment 2 Philip Lawatsch 2006-05-16 08:46:15 UTC
You're right, I forgot to do that. Still, mozilla should not use uname but honor CHOST.