Missing dependency OpenMW

Dear all,

We all have this one game we always come back to. For me it’s Morrowind. However I have problems coming back to it on OpenSUSE, because I’m having trouble installing the package. See:

~] sudo zypper install openmw 
[sudo] password for root:  
Loading repository data... 
Reading installed packages... 
Resolving package dependencies... 
 
Problem: nothing provides libboost_filesystem.so.1.71.0()(64bit) needed by openmw-0.46.0-21.1.x86_64 
 Solution 1: do not install openmw-0.46.0-21.1.x86_64 
 Solution 2: break openmw-0.46.0-21.1.x86_64 by ignoring some of its dependencies 
 
Choose from above solutions by number or cancel [1/2/c/d/?] (c): 2 
Resolving dependencies... 
Resolving package dependencies... 
 
The following NEW package is going to be installed: 
  openmw 
 
1 new package to install. 
Overall download size: 6.1 MiB. Already cached: 0 B. After the operation, additional 
20.0 MiB will be used. 
Continue? [y/n/v/...? shows all options] (y):  
Retrieving package openmw-0.46.0-21.1.x86_64     (1/1),   6.1 MiB ( 20.0 MiB unpacked) 
Retrieving: openmw-0.46.0-21.1.x86_64.rpm ..........................[done (2.8 MiB/s)] 
 
Checking for file conflicts: ...................................................[done] 
(1/1) Installing: openmw-0.46.0-21.1.x86_64 ....................................[done] 
~] openmw 
openmw: error while loading shared libraries: libboost_filesystem.so.1.71.0: cannot open shared object file: No such file or directory

Should I file this as a bug, or is there a solution? Not sure, I’m new to OpenSUSE. :slight_smile: I’m installing it from the ‘games’ repository, after having similar problems in the ordinary repo.

Thanks!

TW currently has libboost* 1.74

openmw at present is not building for TW at either “games” or “factory”

https://build.opensuse.org/package/show/games/openmw
https://build.opensuse.org/package/show/openSUSE:Factory/openmw

So yes, either a bug report or contact the maintainer.

Cheers! Filed a bug.

I was feeling brave and tried to solve this myself by changing the dependency in the openmw.spec from:


 5-BuildRequires:  libboost_filesystem-devel

to

 5-BuildRequires:  libboost_filesystem1_74_0

However, that gives me the following error(s) when trying to build the package:


  150s] CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:1187 (message):
  150s]   New Boost version may have incorrect or missing dependencies and imported
  150s]   targets
  150s] Call Stack (most recent call first):
  150s]   /usr/share/cmake/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
  150s]   /usr/share/cmake/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
  150s]   CMakeLists.txt:319 (find_package)
  150s] 
  150s] 
  150s] CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:1187 (message):
  150s]   New Boost version may have incorrect or missing dependencies and imported
  150s]   targets
  150s] Call Stack (most recent call first):
  150s]   /usr/share/cmake/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
  150s]   /usr/share/cmake/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
  150s]   CMakeLists.txt:319 (find_package)
  150s] 
  150s] 
  150s] CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:1187 (message):
  150s]   New Boost version may have incorrect or missing dependencies and imported
  150s]   targets
  150s] Call Stack (most recent call first):
  150s]   /usr/share/cmake/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
  150s]   /usr/share/cmake/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
  150s]   CMakeLists.txt:319 (find_package)
  150s] 
  150s] 
  150s] CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:1187 (message):
  150s]   New Boost version may have incorrect or missing dependencies and imported
  150s]   targets
  150s] Call Stack (most recent call first):
  150s]   /usr/share/cmake/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
  150s]   /usr/share/cmake/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
  150s]   CMakeLists.txt:319 (find_package)
  150s] 
  150s] 
  150s] CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:1187 (message):
  150s]   New Boost version may have incorrect or missing dependencies and imported
  150s]   targets
  150s] Call Stack (most recent call first):
  150s]   /usr/share/cmake/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
  150s]   /usr/share/cmake/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
  150s]   CMakeLists.txt:319 (find_package)
  150s] 
  150s] 
  150s] CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
  150s]   Could NOT find Boost (missing: filesystem) (found version "1.74.0")
  150s] Call Stack (most recent call first):
  150s]   /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
  150s]   /usr/share/cmake/Modules/FindBoost.cmake:2177 (find_package_handle_standard_args)
  150s]   CMakeLists.txt:319 (find_package)
  150s] 
  150s] 
  150s] -- Configuring incomplete, errors occurred!

Perhaps anyone here can see what’s going wrong?

I think, there is also a dependency in the cmake-file of the sources.
You have to patch it.

Hm, yes that must be it. Just can’t seem to find the reference to the dependency… :frowning:

Have you just tried installing the newer version in the TW repo, then running openmw to see if it works?
Depending on internal code, you may not see a problem.
That’s because AFAik libboost does not require compiling, so may “just work.”

TSU

BTW - Is still in a couple of private repos for 15.1, 15.2.
If you download and install the package and don’t add the repository, I’d guess that using either of these would probably be OK and shouldn’t affect other apps on your system (although YMMV) and AFAIK isn’t used in any core OS functions.

If you’re on BTRFS, this is one of those things that can be undone without a trace by rolling back if a regular uninstall doesn’t remove it completely.

https://software.opensuse.org/package/libboost_filesystem1_71_0

TSU

Hi
The actual error is regex missing, install libboost_regex-devel, but there is a build error which indicates algorithm is missing…


   82s] In file included from /home/abuild/rpmbuild/BUILD/openmw-openmw-0.46.0/components/detournavigator/makenavmesh.hpp:4,
   82s]                  from /home/abuild/rpmbuild/BUILD/openmw-openmw-0.46.0/components/detournavigator/makenavmesh.cpp:1:
   82s] /home/abuild/rpmbuild/BUILD/openmw-openmw-0.46.0/components/detournavigator/offmeshconnectionsmanager.hpp: In member function 'std::vector<DetourNavigator::OffMeshConnection> DetourNavigator::OffMeshConnectionsManager::get(const TilePosition&)':
   82s] /home/abuild/rpmbuild/BUILD/openmw-openmw-0.46.0/components/detournavigator/offmeshconnectionsmanager.hpp:84:18: error: 'for_each' is not a member of 'std'
   82s]    84 |             std::for_each(itByTilePosition->second.begin(), itByTilePosition->second.end(),
   82s]       |                  ^~~~~~~~
   82s] make[2]: *** [components/CMakeFiles/components.dir/build.make:3110: components/CMakeFiles/components.dir/detournavigator/makenavmesh.cpp.o] Error 1
   82s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/openmw-openmw-0.46.0/build'
   82s] make[2]: *** Waiting for unfinished jobs....


diff -Naur a/openmw-openmw-0.46.0/components/detournavigator/offmeshconnectionsmanager.hpp b/openmw-openmw-0.46.0/components/detournavigator/offmeshconnectionsmanager.hpp
--- a/openmw-openmw-0.46.0/components/detournavigator/offmeshconnectionsmanager.hpp    2020-06-08 04:11:24.000000000 -0500
+++ b/openmw-openmw-0.46.0/components/detournavigator/offmeshconnectionsmanager.hpp    2020-11-15 20:03:09.136071793 -0600
@@ -13,6 +13,7 @@
 
 #include <boost/optional.hpp>
 
+#include <algorithm>
 #include <map>
 #include <mutex>
 #include <unordered_map>

It is fixed upstream…

Hi
Building fixed and submitted: https://build.opensuse.org/request/show/848769

Wow that’s great! Thank you! I’ll start playing tonight, as a celebration. :slight_smile:

Hello, sorry to resurrect such an old thread, but I’m having the same issue, and it didn’t seem right to create a whole new thread for it. Trying to install OpenMW, I get the message that nothing provides " libboost_filesystem.so.1.76.0()(64bit)"

[FONT=monospace][home]~> sudo zypper install openmw 
Loading repository data... 
Reading installed packages... 
Resolving package dependencies... 

Problem: nothing provides 'libboost_filesystem.so.1.76.0()(64bit)' needed by the to be installed openmw-0.46.0-26.4.x86_64 
 Solution 1: do not install openmw-0.46.0-26.4.x86_64 
 Solution 2: break openmw-0.46.0-26.4.x86_64 by ignoring some of its dependencies 

**Choose from above solutions by number or cancel [1/2/c/d/?] (c): **2 
Resolving dependencies... 
Resolving package dependencies... 

The following NEW package is going to be installed:
  openmw 

1 new package to install. 
Overall download size: 6.0 MiB. Already cached: 0 B. After the operation, additional 19.8 MiB will be used. 
**Continue? [y/n/v/...? shows all options] (y): **
Retrieving package openmw-0.46.0-26.4.x86_64                                                             (1/1),   6.0 MiB ( 19.8 MiB unpacked) 
Retrieving: openmw-0.46.0-26.4.x86_64.rpm ..................................................................................[done (1.1 MiB/s)] 

Checking for file conflicts: ...........................................................................................................[done] 
(1/1) Installing: openmw-0.46.0-26.4.x86_64 ............................................................................................[done] 
ollie@localhost:~> openmw 
openmw: error while loading shared libraries: libboost_filesystem.so.1.76.0: cannot open shared object file: No such file or directory
[/FONT]

I have libboost_filesystem1_77_0 installed, as well as libbost_regex-devel, if that’s relevant? I see there are copies of version 1.76 out there, but I’d rather not go out and download packages and installing them over the current 1.77 version without knowing what I’m doing.

The addition in openmw.changes for the building fix update linked above says

Add openmw-add-missing-include.patch: Add missing algorithm
 [6](https://build.opensuse.org/request/show/848769#n6)+  include for later boost releases, (gh#OpenMW/openmw!2817).

which seems like it should cover this case, since the issue is with a later boost release? But I’m very new to all this so not sure :shame:

I’m running the 2021/09/29 version of Tumbleweed.

Any help would be appreciated!

Hi and welcome to the Forum :slight_smile:
There are already a couple of users who have branched the package to likely fix (Look at following links top right for ‘derived packages’), time to play the waiting game…

Hi, thank you for the welcome and the help! Three of the four branches show “no data” when I go onto the install page, and for the one that does show something, after adding the repository and trying to download the package from there, I get this error:

[home][FONT=monospace]~> sudo zypper install --repo home_adamm_boost_test openmw 
Loading repository data... 
Reading installed packages... 
Resolving package dependencies... 

Problem: nothing provides 'libboost_program_options.so.1.71.0()(64bit)' needed by the to be installed openmw-0.45.0-4.9.x86_64 
 Solution 1: do not install openmw-0.45.0-4.9.x86_64 
 Solution 2: break openmw-0.45.0-4.9.x86_64 by ignoring some of its dependencies 

**Choose from above solutions by number or cancel [1/2/c/d/?] (c): **2 
Resolving dependencies... 
Resolving package dependencies... 

The following NEW package is going to be installed:
  openmw 

1 new package to install. 
Overall download size: 5.9 MiB. Already cached: 0 B. After the operation, additional 23.1 MiB will be used. 
**Continue? [y/n/v/...? shows all options] (y): **
Retrieving package openmw-0.45.0-4.9.x86_64                                                              (1/1),   5.9 MiB ( 23.1 MiB unpacked) 
Retrieving: openmw-0.45.0-4.9.x86_64.rpm ...................................................................................[done (1.2 MiB/s)] 

Checking for file conflicts: ...........................................................................................................[done] 
(1/1) Installing: openmw-0.45.0-4.9.x86_64 .............................................................................................[done] 
Additional rpm output:
warning: /var/cache/zypp/packages/home_adamm_boost_test/x86_64/openmw-0.45.0-4.9.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 5eb4f729: 
NOKEY                                                                                                                                         


[home]:~> openmw 
openmw: error while loading shared libraries: libosg.so.158: cannot open shared object file: No such file or directory 

[/FONT]

The only thing that seems to have changed is now its looking for the same dependency that the OP of this thread was missing. Am I installing it wrong?

Hi
That’s an even older build with boost 71… I would suggest waiting for a complete build against Tumbleweed :frowning: If nothing happens in a day or so I can have a look.

Okay, thanks for the help! As long as I know it just needs to be updated and I’m not doing something wrong, I don’t mind waiting. :slight_smile: Guess I’ll just keep checking it periodically. In the meantime, there are other games to play and things to do.