-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I also, am having trouble building 32 bit..
I use this configure command CFLAGS='-m32' CXXFLAGS='-m32' ./autogen.sh --prefix=/usr - --libdir=/usr/lib --with-dri-drivers="" - --with-gallium-drivers=r600,swrast --enable-gallium-egl - --enable-openvg --enable-gles1 --enable-gles2 --enable-texture-float - --enable-vdpau --enable-xvmc --enable-osmesa --enable-xorg --enable-32-bit In the past the attached patch has fixed it for me, but now it no longer works. Kevin I have opened the following bugs and while the patch has fixed it in the past it has never been committed, even after several discussions on the mailing list. https://bugs.freedesktop.org/show_bug.cgi?id=45458 https://bugs.freedesktop.org/show_bug.cgi?id=45466 On 03/30/2012 10:31 AM, Ian Romanick wrote: > 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! _______________________________________________ > mesa-dev mailing list mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev - -- Get my public GnuPG key from http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x7D0BD5D1 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk91+2gACgkQ6w2kMH0L1dF7wQCfbztHVmVBb7RhgOVvOlS9DPcj QXgAoIMsrEcjQDbxj5a3xAbrOTOSUZ28 =NV78 -----END PGP SIGNATURE-----
diff --git a/bin/mklib b/bin/mklib index 56e0b36..e0808be 100755 --- a/bin/mklib +++ b/bin/mklib @@ -239,7 +239,7 @@ do ;; -*) echo "mklib: Unknown option: " $1 ; - exit 1 + shift 1 ;; *) # This should be the first object file, stop parsing diff --git a/configure.ac b/configure.ac index 316c715..1fdc398 100644 --- a/configure.ac +++ b/configure.ac @@ -1762,14 +1762,25 @@ if test "x$enable_gallium_llvm" = xauto; then esac fi if test "x$enable_gallium_llvm" = xyes; then - AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no]) + if test "x$enable_32bit" = xyes; then + AC_PATH_PROG([LLVM_CONFIG], [llvm-config-32], [no]) + LLVM_LDFLAGS_ADD="-m32" + fi + if test "x$enable_64" = xyes; then + AC_PATH_PROG([LLVM_CONFIG], [llvm-config-64], [no]) + LLVM_LDFLAGS_ADD="-m64" + fi + if test "x$LLVM_CONFIG" = x; then + AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no]) + fi if test "x$LLVM_CONFIG" != xno; then LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'` - LLVM_CFLAGS=`$LLVM_CONFIG --cppflags|sed -e 's/-DNDEBUG\>//g' -e 's/-pedantic//g'` + LLVM_CFLAGS=`$LLVM_CONFIG --cxxflags|sed -e 's/-DNDEBUG\>//g' -e 's/-pedantic//g'` LLVM_LIBS="`$LLVM_CONFIG --libs engine bitwriter`" LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags` + LLVM_LDFLAGS="$LLVM_LDFLAGS $LLVM_LDFLAGS_ADD" DEFINES="$DEFINES -D__STDC_CONSTANT_MACROS" MESA_LLVM=1 else
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev