|
From: | Terry Dontje |
Subject: | Re: Oracle Solaris Studio 12.2 compiler incompatibility with libtool |
Date: | Tue, 16 Nov 2010 13:47:36 -0500 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Fedora/3.1.6-1.fc13 Lightning/1.0b2 Thunderbird/3.1.6 |
On 11/15/2010 04:17 PM, Ralf Wildenhues wrote:
Either one seem to work with Studio 12.2 and both show up in the -flags output.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? I checked an earlier Studio circa 2009 and only -Qoption works and only shows up in -flags output. 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. My 2009 compiler show'sPlease also post cc -V CC -V f90 -V cc: Sun C 5.10 Linux_i386 2009/04/01 CC: Sun C++ 5.10 Linux_i386 2009/04/01 f90: Sun Fortran 95 8.4 Linux_i386 2009/04/01 My Studio 12.2 compiler show's cc: Sun C 5.11 Linux_i386 2010/08/13 CC: Sun C++ 5.11 Linux_i386 2010/08/13 f90: Sun Fortran 95 8.5 Linux_i386 2010/08/13 for this version of the compiler, so we can try to differentiate from the older versions. Thanks, Ralf --
Terry D. Dontje | Principal Software Engineer Developer Tools Engineering | +1.781.442.2631 Oracle - Performance Technologies 95 Network Drive, Burlington, MA 01803 Email address@hidden |
[Prev in Thread] | Current Thread | [Next in Thread] |