libtool
[Top][All Lists]
Advanced

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

Re: libtool/ltmain linking wrong stdc++


From: Taj Morton
Subject: Re: libtool/ltmain linking wrong stdc++
Date: Mon, 9 Oct 2006 22:30:17 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de> writes:
> 
> * Taj Morton wrote on Mon, Oct 09, 2006 at 06:38:10PM CEST:
> > Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de> writes:
> > 
> > > Please rerun the link command with --debug and without --silent:
> > >   /bin/sh ../../../libtool --debug --tag=CXX --mode=link ... >log 2>&1
> > >   gzip -9 log
> > http://wildgardenseed.com/Taj/libtool-log
> 
> Your /opt/kde/lib/libkdecore.la is listing /usr/lib/libstdc++.la
> This pulls in /usr/lib/libstdc++.so.
Ah! That's it! Thanks!

> 
> Then you can install that library, and use it.  Or if you are
> all-powerful on this system, and you are dead certain that the
> kdecore library was linked against a libstdc++ compatible with
> the one in /opt/gcc-.../, then you can try to edit the file
> /opt/kde/lib/libkdecore.la to match this.  If I were you, I'd
> undo this quickly after using it, and anyway you get to keep the
> pieces if anything breaks.
Actually, kdecore was NOT linked against libstdc++ in /opt/gcc, it was linked
against the one in /usr. The only reason I'm doing this is to build binaries
that are compatible with systems both g++-3.2/3.3 and g++-3.4/4.0 systems. I'm
compiling separate binaries with the different compilers. I'm using Autopackage
(http://www.autopackage.org) which has support for this kind of thing. The way
it works:
1. Compile first with CXX=gcc-3.2/3.3.
2. Make clean and compile again with CXX=gcc-3.4/4.0.
3. Diff the C++ binaries and make binary deltas against them.
4. When arriving on the target system, patch binaries if needed and install
correct files.

Steps 3 and 4 work fine, it's 1`and 2 that I'm having problems with. Is there
some way I can force libtool first search the compilers path (dirname `g++
-print-file-name=libstdc++.la`?) for $post_deps? I figured out how to make it
search for normal libs, but not post_deps. I don't really have a problem with
sedding libtool after ./configure or anything...

> Generatlly, you should not link against libraries using two different,
> incompatible libstdc++ at the same time.
Yeah, it's a bad idea. I'm not talking about /running/ libraries that link
against both libstdc++, just compiling them. When they are run, they will only
have one libstdc++ linked in.

Thanks for your help,
Taj





reply via email to

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