libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Libtool attempts to link 64-bit lib on a -m32 compile (using Pathsca


From: Ralf Wildenhues
Subject: Re: Libtool attempts to link 64-bit lib on a -m32 compile (using Pathscale C++)
Date: Thu, 12 Mar 2009 19:49:02 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

Hello Ethan,

* Ethan Mallove wrote on Thu, Mar 12, 2009 at 05:25:50PM CET:
> Libtool is trying to link in 64-bit libs on a -m32 compile with the
> Pathscale C++ compiler. E.g., 
> 
>   /bin/sh ../../../libtool --tag=CXX   --mode=link pathCC  -O3 -DNDEBUG -Wall 
> -m32 -Wundef -Wno-long-long -finline-functions -fexceptions -pthread  
> -export-dynamic  -fexceptions  -o libmpi_cxx.la -rpath 
> /opt/SUNWhpc/HPC8.2/pathscale/lib mpicxx.lo intercepts.lo comm.lo datatype.lo 
> win.lo file.lo ../../../ompi/libmpi.la -lnsl -lutil  -lm
> libtool: link: pathCC -shared -nostdlib   .libs/mpicxx.o .libs/intercepts.o 
> .libs/comm.o .libs/datatype.o .libs/win.o .libs/file.o   -Wl,-rpath 
> -Wl,/home/emallove/v1.3/ompi/.libs -Wl,-rpath 
> -Wl,/home/emallove/v1.3/orte/.libs -Wl,-rpath 
> -Wl,/home/emallove/v1.3/opal/.libs -Wl,-rpath 
> -Wl,/opt/SUNWhpc/HPC8.2/pathscale/lib -L/home/emallove/v1.3/orte/.libs 
> -L/home/emallove/v1.3/opal/.libs ../../../ompi/.libs/libmpi.so 
> /home/emallove/v1.3/orte/.libs/libopen-rte.so 
> /home/emallove/v1.3/opal/.libs/libopen-pal.so -ldl -lnsl -lutil 
> -L/ws/ompi-tools/pathscale/3.2/lib/3.2/32 
> -L/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/32 
> -L/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3 
> -L/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../../../x86_64-suse-linux/lib/../lib
>  
> -L/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../../../x86_64-suse-linux/lib
>  -L/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../../../lib 
> -L/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../.. -L/lib/../lib 
> -L/usr/lib/../lib -lpthread -lpscrt -lmv -lmpath /usr/lib64/libstdc++.so 
> -lgcc_s -lm -lc -lgcc_s_32 
> /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../../../lib/crti.o 
> /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/32/crtbeginS.o 
> /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/32/crtendS.o 
> /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../../../lib/crtn.o  -m32 
> -pthread   -pthread -Wl,-soname -Wl,libmpi_cxx.so.0 -o 
> .libs/libmpi_cxx.so.0.0.0
>   /usr/lib64/libstdc++.so: could not read symbols: Invalid operation
>   collect2: ld returned 1 exit status
>   make: *** [libmpi_cxx.la] Error 1
> 
>   $ pathCC --version
>   PathScale(TM) Compiler Suite: Version 3.2
>   Built on: 2008-06-16 16:45:36 -0700
>   Thread model: posix
>   GNU gcc version 3.3.1 (PathScale 3.2 driver)
>   $ uname -a
>   Linux burl-ct-v20z-13 2.6.5-7.308-smp #1 SMP Mon Dec 10 11:36:40 UTC 2007 
> x86_64 x86_64 x86_64 GNU/Linux
>   $ cat /etc/SuSE-release
>   SUSE LINUX Enterprise Server 9 (x86_64)
>   VERSION = 9
>   PATCHLEVEL = 4

Thanks for the report.  Please also post the output of
  ../../../libtool --tag=CXX --config
  ../../../libtool --version
  ls -ld /lib* /usr/lib*

I wonder: if you do the build with g++, then GNU ld will probably just
skip over the wrong libstdc++ and keep searching until it finds the 32
bit one later in the search path, right?

Can you work around the issue by adding -L/usr/lib32 early in LDFLAGS?

Thanks,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]