
On Tue, Dec 07, 2004 at 04:56:02PM +0000, Oliver Kullmann wrote:
Hi Jeff,
3) I'm using g++ version 3.4.3, and I compiled Boost with this compiler, but to whatever library from Boost I link, I get warning messages like the above; another example
g++ calender.o -lboost_date_time-gcc /usr/bin/ld: warning: libstdc++.so.5, needed by /usr/local/lib/gcc/i686-pc-linux- gnu/3.4.3/../../../libboost_date_time-gcc.so, may conflict with libstdc++.so.6
Looks to me that there is a mismatch in the environment -- you are compiling boost with one version of libstdc++ and then linking against another.
What's the problem here?! (Linking in general seems in Boost not so easy, and thus it would be good to have a bit more documentation on this. For example in program_options I couldn't find any hint how to compile it.)
Hope someone can shed light on these issues (as I said, for all what I can see, there seems to be a serious problem with program_options).
Have you read this?
http://www.boost.org/more/getting_started.html#Build_Install
yes, I read it, but the main question seems to me:
What happens if Boost was already installed on the system? Is some form of "uninstall" necessary? (seems not to be the case?!)
Could this be the problem here?!
To be on the safe side, I've built Boost again, but exactly the same problem: Always the linker warnings, and every program crashes (so it had nothing to do with the program_options library; fortunately it always crashes immediately, so the problem is always visible). Below I've copied the relevant build commands and other information. [snip] The linking warning:
g++ -c -o TimeHandling_Applications_DaysDifference.o TimeHandling_Applications_DaysDifference.cpp g++ -o TimeHandling_Applications_DaysDifference TimeHandling_Applications_DaysDifference.o -lboost_date_time-gcc /usr/bin/ld: warning: libstdc++.so.5, needed by /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../libboost_date_time-gcc.so, may conflict with libstdc++.so.6
The warning clearly says that libboost_date_time-gcc.so requires libstdc++.so.5 - that means you compiled Boost with GCC 3.3 Try running "ldd /usr/local/lib/libboost_date_time-gcc.so" and see which version of libstdc++ it requires (it will say libstdc++.so.5) Did you build Boost before upgrading your compiler? If so, when you re-ran "bjam install" it won't have rebuilt the libraries, it will just have copied the libraries you had already built (with GCC 3.3) into /usr/local/lib. If this is the case, you should delete the compiled binaries and rebuild. jon -- "I have had my results for a long time, but I do not yet know how I am to arrive at them." - Karl Friedrich Gauss