Missing libboost_python for python 3.9

Hi, i have the following situtation: at the moment i cannot upgrade ceph-libs from 17.2.6-2 to 17.2.6-3, im getting the following error:

% sudo pamac install ceph-libs

[...]

-- Found Python3: /usr/bin/python3.9 (found suitable exact version "3.9.17") found components: Interpreter Development 
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.13")  
CMake Error at /usr/lib/cmake/Boost-1.81.0/BoostConfig.cmake:141 (find_package):
  Found package configuration file:

    /usr/lib/cmake/boost_python-1.81.0/boost_python-config.cmake

  but it set boost_python_FOUND to FALSE so package "boost_python" is
  considered to be NOT FOUND.  Reason given by package:

  No suitable build variant has been found.

  The following variants have been tried and rejected:

  * libboost_python27.so.1.81.0 (2.7, Boost_PYTHON_VERSION=3.9)

  * libboost_python311.so.1.81.0 (3.11, Boost_PYTHON_VERSION=3.9)

  * libboost_python27.a (2.7, Boost_PYTHON_VERSION=3.9)

  * libboost_python311.a (3.11, Boost_PYTHON_VERSION=3.9)

Call Stack (most recent call first):
  /usr/lib/cmake/Boost-1.81.0/BoostConfig.cmake:262 (boost_find_component)
  cmake/modules/FindBoost.cmake:597 (find_package)
  CMakeLists.txt:625 (find_package)


-- Configuring incomplete, errors occurred!
==> ERROR: A failure occurred in build().
    Aborting...
Finished with result: exit-code
Main processes terminated with: code=exited/status=4
Service runtime: 14.798s
CPU time consumed: 11.440s

so it looks to me like this somehow wants to use boost-python bindings for python 3.9 but i only have 3.11 there. So i downloaded boost and compiled the libs using --with-python=3.9, which did produce the libs as expected. I copied the 3.9 lib and archive next to the 3.11 under /usr/lib/ =>

$ ls -la /usr/lib/libboost_python*
-rw-r--r-- 1 root root 642150 22. Aug 20:22 /usr/lib/libboost_python27.a
lrwxrwxrwx 1 root root     27 22. Aug 20:22 /usr/lib/libboost_python27.so -> libboost_python27.so.1.81.0
-rwxr-xr-x 1 root root 259432 22. Aug 20:22 /usr/lib/libboost_python27.so.1.81.0
-rw-r--r-- 1 root root 685046 17. Jun 15:26 /usr/lib/libboost_python311.a
lrwxrwxrwx 1 root root     28 17. Jun 15:26 /usr/lib/libboost_python311.so -> libboost_python311.so.1.81.0
-rwxr-xr-x 1 root root 255512 23. Aug 14:20 /usr/lib/libboost_python311.so.1.81.0
-rwxr-xr-x 1 root root 255512 23. Aug 14:19 /usr/lib/libboost_python311.so.1.81.0.bak
-rw-r--r-- 1 root root 667032 23. Aug 14:12 /usr/lib/libboost_python39.a
-rwxr-xr-x 1 root root 344112 23. Aug 13:47 /usr/lib/libboost_python39.so
-rwxr-xr-x 1 root root 344112 23. Aug 14:15 /usr/lib/libboost_python39.so.1.81.0
-rwxr-xr-x 1 root root 344112 23. Aug 13:59 /usr/lib/libboost_python39.so.1.83.0
lrwxrwxrwx 1 root root     27 23. Aug 14:18 /usr/lib/libboost_python3.so -> libboost_python39.so.1.81.0
lrwxrwxrwx 1 root root     27 22. Aug 20:22 /usr/lib/libboost_python.so -> libboost_python27.so.1.81.0

But the error still shows up. For fun and profit i also tried forcing python 3.11 by adding

set(Boost_PYTHON_VERSION "3.11")

to /usr/lib/cmake/Boost-1.81.0/BoostConfig.cmake, and that does result in some building, but then i run into weird errors later where it says that cython was not found (but the module is there, even with the python executable from the error message :person_shrugging:

All of this feels very wrong, any ideas what the arch-agnostic way of dealing with this would be?

Cheers!

  • First of all, do not use pamac with sudo. Use it as a regular user β€” it will ask you for a password when necessary. If you use it with sudo things will break.

  • Secondly, the pamac command to install something from the AUR is pamac build, not pamac install β€” install is for packages from the repository only. Also, upgrading/updating an already installed package requires neither build nor install, but simply pamac update.

  • Thirdly, do you really need ceph-libs? That package was dropped from the repository ages ago and was pushed onto the AUR, but it’s unmaintained and broken β€” that’s why it fails to build.

Good question, i assumed that its required by something important, but apparently it was indeed only required by some qemu rbd package. I dropped both and my problems are gone, everything still seems to work :slight_smile:

Thanks for the hints, i usually use the plasma gui for dealing with packages, much appreciated!

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.