git ffe376d5a74dee837dc1a421de29ae551087630f ./autogen.sh --prefix=/usr --libdir=/usr/lib --with-dri-drivers="" --with-galliu m-drivers=r600,swrast --enable-gallium-egl --enable-openvg --enable-gles1 --enab le-gles2 --enable-texture-float --enable-vdpau --enable-xvmc --enable-osmesa --e nable-32-bit --enable-gallium-llvm --enable-texture-float This command worked properly on 1/30/2012. I'm guessing that the LDFLAGS is not properly set in the Makefile. In my Makefile in src/glsl LDFLAGS is not set. It should contain something like -m32 or $(ARCH_FLAGS) gmake[4]: Entering directory `/home/kdekorte/git/mesa-32/src/glsl' CXXLD libglsl.la /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.6.2/libstdc++.so when searching for -lstdc++ /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.6.2/../../../../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.2/../../../../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.2/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.2/../../../../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.2/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.2/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.2/../../../../lib64/crtn.o' is incompatible with i386 output collect2: ld returned 1 exit status gmake[4]: *** [libglsl.la] Error 1 gmake[4]: Leaving directory `/home/kdekorte/git/mesa-32/src/glsl' gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory `/home/kdekorte/git/mesa-32/src/glsl' gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/home/kdekorte/git/mesa-32/src/glsl' make[1]: *** [subdirs] Error 1 make[1]: Leaving directory `/home/kdekorte/git/mesa-32/src' make: *** [default] Error 1
After additional research it appears the build triplet is wrong. I don't think that the --enable-32-bit flag is being honored by libglsl
Yeah, I'm pretty sure this broke a while back. It -should- work if you do: CFLAGS='-m32' CXXFLAGS='-m32' ./autogen.sh --enable-32-bit --more-options-here Which also has the added benefit of allowing you to select whether you want -O2 or not. That said, it'd probably be nice to add -m32 to CFLAGS and CXXFLAGS when --enable-32-bit is passed. Matt, do you agree?
If that fixes it, then yeah. The real solution is to automake everything and then kill the --enable-{32,64}-bit flags.
Adding those flags before autogen does seem to fix it, but shouldn't that be what --enable-32-bit does?
I think we want the --enable-32-bit so that we can build 32bit binaries on a 64bit machine so that we can run 32bit applications.
(In reply to comment #4) > Adding those flags before autogen does seem to fix it, but shouldn't that be > what --enable-32-bit does? Yes. Please send a patch. :) (In reply to comment #5) > I think we want the --enable-32-bit so that we can build 32bit binaries on a > 64bit machine so that we can run 32bit applications. No, with proper automake you specify --build, --target, --host to do this, not hacky --enable-32-bit flags.
32-bit-on-64-bit builds have been broken for some time. I report this back in October of 2011: bug #41700.
I had this working yesterday and with the patch in bug #45466 I can get to compile again.
Patches reverts. So, fixed, I guess.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.