bug-libtool
[Top][All Lists]
Advanced

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

Re: {SPAM 03.3} Support for the Intel C++ compiler is broken


From: Gary V. Vaughan
Subject: Re: {SPAM 03.3} Support for the Intel C++ compiler is broken
Date: Fri, 16 Apr 2004 15:03:59 +0100
User-agent: Mozilla Thunderbird 0.5 (X11/20040208)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Roberto Bagnara wrote:
|
| Support for the Intel C++ compiler under GNU/Linux used to work,
| starting from libtool 1.5, with version 7.1-x of the compiler.  With
| version 8.0-x of Intel C++ things no longer work and upgrading to
| libtool 1.5.2 does not help.
|
| The command
|
|    /bin/sh ./libtool --mode=link icpc  -g -O2   -o libfoo.la \
|      -rpath /usr/local/lib -no-undefined foo.lo -lm
|
| is translated into the (incredibly hairy) command
|
|    icpc -shared /usr/lib/crti.o /opt/intel_cc_80/lib/crtxi.o  .libs/foo.o \
|      -L/opt/intel_cc_80/lib -L/usr/lib -limf -lm -lcprts -lcxa -lunwind \
|      -lc -lirc /opt/intel_cc_80/lib/crtxn.o /usr/lib/crtn.o  -Wl,-soname \
|      -Wl,libfoo.so.0 -o .libs/libfoo.so.0.0.0

My bet is that a manual invocation of:

~  icpc -shared .libs/foo.o -lm -Wl,-soname -Wl,libfoo.so.0 \
~    -o .libs/libfoo.so.0.0.0

will work.

It seems that icpc-8.0-x is adding the predep_ and postdep_objects itself,
where icpc-7.1-x did not.  Is there a --version equivalent that can be used
to distinguish the two flavours?

To check my diagnosis, please edit your generated project libtool script,
search down for '# ### BEGIN LIBTOOL TAG CONFIG: CXX' (without the quotes),
and then below that for '# Commands used to build a shared archive.'.  Then
remove '\$predep_objects' and '\$postdep_objects' from the assignments to
archive_cmds and archive_expsym_cmds just below that comment.  Without
reconfiguring (to make sure your libtool edits aren't overwritten) retry
your make command and see whether the shorter link line above is used, and
whether it works.  If it still doesn't compile properly, try again but
remove only '\$predep_objects' from the assignment lines in the CXX tag.

I can commit a proper patch to the development tree based on the results of
the above.

Cheers,
        Gary.
- --
Gary V. Vaughan      ())_.  address@hidden,gnu.org}
Research Scientist   ( '/   http://tkd.kicks-ass.net
GNU Hacker           / )=   http://www.gnu.org/software/libtool
Technical Author   `(_~)_   http://sources.redhat.com/autobook
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFAf+fPFRMICSmD1gYRAiSrAJwJiiBRsy1f7Ml7oBowu9Mc+P7U0wCdHGYy
ZkCJfXC1BecCpnBL0xuVSxQ=
=B27w
-----END PGP SIGNATURE-----




reply via email to

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