Bug 250802 - Missing libboost_thread.so symlink
Missing libboost_thread.so symlink
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: boost (Show other bugs)
rawhide
All Linux
high Severity urgent
: ---
: ---
Assigned To: Benjamin Kosnik
Fedora Extras Quality Assurance
: Patch
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-08-03 14:16 EDT by Braden McDaniel
Modified: 2013-08-09 01:48 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-08-21 11:57:40 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Patch to build only the multithreaded variant of the boost libraries (2.63 KB, patch)
2007-08-12 16:53 EDT, Braden McDaniel
no flags Details | Diff

  None (edit)
Description Braden McDaniel 2007-08-03 14:16:35 EDT
Description of problem:
I can no longer build openvrml since boost was upgraded in devel. There appears
to be some problem using libboost_thread.

Version-Release number of selected component (if applicable):
1.34.1-2

Additional info:
The following configure test is failing:

  LIBS="-lboost_thread$BOOST_LIB_SUFFIX $LIBS"
  AC_LANG_PUSH([C++])
  AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <boost/thread.hpp>]],                 
                                  [[boost::thread t]])],
                 [ov_cv_boost_thread=yes])
  AC_LANG_POP

BOOST_LIB_SUFFIX is empty.

Unfortunately, I don't know how to see config.log from koji builds (or if that's
even possible).
Comment 1 Braden McDaniel 2007-08-03 17:37:20 EDT
It looks like the libboost-thread.so symlink is missing.
Comment 2 Braden McDaniel 2007-08-03 17:45:54 EDT
er, libboost_thread.so, that is.
Comment 3 Mamoru TASAKA 2007-08-11 20:30:24 EDT
It looks like libboost_thread.so is renamed to
libboost_thread-mt.so (perhaps due to multithread support??)
like libqt.so -> libqt-mt.so, so perhaps you have to specify
$BOOST_LIB_SUFFIX as -mt.

A example is:
https://www.redhat.com/archives/fedora-extras-commits/2007-August/msg00918.html
Comment 4 Braden McDaniel 2007-08-12 00:08:05 EDT
That would work for openvrml; since, fortunately, openvrml provides a mechansim
to apply a suffix to the library name. However, it should not be necessary.

The presence or absence of "-mt" in the symlink name really has nothing to do
with the presence of thread support (for the purposes of the Fedora package). It
seems every shared library *except* libboost_thread has two symlinks in the
boost-devel package: one with "-mt" and one without. These symlinks point to the
same binary--which was built with threading support.

So the absence of a libboost_thread.so symlink is both an aberration within the
package as well as a change from the previous boost release package.
Comment 5 Braden McDaniel 2007-08-12 12:52:06 EDT
It looks like I was mistaken; the non-"-mt" version is not a symlink. Rather, it
looks like versions of the libraries both with and without threading support are
getting built.

Is this deliberate? It seems inappropriate. It is certainly a departure from the
boost 1.33.1 package.
Comment 6 Braden McDaniel 2007-08-12 16:53:42 EDT
Created attachment 161145 [details]
Patch to build only the multithreaded variant of the boost libraries

It's not yet clear to me if building the non-thread-safe variant of the
libraries is deliberate and perceived as desirable. But assuming it's not,
here's a patch that builds only the thread-safe variant. Additionally, this
patch omits the -mt suffix from the library names.

And just for fun, it applies _smp_mflags, too.
Comment 7 Benjamin Kosnik 2007-08-21 11:49:09 EDT
There has been a deliberate change of behavior with the boost-1.34.1.x packages,
that is different than the previous boost packages.

If you need a boost library linked into a multi-threaded app (ie, if the compile
line uses -pthread), you have to use the -mt versions. Thus, you should set
BOOST_LIB_SUFFIX, as above.

For the boost threads lib, there is no "single thread" variant, so there is no
libboost_thread.so at all, only libboost_thread-mt.so.

-benjamin

Note You need to log in before you can comment on or make changes to this bug.