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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux