[pkg-boost-devel] Bug#549467: libboost1.40-dev: cmake doesn't find static boost libraries
Jiří Paleček
jpalecek at web.de
Sat Oct 3 16:02:44 UTC 2009
Package: libboost1.40-dev
Version: 1.40.0-1
Severity: normal
Hello,
this seems to be a leftover from the #541133 fix. The problem was that
linking with -lboost_something_-mt didn't work, because the -st libraries
were abandoned in favor of the -mt, which lost their -mt suffix. The fix
was adding symlinks in the form
libboost_something_-mt.so -> libboost_something_.so
However, this only partially fixes the problem, because the symlink is
only made for dynamic libraries, static versions still lack their -mt
counterpart. This results in the following problems:
- Link with -lboost_xxx_-mt still fails if you're linking statically.
- CMAKE won't find any static libraries when using Boost_USE_STATIC_LIBS.
This is because when searching for a library, CMAKE finds libboost_xxx.so,
libboost_xxx-mt.so and libboost_xxx.a and considers the -mt.so the best
match because of the -mt suffix (libboost_xxx-mt.a would be a better
match, but it is missing)
Unfortunately, we have libraries in boost which have different semantics
when linked statically/dynamically (Boost.Test). Therefore, I'd like
having it fixed.
It could be fixed by several ways
- linking static libraries the same way as dynamic ones. I think this
would be the best, because it's consistent with the #541133 fix.
- dropping any support for linking with the -mt libraries from CMAKE
(since Debian doesn't maintain the -st/-mt distinction, it wouldn't matter
much). However, this would only solve the CMAKE issue.
Regards
Jiri Palecek
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.27-test-pcw (SMP w/1 CPU core; PREEMPT)
Locale: LANG=cs_CZ, LC_CTYPE=cs_CZ (charmap=ISO-8859-2)
Shell: /bin/sh linked to /bin/dash
Versions of packages libboost1.40-dev depends on:
ii libc6 2.9-12 GNU C Library: Shared
libraries
ii libgcc1 1:4.4.0-5 GCC support library
ii libicu42 4.2.1-3 International Components for
Unico
ii libstdc++6 4.4.0-5 The GNU Standard C++ Library
v3
ii libstdc++6-4.1-dev [libstdc++ 4.1.2-22 The GNU Standard C++ Library
v3 (d
ii libstdc++6-4.2-dev [libstdc++ 4.2.4-1 The GNU Standard C++ Library
v3 (d
ii libstdc++6-4.3-dev [libstdc++ 4.3.3-10 The GNU Standard C++ Library
v3 (d
libboost1.40-dev recommends no packages.
Versions of packages libboost1.40-dev suggests:
pn default-jdk <none> (no description available)
ii docbook-xml 4.5-4 standard XML documentation
system,
ii docbook-xsl 1.72.0.dfsg.1-1 stylesheets for processing
DocBook
ii doxygen 1.5.9-1 Documentation system for C,
C++, J
pn fop <none> (no description available)
pn libboost-date-time1.40-d <none> (no description available)
pn libboost-filesystem1.40- <none> (no description available)
ii libboost-graph1.40-dev 1.40.0-1 generic graph components and
algor
pn libboost-iostreams1.40-d <none> (no description available)
pn libboost-math1.40-dev <none> (no description available)
pn libboost-mpi1.40-dev <none> (no description available)
ii libboost-program-options 1.40.0-1 program options library for
C++
pn libboost-python1.40-dev <none> (no description available)
pn libboost-regex1.40-dev <none> (no description available)
ii libboost-serialization1. 1.40.0-1 serialization library for C++
pn libboost-signals1.40-dev <none> (no description available)
pn libboost-system1.40-dev <none> (no description available)
ii libboost-test1.40-dev 1.40.0-1 components for writing and
executi
pn libboost-thread1.40-dev <none> (no description available)
pn libboost-wave1.40-dev <none> (no description available)
pn libboost1.40-doc <none> (no description available)
ii xsltproc 1.1.24-2 XSLT command line processor
-- no debconf information
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
More information about the pkg-boost-devel
mailing list