Latest Posts

Topic: boost again

Tinker
Avatar
Joined: 2014-09-12, 10:53
Posts: 183
Ranking
Widelands-Forum-Junkie
Location: DDR
Posted at: 2018-11-06, 10:14

Trying to build I get

Errors while running CTest ninja: build stopped: subcommand failed.

This is caused by libbost requested files being out of date, I have 1.68 build needs 1.67. I usually go through libboost creating symlinks to allow widelands to load the newer libs. Would it be better to have widelands use > version number rather than = version number?


The only way to prevent a mass extinction event is to remove homo sapiens, or stupiditus, from the planet. It may be to late for this final solution though.

Top Quote
Tino
Joined: 2009-02-20, 17:05
Posts: 246
Ranking
Widelands-Forum-Junkie
Location: Somewhere in Germany...
Posted at: 2018-11-06, 12:15

Hm widelands does:

find_package(Boost 1.48
  COMPONENTS
    unit_test_framework
    regex
  REQUIRED
    system)

And on Appveyor and e.g. my system this leads to:

...
-- Detecting CXX compile features - done
-- Boost version: 1.68.0
-- Found the following Boost libraries:
--   unit_test_framework
--   regex
--   system
-- Found PythonInterp: C:/Python27/python.exe (found version "2.7.15") 
-- Found Gettext: C:/msys64/mingw64/bin/msgmerge.exe (found version "0.19.8.1") 
...

Cmake would need an additional parameter to force a certain version:

The EXACT option requests that the version be matched exactly.

What cmake version are you using?


Top Quote
Tinker
Avatar
Joined: 2014-09-12, 10:53
Posts: 183
Ranking
Widelands-Forum-Junkie
Location: DDR
Posted at: 2018-11-06, 17:07

I use the repo update.sh script, which gives

Boost version: 1.68.0 -- Found the following Boost libraries: -- unit_test_framework -- regex -- system

The failure occurs with the test project step

error while loading shared libraries: libboost_unit_test_framework.so.1.67.0: cannot open shared object file: No such file or directory

I have cmake 3.12.4


The only way to prevent a mass extinction event is to remove homo sapiens, or stupiditus, from the planet. It may be to late for this final solution though.

Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 15:56
Posts: 2626
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2018-11-06, 19:55

It's strange that it's trying to link a different version from the one it has found. Have you tried deleting the build directory and compiling from scratch? Maybe something got misaligned in the cmake cache.


Busy indexing nil values

Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 20:48
Posts: 1523
Ranking
One Elder of Players
Location: Germany
Posted at: 2018-11-06, 20:56

Yes, deleting the build directory and compile from scratch solves the issue face-smile.png


Top Quote
Tinker
Avatar
Joined: 2014-09-12, 10:53
Posts: 183
Ranking
Widelands-Forum-Junkie
Location: DDR
Posted at: 2018-11-07, 10:36

Ok got past the boost problem and widelands runs, tried to update using update.sh and get this

Linking CXX executable src/website/wl_map_object_info

mv: cannot stat 'VERSION': No such file or directory

after the tests complete.

Trying to run ./widelands gives

bash: ./widelands: No such file or directory

Edited: 2018-11-07, 10:37

The only way to prevent a mass extinction event is to remove homo sapiens, or stupiditus, from the planet. It may be to late for this final solution though.

Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 15:56
Posts: 2626
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2018-11-07, 11:24

That's a bug - I already have a merge request up: https://code.launchpad.net/~widelands-dev/widelands/bug-1800814-update-script/+merge/358419

Instead of the update script, you can run:

bzr pull

Then run the compile script again with the same options that you used previously.


Busy indexing nil values

Top Quote