From: Christoph Ludwig (cludwig_at_[hidden])
Date: 2004-12-09 05:40:01
On Thu, Dec 09, 2004 at 09:54:08AM +0000, Oliver Kullmann wrote:
> > If so, when you
> > re-ran "bjam install" it won't have rebuilt the libraries, it will just
> > have copied the libraries you had already built (with GCC 3.3) into
> > /usr/local/lib. If this is the case, you should delete the compiled
> > binaries and rebuild.
> I always just delete the old Boost directories.
> To be safe, again(!) I've build gcc 3.4.3 and, then, after this,
> Boost, and (of course) nothing changes.
> The problem is as follows:
> > ls -l /usr/lib/libstdc++.so
> lrwxrwxrwx 1 root root 18 2004-02-11 21:37 /usr/lib/libstdc++.so -> libstdc++.so.5.0.5
> > ls -l /usr/local/lib/libstdc++.so
> lrwxrwxrwx 1 root root 18 2004-12-09 04:42 /usr/local/lib/libstdc++.so -> libstdc++.so.6.0.3
> You see that the gcc installation put libstdc++ into /usr/local/lib, the default place.
> But Boost linked to /usr/lib/libstdc++.so, the old version.
> So it seems to me that the Boost build process is erroneous:
> gcc by default links first to libraries in /usr/local/lib, and then to libraries in /usr/lib
> (to the best of my knowledge).
> This is what one should also expect from the Boost build process, however, somehow it overrides the
> default and links (first) to /usr/lib.
Why don't you log the calls to the compiler and the linker? (E.g.,
`bjam -d2 -sTOOLS=gcc install 2>&1 | tee boost-build.log') If the command line
shows an explicit `-L /usr/lib' then there's certainly a problem.
But I doubt it: I regularly build the Boost libraries (with the default build
system) with gcc 3.4.2 installed in a non-default directory. (The system
compiler is gcc 3.3.1 with libstdc++.so.5 in /usr/lib.) I never experienced
the problems you describe.
-- http://www.informatik.tu-darmstadt.de/TI/Mitarbeiter/cludwig.html LiDIA: http://www.informatik.tu-darmstadt.de/TI/LiDIA/Welcome.html
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk