[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: LT 2.2 series regression
From: |
Ralf Wildenhues |
Subject: |
Re: LT 2.2 series regression |
Date: |
Sun, 25 May 2008 10:50:15 +0200 |
User-agent: |
Mutt/1.5.17+20080114 (2008-01-14) |
Hi Jeff,
* Jeff Squyres wrote on Wed, May 21, 2008 at 05:08:57PM CEST:
> The Open MPI project just switched yesterday to using LT 2.2.4, AC 2.62,
> and AM 1.10.1 for our nightly trunk snapshot tarballs. Several
> developers have been using this combo for a while (including me), but
> using this trio for the nightly tarballs opens it up to a much wider
> testing audience.
Thanks for the move, that really helps find those system-dependent
regressions we cannot test ourselves.
> We ran into a problem with last night's regression testing with the
> Fortran Intel compiler suite and shared libraries.
>
> It seems that LT 2.2.x determines that the Intel ifort compiler option
> for building shared libraries is -KPIC (when it should be -fPIC). It
> then tests -KPIC, determines that it doesn't work, and then discards it.
> Hence, sources built with ifort have *no* PIC option, and therefore you
> can't build shared libraries for them. Here's the relevant output from
> configure (RHEL4U4, x86_64, Intel compiler suite 10.1):
Do you have an idea how many different Intel compiler versions your
users use? Because commit 319a767ce6d3eb131cc6d4d64809af1859d1a801
was added here:
<http://lists.gnu.org/archive/html/libtool-patches/2008-02/msg00007.html>
and I'm pretty sure that the version I tested then did work with -KPIC
(and I think I tested with a fairly new one).
I have only old version 8 to look at here right now, which states that
-KPIC is supported but deprecated, and that -fPIC is OK.
I've applied the patch below now. Can you report back how it worked for
you?
Thanks,
Ralf
Fix ifort settings again.
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <ifort>:
Unlike icc and ecc, not all ifort versions understand `-KPIC',
e.g. version 10.1, so use `-fPIC' instead.
Report by Jeff Squyres.
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index 6f9ac1b..654f54a 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -3964,11 +3964,16 @@ m4_if([$1], [CXX], [
linux* | k*bsd*-gnu)
case $cc_basename in
- icc* | ecc* | ifort*)
+ icc* | ecc*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
+ ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)