From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-09-04 04:04:51
> I'm getting the subject line error with g++. Could someone
> explain how to avoid this? AFAICT, the relevant directories
> and their contents are:
> /usr/lib/libstdc++.so doesn't exist.
> /usr/lib/libstdc++.so.6 doesn't exist.
> /usr/local/lib/libstdc++.so -> /usr/local/lib/libstdc++.so.6.0.0
> /usr/local/lib/libstdc++.so.6 -> /usr/local/lib/libstdc++.so.6.0.0
> permissions on the library are:
> -rwxr-xr-x ... libstdc++.so.6.0.0
> However, in ~/user-config.jam, there's:
> using gcc : : "/usr/local/gcc-3.4.1/bin/g++" ;
> and in /usr/local/gcc-3.4.1/lib, there's:
> libstdc++.so.6 -> libstdc++.so.6.0.1
> -rwxr-xr-x ... libstdc++.so.6.0.1
> Since all the existing so.6 files are "read-all", I don't understand
> why bjam --v2 gives me the above errors. The link command printed
> when bjam --v2 -d4 was run gave:
> "/usr/local/gcc-3.4.1/bin/g++" -g -o
Did you try to run this command by hand? Is the error is still there, then the
problem is in your installation (from the path, I presume you've installed
this gcc yourself).
I don't have any specific ideas. What you can do, however, is run add "-v"
option to gcc. It will print the linker invocation command. After that, you
strace -o log -f <linker-invocation-command>
the 'log' file will contain all the system calls made by the linker frontend
('collect2') and the linker itself. Look for libstdc++ in those outputs. If
the linker never tries to open /usr/local/lib/libstdc++.so, then maybe it
does not know that it should look in /usr/local/lib and tweaking some env
vars (e.g. LIBRARY_PATH) is needed. Take a look at the linker docs to figure
out what variables it need.
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk