On 06/23/2015 04:56 PM, Brian Paul wrote:
On 06/23/2015 04:25 PM, Matt Turner wrote:
On Tue, Jun 23, 2015 at 3:04 PM, Brian Paul <bri...@vmware.com> wrote:
Otherwise, if we're trying to build a 32-bit Mesa on a 64-bit host
we wind up with -DUSE_X86_64_ASM, which is incorrect.
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index ddc757e..b12f5f9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -605,7 +605,7 @@ if test "x$enable_asm" = xyes -a
"x$cross_compiling" = xyes; then
fi
# check for supported arches
if test "x$enable_asm" = xyes; then
- case "$host_cpu" in
+ case "$target_cpu" in
i?86)
case "$host_os" in
linux* | *freebsd* | dragonfly* | *netbsd* | openbsd* | gnu*)
--
1.9.1
According to [1], host is "the machine that you are building for" and
target is "the machine that GCC will produce code for". In the context
of building GCC, I think this means that the resulting GCC binaries
will run on $host and will produce code for $target. In the context of
Mesa, I can't come up with a way that host != target makes sense.
docs/autoconf.html suggests using --build=x86_64-pc-linux-gnu
--host=i686-pc-linux-gnu to build on x86_64 for i686. Is that what
you're doing?
Thanks for the pointer to the docs! I forgot this was mentioned there.
I basically had my --host and --build mixed up.
Also, I was using "i686-linux-gnu" instead of "i686-pc-linux-gnu" (is
there really a difference)?
Let me see how far I get now that you set me straight...
OK, so the next problem is Mesa is trying to link with 64-bit libdrm
instead of the 32-bit one.
The command is:
libtool: link: g++ -fPIC -DPIC -shared -nostdlib
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib32/crti.o
/usr/lib/gcc/x86_64-linux-gnu/4.9/32/crtbeginS.o -Wl,--whole-archive
../../.libs/libmesa.a common/.libs/libmegadriver_stub.a
common/.libs/libdricommon.a common/.libs/libxmlconfig.a
swrast/.libs/libswrast_dri.a -Wl,--no-whole-archive
/usr/lib/x86_64-linux-gnu/libdrm.so -ludev
/usr/lib/i386-linux-gnu/libdrm.so /usr/lib/x86_64-linux-gnu/libexpat.so
-lpthread -ldl -L/usr/lib/gcc/x86_64-linux-gnu/4.9/32
-L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../i386-linux-gnu
-L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib32
-L/lib/i386-linux-gnu -L/lib/../lib32 -L/usr/lib/i386-linux-gnu
-L/usr/lib/../lib32 -L/usr/lib/gcc/x86_64-linux-gnu/4.9
-L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../.. -lstdc++ -lm -lc -lgcc_s
/usr/lib/gcc/x86_64-linux-gnu/4.9/32/crtendS.o
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib32/crtn.o -O0 -m32
-Wl,-Bsymbolic -Wl,--gc-sections -Wl,-soname -Wl,mesa_dri_drivers.so
-o .libs/mesa_dri_drivers.so
/usr/lib/x86_64-linux-gnu/libdrm.so: error adding symbols: File in wrong
format
collect2: error: ld returned 1 exit status
Note near the middle:
/usr/lib/x86_64-linux-gnu/libdrm.so
shortly followed by:
/usr/lib/i386-linux-gnu/libdrm.so
That's after I added PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig
during configuring. Without that, it only tries to link with the 64-bit
libdrm.
Any ideas?
-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev