Bug 1253049 - Package boost-python3 doesn't create a .so symlink
Package boost-python3 doesn't create a .so symlink
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: boost (Show other bugs)
22
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Jonathan Wakely
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-12 16:10 EDT by Al-Scandar Solstag
Modified: 2015-08-14 11:49 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-08-13 12:37:47 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Al-Scandar Solstag 2015-08-12 16:10:37 EDT
Description of problem:

boost-python3 creates the .so-X with version appended, but does not create a link like: /usr/lib64/libboost_python3.so

Because of this, many build scripts fail to find the library, forcing the user to create the symlink by hand.

It should be noted that boost-python (python2) does create the respective link: /usr/lib64/libboost_python.so

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

I'm seeing this with 1.57

Steps to Reproduce:
1. Install the package
2. Check that the link is missing
Comment 1 Jonathan Wakely 2015-08-13 12:37:47 EDT
(In reply to Al-Scandar Solstag from comment #0)
> Description of problem:
> 
> boost-python3 creates the .so-X with version appended, but does not create a
> link like: /usr/lib64/libboost_python3.so

The .so symlinks are never provided by the package that installs the DSO, they are provided by the -devel package, because you only need them in order to link applications, not to run them.


 
> Because of this, many build scripts fail to find the library, forcing the
> user to create the symlink by hand.

Don't do that, just install the correct package to get the symlink, which you can find out like so:

$ dnf whatprovides /usr/lib64/libboost_python3.so
Last metadata expiration check performed 1:22:28 ago on Thu Aug 13 16:12:17 2015.
boost-python3-devel-1.57.0-6.fc22.x86_64 : Shared object symbolic links for Boost.Python 3
Repo        : fedora

So you need to install boost-python3-devel, and RPM packages that need the symlink should have BuildRequires: boost-python3-devel.


> It should be noted that boost-python (python2) does create the respective
> link: /usr/lib64/libboost_python.so

No it doesn't, that comes from boost-devel, as the packaging guidelines require.


$ dnf whatprovides /usr/lib64/libboost_python.so
Last metadata expiration check performed 1:21:57 ago on Thu Aug 13 16:12:17 2015.
boost-devel-1.57.0-6.fc22.x86_64 : The Boost C++ headers and shared development
                                 : libraries
Repo        : @System

boost-devel-1.57.0-6.fc22.x86_64 : The Boost C++ headers and shared development
                                 : libraries
Repo        : fedora
Comment 2 Jonathan Wakely 2015-08-13 12:38:34 EDT
A simpler way to check which package installed the existing symlink is:

$ rpm -qf  /usr/lib64/libboost_python.so
boost-devel-1.57.0-6.fc22.x86_64
Comment 3 Al-Scandar Solstag 2015-08-13 12:54:08 EDT
Ok, sorry for the NOTABUG,

I understand now, and thank you for the very complete reply! =)

But I'm curious why doesn't boost-devel provide libboost-python3.so?

Again, thanks!
Comment 4 Jonathan Wakely 2015-08-14 06:26:19 EDT
If boost-devel installed that symlink then it would also have to install boost-python3, which would also have to install the full python3 environment.

With the current separation it is possible to install only boost-python, and build programs using boost-python with Python 2.7, without installing python3 if you don't want it.

The met-package 'boost' doesn't install boost-python3, and similarly boost-devel doesn't install boost-python3-devel.
Comment 5 Al-Scandar Solstag 2015-08-14 11:49:45 EDT
I see. Thanks.

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