libtool
[Top][All Lists]
Advanced

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

Re: g++ is not used by libtool


From: Ralf Wildenhues
Subject: Re: g++ is not used by libtool
Date: Tue, 7 Jun 2005 21:31:43 +0200
User-agent: Mutt/1.5.9i

Hi Christoph,

* Christoph Bartoschek wrote on Tue, Jun 07, 2005 at 08:57:26PM CEST:
> 
> I'm trying to compile fam-2.6.10 from 
> ftp://oss.sgi.com/projects/fam/download/stable/fam-2.6.10.tar.gz
> 
> The problem is that fam is a C++ library and libtool is not capable of C++.  

Libtool /is/ capable of C++.

> /bin/sh ../libtool --mode=link g++  -g -O2   -o libfam.la 
> -rpath /usr/local/lib -export-symbols fam.sym Client.lo fam.lo -lstdc++
> 
> libtool translates this to several commands and this one:
> 
> gcc -shared  Client.lo fam.lo  /usr/lib/libstdc++.so  -Wl,-soname 
> -Wl,libfam.so.0 -Wl,-retain-symbols-file -Wl,fam.sym 
> -o .libs/libfam.so.0.0.0
> 
> Why is not g++ called?  Why is /usr/lib/libstdc++.so added to the command 
> line?   The correct command line would be:

Several issues:
First, the libtool that ships with the tarball is *ancient* (1.4, four
years old).  Tell them to update to a recent one.
Second, at the time that libtool was current, it was actually deemed
safer bet to link with gcc and add libstdc++ manually than link with
g++.  (Maybe the latter was even impossible, I don't know -- at the time
of libtool-1.4 I did not have anything to do with it yet).

> How can I achieve that  g++ is called and not gcc?  And how to get rid 
> of  /usr/lib/libstdc++.so correctly?

Tell the maintainers of that package to use an up to date libtool.
Or update it yourself (1.5.18 is recent, you need to re-libtoolize
for ltmain.sh and get aclocal to include the corresponding libtool.m4
into aclocal.m4).

> I've found the line
> 
> libfam_la_LIBADD = -lstdc++ 
> in Makefile.in.

Delete that line.  And while you're at it, replace AM_PROG_LIBTOOL with
AC_PROG_LIBTOOL in configure.in.

After all of this you should be set.  Well, you won't, because the rest
of the package is as unmaintained as the build infrastructure (the C++
standard conformance is rather, um, could be better).  Are you sure
there is not a more recent version of this package?

Regards,
Ralf




reply via email to

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