Boost logo

Boost :

From: Pavithra Raghavendran (pavithra.raghavendran_at_[hidden])
Date: 2025-04-22 09:44:49


Hi Team

We are writing this mail requesting your assistance for boost related issue which we are facing while migrating from Oracle Linux 8 (OL8) to Oracle Linux 9 (OL9) OS.

Issue Description: When we try to upgrade the OS from OL8 to OL9, we are seeing errors related to boost version 1.66.0 and the RPM which was already successfully installed on OL8 is getting removed.

Note: On OL8 OS, the available version of boost from yum is boost-1.66.0 & on OL9 OS, the available version of boost from yum is boost-1.75.0.

Brief:
Our application RPM is compiled on an OL8 machine(development machine) and is dependent on boost library (linked dynamically).
When we install this RPM on another OL8 machine(test machine), the RPM installation is successful. This is because the boost version in our RPM and the test OL8 machine matches i.e. both require boost-1.66.0.
However, when we upgrade the OS from OL8 to OL9, the application RPM is getting removed with the errors as shown below. This is because OL9 has boost-1.75.0 libraries but our RPM has boost libraries which is dynamically linked with boost-1.66.0.
[root_at_vm227-66-vm5 ~]# dnf install ocsm-6.0.0.0.0-608.x86_64.rpm
Last metadata expiration check: 0:13:25 ago on Tue 25 Mar 2025 12:25:18 PM CET.
Error:
 Problem: conflicting requests
  - nothing provides libboost_filesystem.so.1.66.0()(64bit) needed by ocsm-6.0.0.0.0-608.x86_64 from @commandline
  - nothing provides libboost_program_options.so.1.66.0()(64bit) needed by ocsm-6.0.0.0.0-608.x86_64 from @commandline
  - nothing provides libboost_regex.so.1.66.0()(64bit) needed by ocsm-6.0.0.0.0-608.x86_64 from @commandline
  - nothing provides libboost_system.so.1.66.0()(64bit) needed by ocsm-6.0.0.0.0-608.x86_64 from @commandline

Analysis:
To simulate this above scenario, we have written a very simple sample program using the boost library and compiled the code on OL8 OS and linked dynamically with boost version 1.66.0.
Once RPM is ready, we installed it on an OL8 virtual machine. Installation is successful because our compiled RPM has boost-1.66.0 libraries(libboost_program_options.so.1.66.0) and OL8 supported version of boost is also 1.66.0.
Now, when we upgrade the OS from OL8 to OL9, the default boost available on OL9 is boost-1.75.0, and since our RPM is linked with boost-1.66.0 libraries, installation is failing with the below errors (similar to the application errors mentioned in Brief section).

[root_at_localhost ~]# sudo dnf install boost_demo-1.0.0-1.el8.x86_64.rpm
Last metadata expiration check: 0:23:05 ago on Mon 21 Apr 2025 01:00:57 PM CEST.
Error:
Problem: conflicting requests
- nothing provides libboost_program_options.so.1.66.0()(64bit) needed by boost_demo-1.0.0-1.el8.x86_64 from @commandline
- nothing provides libboost_system.so.1.66.0()(64bit) needed by boost_demo-1.0.0-1.el8.x86_64 from @commandlin

In our application, we have not linked to any specific version of boost dependency i.e. we have nowhere mentioned the version of boost to be used as 1.66.0.
Since OL8 yum repo has boost-1.66.0, our application is considering version 1.66.0 while building RPM.
However, while migrating from OL8 to OL9 we are seeing the above-mentioned issue and hence we are unable to complete the upgradation process which is crucial to our customers.

Query: Can you please let us know how we can ensure that the OS gets upgraded from OL8 to OL9, without application RPM(linked dynamically to boost-.1.66.0) being removed.

Thanks
Pavithra


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk