[Mesa-dev] Woes of --enable-32-bit on x86-64 Fedora 15

Ian Romanick idr at freedesktop.org
Fri Mar 30 09:31:42 PDT 2012


Building the i965 driver with --enable-32-bit is just broken on Fedora 
15.  It seems to work for folks on other distros, but I get a lot of 
failure during linking i965_dri.so.  Linking i915_dri.so works, and the 
difference seems to be the presence of C++ files in i965.

The generated libtool script has *tons* of references to lib64 and 
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/**.

I have tried adding --host=i686-redhat-linux to the configure line, but 
that had no affect.

Setting LDFLAGS with a bunch of -L options for 32-bit library paths 
fixes all of the 'skipping incompatible lib' messages, but the hardcoded 
references to crt*.o still fail.

The errors I get are

gmake[5]: Entering directory 
`/home/idr/devel/graphics/Mesa/BUILD/master-32/src/mesa/drivers/dri/i965'
   CXXLD  i965_dri.la
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../lib64/libexpat.so 
when searching for -lexpat
/usr/bin/ld: skipping incompatible /usr/lib/../lib64/libexpat.so when 
searching for -lexpat
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../lib64/libpthread.so 
when searching for -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/../lib64/libpthread.so when 
searching for -lpthread
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../lib64/libdl.so when 
searching for -ldl
/usr/bin/ld: skipping incompatible /usr/lib/../lib64/libdl.so when 
searching for -ldl
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../lib64/libdrm_intel.so 
when searching for -ldrm_intel
/usr/bin/ld: skipping incompatible /usr/lib/../lib64/libdrm_intel.so 
when searching for -ldrm_intel
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../lib64/libdrm.so when 
searching for -ldrm
/usr/bin/ld: skipping incompatible /usr/lib/../lib64/libdrm.so when 
searching for -ldrm
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/libstdc++.so when searching for 
-lstdc++
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../lib64/libm.so when 
searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib/../lib64/libm.so when 
searching for -lm
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../lib64/libc.so when 
searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib64/libc.so when 
searching for -lc
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/libgcc_s.so when searching for 
-lgcc_s
/usr/bin/ld: i386:x86-64 architecture of input file 
`/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../lib64/crti.o' is 
incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file 
`/usr/lib/gcc/x86_64-redhat-linux/4.6.3/crtbeginS.o' is incompatible 
with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file 
`/usr/lib/gcc/x86_64-redhat-linux/4.6.3/crtendS.o' is incompatible with 
i386 output
/usr/bin/ld: i386:x86-64 architecture of input file 
`/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../lib64/crtn.o' is 
incompatible with i386 output
collect2: ld returned 1 exit status

Halp!  Plz!


More information about the mesa-dev mailing list