This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc-3.4.3 and libstdc++.so.(5|6)


Jens MÃller wrote:

I have to use gcc 3.4.3 because I am developing using the LEDA library, and we only have the library for that compiler and no subscription including compiler upgrades :-|

OK.


Well, I am using boost-1.33.1 for libboost_program_options-gcc-mt-d.so.
I got that compiled with gcc34/g++34 (the name of the gcc 3.4 binaries on the system I am using).

This won't work. You will need to compile it with gcc 3.4.3 if you want to link your against the LEDA library.

But when linking with my program, I get [ a libstdc++ version conflict ]


When running the binary, I get a SIGSEGV.


So, my first question on this issue is: Shouldn't gcc normally have the paths to its C++ stdlib hard-coded into the binary?

No. It is possible to do this, but in general it's a really bad idea.


And what is the libstdc++ version used in gcc 3.4.3?

I don't really understand what's happing here ...

I do. You are trying to link against a binary that has been linked against an incompatible version of libstdc++.

You can't link a single program against two versions of libstdc++.  Your
best bet is to have two programs, communicating through shared files or
pipes.

Andrew.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]