bug-libtool
[Top][All Lists]
Advanced

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

Re: LT 2.2.4 problem with Absoft Fortran 90 compiler


From: Tony Goelz
Subject: Re: LT 2.2.4 problem with Absoft Fortran 90 compiler
Date: Tue, 27 May 2008 10:33:01 -0400
User-agent: Thunderbird 2.0.0.14 (Macintosh/20080421)

Hi Ralf,

I believe the easiest way to produce a shared library with Absoft compiled object files is to invoke gcc to perform the final step, adding in the Absoft runtime libraries with -L/opt/absoft10.1/lib -laf90math -lafio -lamisc -laf77math.

Here's the sample output you requested from the Absoft compiler working on a simple program:


$ f90 -v t.f90
mkdir /tmp/oTbO00
/opt/absoft10.1/bin/af90fe -Ap -p. -p/opt/absoft10.1/f90includes -F /tmp/oTbO00/t.l t.f90
/opt/absoft10.1/bin/atmod -TARG:abi=n32 -o /tmp/oTbO00/t.B /tmp/oTbO00/t.l
/opt/absoft10.1/bin/be -O0 -LANG:=f90 -PHASE:c -TARG:abi=n32 -fs,/tmp/oTbO00/t.s -fB,/tmp/oTbO00/t.B t.f90
as --32 -o /tmp/oTbO00/t.o /tmp/oTbO00/t.s
gcc -m32 /tmp/oTbO00/t.o -L/opt/absoft10.1/lib -laf90math -lafio -lamisc -labsoftmain -laf77math -lm -lmv
rm /tmp/oTbO00/*
rmdir /tmp/oTbO00/

$ f90 -V t.f90
f90: Copyright Absoft Corporation 1994-2007; Absoft Fortran Compiler Version 10.1
f90fe: 2 source lines
f90fe: 0 Errors, 0 Warnings, 0 Other messages, 0 ANSI


Also, an additional way to get the version number of an
Absoft compiler is to enter "f90" with no arguments:

(on 32 bit Linux)

$ f90
Absoft 32-bit Fortran 95 10.1.2
ERROR: No input files.

(on 64 bit Linux)
$ f90
Absoft 64-bit Fortran 95 10.1.2
ERROR: No input files.

Regards,

Tony Goelz
Absoft Corporation




Ralf Wildenhues wrote:
Hi Jeff,

* Jeff Squyres wrote on Fri, May 23, 2008 at 07:10:51PM CEST:
I have another LT 2.2.4 bug report from the Open MPI project (recall: we just switched our nightly snapshot tarballs from an old LT 2.1a snapshot to LT 2.2.4). Our nightly regression tests have turned up another problem a few days ago (but I just noticed it this morning), this time with the Absoft Fortran 90 compiler on a Linux ia32 platform.

libtool: link: f90 -shared .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 -lnsl -lutil -lm -lpthread -soname libmpi_f90.so.0 -o .libs/libmpi_f90.so.0.0.0

ERROR: Unrecognized arguments: -soname ERROR: File not found: libmpi_f90.so.0

    http://www.open-mpi.org/mtt/index.php?do_redir=661
    (scroll all the way down to the bottom to see it)

And here's a link to a successful build with the older LT2.1a:

    http://www.open-mpi.org/mtt/index.php?do_redir=662
    (unfortunately, the stdout is not saved if the build was successful)

I do not have direct access to these machines, but I think we could get any files (e.g., config.log) if they would be helpful. I don't know offhand what option was used in the LT 2.1a snapshot to create the shared library (instead of -soname); we could probably get the stdout of a build from the LT 2.1a snapshot if it would be helpful.

This is a slightly different matter than the Intel regression you
reported.  Namely, AFAICS Libtool has never actively been ported to
support the Absoft Fortran compiler.  However, libtool should default
to only creating static libraries with unknown compilers; but first,
it's not always easy to distinguish an unknown compiler from a known
one, and second, we may just have introduced a regression there.
IIRC on linux/x86, we went to having the default be different because
on that platform, most unknown compilers more or less try to imitate
the GNU ones.
I'm glancing at the online documentation of Absoft 10.1 now[1], and
cannot find an obvious switch to enable creation of shared libraries,
just linking statically (with -static), using -fPIC for PIC code (weird
that they have that but no library creation), using -Xoption for linker
options, and -v for verbose output.

Can you (or your user who has Absoft) please find out whether older
Libtool just disabled shared libraries, whether and how Absoft can
create shared libraries (maybe you can by invoking ld directly with
the right set of options, or maybe by using gcc), and send
  ./libtool --tag=FC --config

for a tree using old libtool and once for a tree using new libtool?

Can you also send the output of
  f90 -v
  f90 -V

and the verbose output of compiling and linking a trivial Fortran
program?

For adding support for Absoft to Libtool, we may also need the verbose
output of running the Libtool testsuite, but let's only start doing that
after the first proposed patch.

Meanwhile, I think you should be able to work around any issues by
disabling shared libraries:
  ./configure --disable-shared FC=... ...

Thanks,
Ralf

[1] <http://www.absoft.com/Support/Documentation/fortran_documentation.html>






reply via email to

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