[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Oracle Solaris Studio 12.2 compiler incompatibility with libtool
From: |
Ralf Wildenhues |
Subject: |
Re: Oracle Solaris Studio 12.2 compiler incompatibility with libtool |
Date: |
Mon, 15 Nov 2010 22:17:26 +0100 |
User-agent: |
Mutt/1.5.20 (2010-08-04) |
Hi Terry,
* Terry Dontje wrote on Mon, Nov 15, 2010 at 01:00:17PM CET:
> I am actually seeing an incompatibility between libtool and Solaris Studio
> 12.2 "Fortran" compiler (not C). It looks like lt_prog_compiler_wl is being
> set to -rpath and not '-Wl,-rpath or '-Qoption ld -path'. Below is the
> libtool link line and I've attached the output of libtool --config to this
> email.
Thanks for the bug erport.
>
> /bin/sh ../../../libtool --tag=FC --mode=link f95 -I../../../ompi/include
> -I../../../../ompi/include -M. -I../../../../ompi/mpi/f90
> -I../../../ompi/mpi/f90 -m64 -version-info 0:0:0 -export-dynamic -o
> libmpi_f90.la -rpath /workspace/tdd/ctnext/tr-linux/lib mpi.lo mpi_sizeof.lo
> mpi_comm_spawn_multiple_f90.lo mpi_testall_f90.lo mpi_testsome_f90.lo
> mpi_waitall_f90.lo mpi_waitsome_f90.lo mpi_wtick_f90.lo mpi_wtime_f90.lo
> ../../../ompi/mpi/f77/libmpi_f77.la -lrt -lnsl -lutil -lm
> libtool: link: f95 -G .libs/mpi.o .libs/mpi_sizeof.o
> .libs/mpi_comm_spawn_multiple_f90.o .libs/mpi_testall_f90.o
> .libs/mpi_testsome_f90.o .libs/mpi_waitall_f90.o .libs/mpi_waitsome_f90.o
> .libs/mpi_wtick_f90.o .libs/mpi_wtime_f90.o -rpath
> /workspace/tdd/ctnext/ws-trunk/linux/ompi/mpi/f77/.libs -rpath
> /workspace/tdd/ctnext/ws-trunk/linux/ompi/.libs -rpath
> /workspace/tdd/ctnext/tr-linux/lib
> -L/workspace/tdd/ctnext/ws-trunk/linux/ompi/.libs
> ../../../ompi/mpi/f77/.libs/libmpi_f77.so
> /workspace/tdd/ctnext/ws-trunk/linux/ompi/.libs/libmpi.so -lcrypto -lssl
> -ldl -lrt -lnsl -lutil -lm -m64 -mt -soname libmpi_f90.so.0 -o
> .libs/libmpi_f90.so.0.0.0
> f90: Warning: Option -path passed to ld, if ld is invoked, ignored otherwise
> f90: Warning: Option -path passed to ld, if ld is invoked, ignored otherwise
> f90: Warning: Option -path passed to ld, if ld is invoked, ignored otherwise
> f90: Warning: Option -soname passed to ld, if ld is invoked, ignored
> otherwise
> /usr/bin/ld: unrecognized option '-path'
Ahh, so Solaris Studio changed their Fortran compiler characteristics.
libtool.m4 has:
case `$CC -V 2>&1 | sed 5q` in
*Sun\ F* | *Sun*Fortran*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_wl, $1)=''
;;
*Sun\ C*)
# Sun C 5.9
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
;;
which looks like old Fortran compilers didn't accept a -Wl, or '-Qoption
ld' argument to pass flags on to the linker. Or maybe it still doesn't,
but -r is detected as a compiler argument now. See also
http://lists.gnu.org/archive/html/libtool-patches/2006-05/msg00011.html
Can you confirm whether -Wl, or '-Qoption ld' is accepted by Solaris
Studio 12.2 f90 for GNU/Linux now? The online docs don't seem to
present me with different man pages for the Solaris and the GNU/Linux
versions, but I am fairly certain that the old versions did not accept
the flags.
Please also post
cc -V
CC -V
f90 -V
for this version of the compiler, so we can try to differentiate from
the older versions.
Thanks,
Ralf