On Sun, 4 Sep 2011, Oliver Kullmann wrote:
Hello,
we have some legacy code, which after a change of system no longer runs:
The new system is Boost 1.44.0 under Linux (Suse 11.4 for the record), but compiling with gcc version 4.1.2.
uname -a Linux csnereid 2.6.37.1-1.2-desktop #1 SMP PREEMPT 2011-02-21 10:34:10 +0100 i686 i686 i386 GNU/Linux
We have a simple application which reads a graph-file and performs a simple computation. It links to libboost_graph. Apparently that draws in the libboost_regex, but that used to work: On the older installation (Suse 10.0 for the record) we had for the application
ldd Application libboost_graph.so.1.44.0 => /home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Boost/4.1.2/1_44_0/lib/libboost_graph.so.1.44.0 (0x00002aaaaabc2000) libboost_regex.so.1.44.0 => /home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Boost/4.1.2/1_44_0/lib/libboost_regex.so.1.44.0 (0x00002aaaab6f5000)
and we see that at that time, also with Boost 1.44.0, linking was established to the local Boost installation, the same for libboost_graph and libboost_regex.
However, now this implicit addition of the regex-link-library (which is managed by the Graph-library itself, not visible to the user --- I can't find the boost-regex-library anywhere mentioned in the Boost-Graph-documentation) does not work anymore --- if there is a system-wide Boost installation, it uses that, and otherwise it breaks:
libboost_graph.so.1.44.0 => /home/csoliver/OKplatform/ExternalSources/Installations/Boost/4.1.2/1_44_0/lib/libboost_graph.so.1.44.0 (0x00007f8170fbe000) libboost_regex.so.1.44.0 => /usr/lib64/libboost_regex.so.1.44.0 (0x00007f81701c1000)
libboost_graph.so.1.44.0 => /compsci/saturn/staff/csoliver/OKplatform/ExternalSources/Installations/Boost/4.1.2/1_44_0/lib/libboost_graph.so.1.44.0 (0xb7774000) libboost_regex.so.1.44.0 => not found
I guess linking explicitly to libboost_regex would solve the problem, but that's under the circumstances not so easy to do, and furthermore something seems wrong here, and I would like to know what (it shouldn't be needed to link to libboost_regex, or, if so, then it should be documented).
You will need to do that link explicitly if you are using the Graphviz reader or writer. I have just added this to the documentation in the trunk. -- Jeremiah Willcock