Latest Posts

Topic: What is Boost?

Atanase
Avatar
Joined: 2021-04-15, 13:33
Posts: 126
Ranking
At home in WL-forums
Location: Béarn (France)
Posted at: 2021-04-21, 08:47

Hello,

For several days now I have been breaking my head trying to compile the version I cloned from GitHub. It took me a while to find the necessary 'devel' libraries but I think I was able to.

Now when I run the compilation with './compile.sh' the system throws me back a bunch of insults about a certain 'boost_unit_test_framework' that it wouldn't find. So what can this 'thing' be used for? Is it essential?

If someone who has solved this kind of problem in Linux could give me any information, that would really be a big step forward.

Thank you in advance.

My Linux : OpenSuse Tumbleweed updated 3 days ago.


La connaissance ne vaut que si elle est partagée par le plus grand nombre.
---------------------------------------
Knowledge is only valuable if it is shared by the greatest number.

Top Quote
WorldSavior
Avatar
Joined: 2016-10-15, 04:10
Posts: 1894
Ranking
One Elder of Players
Location: Germany
Posted at: 2021-04-21, 09:04

Bonjour,

have you already applied this page? https://www.widelands.org/wiki/Building%20Widelands/#opensuse-132


Wanted to save the world, then I got widetracked

Top Quote
Atanase
Avatar
Joined: 2021-04-15, 13:33
Posts: 126
Ranking
At home in WL-forums
Location: Béarn (France)
Posted at: 2021-04-21, 10:21

Yes for the page. face-smile.png

But it is not really up to date. face-wink.png Now it is libSDL2 and not libsdl2. face-smile.png
This is one small problem I had to solve.
Just a precision, I installed the x86_64. Have I to install the 32 bits version?
And I installed boost-devel 1.75.0-1.2


La connaissance ne vaut que si elle est partagée par le plus grand nombre.
---------------------------------------
Knowledge is only valuable if it is shared by the greatest number.

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 1306
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2021-04-21, 11:24

Boost is required for building, unfortunately. There are many boost libraries, I don't know what the exact names under OpenSuse are but perhaps there are packages called something similar to libboost-dev libboost-system-dev libboost-test-dev ; try searching for and installing those. 64-bit packages should not be a problem.


Top Quote
Atanase
Avatar
Joined: 2021-04-15, 13:33
Posts: 126
Ranking
At home in WL-forums
Location: Béarn (France)
Posted at: 2021-04-21, 12:03

OK,

Now it seems to work but I have added
libboost_headers-devel
libboost_headers1_75_0-devel
libboost_system1_75_0-devel
libboost_test1_75_0-devel
boost-devel

I don't know if all is necessary, I will do some tests when the compilation is complete to find the true list of packages to add and I'll post it.

Now it is compiling. I hope it will be good. face-smile.png

What is the command to clean the directories? I need it to test the "lib-devel".


La connaissance ne vaut que si elle est partagée par le plus grand nombre.
---------------------------------------
Knowledge is only valuable if it is shared by the greatest number.

Top Quote
Atanase
Avatar
Joined: 2021-04-15, 13:33
Posts: 126
Ranking
At home in WL-forums
Location: Béarn (France)
Posted at: 2021-04-21, 15:39

Arghhhhhh I must be cursed.
Give me the hemlock so that like Socrates I end my life.

Caught exception (of type '16LuaTableKeyError') in outermost handler!
The exception said: [/home/jl/JEUX/widelands/src/scripting/lua_errors.cc:22] low_alt is not a field in this table.

This should not happen. Please file a bug report on version 1.0~git25265[af1afc6@master](Release).
and remember to specify your operating system.


==7749==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 96 byte(s) in 2 object(s) allocated from:
    #0 0x7efec2d3e95f in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb195f)
    #1 0x7efebc048f70  (/usr/lib64/dri/i965_dri.so+0x1c9f70)
    #2 0x6160000c3587  (<unknown module>)
.
.
.
SUMMARY: AddressSanitizer: 3856 byte(s) leaked in 34 allocation(s).

This is the output of the command ./widelands

I will spare you some WARNINGS such as:

WARNING: Unused key "fonts" in LuaTable. Please report as a bug.

I think I'll go have a whiskey. face-wink.png


La connaissance ne vaut que si elle est partagée par le plus grand nombre.
---------------------------------------
Knowledge is only valuable if it is shared by the greatest number.

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 1306
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2021-04-21, 16:03

The exception said: [/home/jl/JEUX/widelands/src/scripting/lua_errors.cc:22] low_alt is not a field in this table.

Wrong datadir.

I wager a guess that you have a system-wide installation of Widelands build-21 and are now trying to run a self-compiled build of latest master? Widelands by default tries to use the system-wide data directory first (a known bug); the solution is to either uninstall b21 or to specify the datadir explicitly when starting Widelands via ./widelands --datadir=./data (adjust the datadir's path if necessary).


Top Quote
Atanase
Avatar
Joined: 2021-04-15, 13:33
Posts: 126
Ranking
At home in WL-forums
Location: Béarn (France)
Posted at: 2021-04-21, 16:36

I have the version proposed by Suse. Maybe the one you call "system-wide". face-wink.png

Is it possible to install widelands as we do when we use something like the "classic" :
./configure / make / make install

As I need English and French version to verify translations I have some little scripts: one which change the $LANG before running the game one which copy the French .mo in the desired directory
and so on.

So it would be easier for me to have only one structure for build-21, latest-master and next V 1.0.
I know, I'm a bit lazy, but just for that stuff. face-smile.png


La connaissance ne vaut que si elle est partagée par le plus grand nombre.
---------------------------------------
Knowledge is only valuable if it is shared by the greatest number.

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 1306
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2021-04-21, 16:51

As a rule, a Widelands version can not use the data directory of another version. They just differ in too many aspects, every new version has (and uses) features that are not available in earlier versions, and also requires new information that was not present in older versions yet. You could try whether you can merge the two data directories into one, but it would without doubt take a lot of effort to get everything working with both versions, and it may introduce a lot of bugs that don't happen with a clean datadir, and there's no guarantee it is possible at all.

But you can place any individual files you wish to share across Widelands versions in your Widelands homedir. Placing a file in HOME_DIRECTORY/x/y/z/foo.bar overwrites the datadir entry data/x/y/z/foo.bar. You could add the .mo file to the appropriate homedir location. Adding or replacing files in this manner behaves just as if you made the same change in the datadir. Don't do it extensively though or there may be bugs face-wink.png


We also have make install etc available if you wish to compile with CMake manually instead of using the convenience script. See the README section


Top Quote
Atanase
Avatar
Joined: 2021-04-15, 13:33
Posts: 126
Ranking
At home in WL-forums
Location: Béarn (France)
Posted at: 2021-04-21, 17:32

Ok, I see, more work than to rewrite my scripts. face-smile.png

During this time I made some tests about libboosst-devel.

For OpenSuse Tumbleweed it is necessary to install:
libboost_test-devel AND libboost_system-devel
the system will add libboost_headers-devel automatically with yast.

Maybe it would be useful to add this information to the wiki. Actually the leap version is 15.2 and the rolling is Tumbleweed.


La connaissance ne vaut que si elle est partagée par le plus grand nombre.
---------------------------------------
Knowledge is only valuable if it is shared by the greatest number.

Top Quote