libstdc++.so.5 vs libstdc++.so.6
danny payton
dannyx.payton@gmail.com
Sun Jan 18 20:39:00 GMT 2009
Axel Freyn wrote:
> You can just install different versions of gcc in parallel
> on the same Linux box, and the compile using
> libstdc++.so.5 and libstdc++.so.6 on the same machine.
>
> Another possibility is that you distribute the adequate version of
> libstdc++.so together with your compiled programm, and use the
> environment-variable LD_LIBRARY_PATH to tell the linker where to find
> the library. E.g using bash, the command
> LD_LIBRARY_PATH=./lib ./program
> will execute the program "program", and search (in addition to the
> default locations) in the directory ./lib for libraries. If you store
> there libstdc++.so.6, it should work on all machines.
Very interesting! Potentially this solves my problem.
So I would just distribute three versions of the library:
1) Mac OS X
2) Linux ia32 (together with libstdc++.so.5 from old RedHat)
3) Linux amd64 (together with libstdc++.so.5 from old RedHat)
Regardless of whether the user already have libstdc++.so.5,
it sounds like setting LD_LIBRARY_PATH would make this idea work.
Hmm, how about kernel version number? If I just grab libstdc++.so.5
from one of the older Linux distro, would it be guaranteed to work
even for users with newer Kernel versions?
Thanks!
More information about the Gcc-help
mailing list