
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. Regards Christoph -- http://www.informatik.tu-darmstadt.de/TI/Mitarbeiter/cludwig.html LiDIA: http://www.informatik.tu-darmstadt.de/TI/LiDIA/Welcome.html