How can I know if libraries are old?

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

 



I've got some code built on Solaris with gcc 4.5.0. It is linked against the library

/usr/local/gcc-4.5.0/lib/libstdc++.so.6

Solaris ships with gcc 3.4.3 - i.e. much older. Now when I create a binary, and pass that to someone else (or even if run on the same computer with a different linker search path I get a problem. Instead of the binary linking against the gcc 4.5.0 version of the library, it uses

 /usr/lib/libstdc++.so.6

For 99% of things, using the older library does not actually cause a problem, but for one program it does, and results in and error message:

RuntimeError: ld.so.1: gfan: fatal: relocation error: file /export/home/test/sage-4.6.alpha3/local/bin/gfan: symbol _ZNSt15_List_node_base7_M_hookEPS_: referenced symbol not found


Is there a way I can see what c++ library someone has, and determine if it's older than the one I built the program with? If so, they need to get a more recent library and have that in their linker search path before the old one.

dave


[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