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
(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
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
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!
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.
I see. Thanks.