Can an Ebuild be made to make a 32bit version of the GLUT library on amd64 systems. Somethings along the lines of emul-linux-x86-glut . Thanks I've tried adding -m32 when merging the ebuild, but it failed. I did: CFLAGS="-m32 -O3 -mmmx -msse -msse2 -fforce-addr -pipe" emerge glut and I got: /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.3/../../../../x86_64-pc-linux-gnu/bin/ld: warning: i386 architecture of input file `glut_8x13.lo' is incompatible with i386:x86-64 output /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.3/../../../../x86_64-pc-linux-gnu/bin/ld: warning: i386 architecture of input file `glut_9x15.lo' is incompatible with i386:x86-64 output /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.3/../../../../x86_64-pc-linux-gnu/bin/ld: warning: i386 architecture of input file `glut_bitmap.lo' is incompatible with i386:x86-64 output <<<<SNIPPED, continues like that for a few files>>> glut_bitmap.lo(.text+0x5c): In function `glutBitmapCharacter': : undefined reference to `glGetIntegerv' glut_bitmap.lo(.text+0x70): In function `glutBitmapCharacter': : undefined reference to `glGetIntegerv' glut_bitmap.lo(.text+0x84): In function `glutBitmapCharacter': : undefined reference to `glGetIntegerv' glut_bitmap.lo(.text+0x98): In function `glutBitmapCharacter': : undefined reference to `glGetIntegerv' glut_bitmap.lo(.text+0xac): In function `glutBitmapCharacter': : undefined reference to `glGetIntegerv' glut_bitmap.lo(.text+0xc0): more undefined references to `glGetIntegerv' follow glut_bitmap.lo(.text+0xd4): In function `glutBitmapCharacter': : undefined reference to `glPixelStorei' <<snipped, continues like that>> collect2: ld returned 1 exit status make: *** [libglut.la] Error 1 !!! ERROR: media-libs/glut-3.7.1 failed. !!! Function src_compile, Line 29, Exitcode 2 !!! (no error message) Reproducible: Always Steps to Reproduce: 1. 2. 3.
Adding "-m32" to your CFLAGS is a bad idea (tm). See the technotes ( http://amd64.gentoo.org/technotes.xml ). I will mark this bugs as WONTFIX, but i want to explain why i do this: We can't provide all librarys that exist via some emul-x86-linux* package. We don't have enough manpower nor do we have enough space on the mirrors to achieve this. We are currently moving towards portage being able to have dynamic slots. As sonns as this feature works, we will be able to work on a bi-arch system. That means that you will be able to install all the 32 bit libraries and 32 bit packages you want to have via portage. If you need 32bit glut _now_ then please try to create a 32bit chroot environtment for the time being and run your apps there. Sorry for the inconvenience. :-/