Re: [SLE] libstdc++v3 and libstdc++ 2.95 side by side
On Thursday 03 January 2002 22:48, Jesse Marlin wrote:
David List writes:
Is it possible to have libstdc++v3 and libstdc++ 2.95 installed side by side on a SuSE Linux 7.3 system without breaking anything?
I think this should be possible. But you want to install somewhere it cannot be easily found, for example /usr/local/libstdc++v3. I think you may have problems if you do not also install gcc v3.0 as well though. You would want to install this somewhere that will not found easily as well, /usr/local/gcc-3.0.x. For development you can make allowances for arkward locations. If for example you wanted to use the gcc v3.0 compiler instead of the gcc v2.95.3 you could add the path to your ~/.profile, so that it finds the right binary first, so the same for libraries:
export PATH=/usr/local/gcc-3.0.x/bin:$PATH export LD_LIBRARY_PATH=/usr/local/libstdc++v3/lib:$LD_LIBRARY_PATH
I don't know how clear this is, let me know if it is confusing. The bottom line is it should not matter installing development stuff as long as you keep it out of the usual locations (/usr/bin; /usr/lib; /usr/local/bin; /usr/local/lib), that way it won't interfere with any already installed libraries/binaries, unless you want it to. Most of the 'configure' scripts allow you to set --prefix indicating the prefix where the stuff is to be installed. Type ./configure --help to show all the allowable arguments.
Are there any sources describing how to do this anywhere? I also need some help installing a new libstdc++ library at all, since I don't find the docs included in the libstdc++ tar.gz file very helpful.
Like I mentioned earlier, I think you would want to install gcc v3.0.x first, because I suspect that libstdc++v3 depends on it. I might be wrong. You might try http://gcc.gnu.org for some more info. Hope this helps.
I suddenly got a hunch and looked into the SuSE 7.3 packages and saw that there was a gcc3.0 package (including g++) that installs into /opt/experimental. Fine with me. I did as you suggested, and put these two lines into my ~/.profile: export PATH=/opt/experimental/bin:$PATH export LD_LIBRARY_PATH=/opt/experimental/lib:$LD_LIBRARY_PATH It worked. Now using namespace std::rel_ops works as it should according to the standard, but there still seems to be quirks standard-wise yet to be solved. Thank you for your answer. Best regards, David List
participants (1)
-
David List