← Back to team overview

widelands-dev team mailing list archive

Re: [Merge] lp:~widelands-dev/widelands/cmake-reworked into lp:widelands

 

Since you cannot reproduce my issues I further investigated myself. I can fix the widelands link error by adding widelands_ball_of mud as a dependency to network. However, this is a cyclic dependency in the libraries. Therefore I had to disable GLOBAL_DEPENDS_NO_CYCLES. IMHO the multi pass linking of gold just hides the existing cyclic dependencies and makes the CMake check useless. My suggestion to fix this problem is to leave the network code in widelands_ball_of_mud for now since it is too closely linked to the rest of the widelands code. This way we kann keep GLOBAL_DEPENDS_NO_CYCLES on. In the future we should of course try to make the code more modular and eliminate those cyclic dependencies.

The missing SDL_UnlockSurface seems to be a GCC 4.8.2 specific error. I can compile the test_economy with clang 3.5 without any problems. Here the full error message:

/usr/bin/ld: ../../graphic/libgraphic.a(image_transformations.cc.o): undefined reference to symbol 'SDL_UnlockSurface'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libSDL.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

It might be a problem with the order of the included libraries.
-- 
https://code.launchpad.net/~widelands-dev/widelands/cmake-reworked/+merge/222455
Your team Widelands Developers is subscribed to branch lp:~widelands-dev/widelands/cmake-reworked.


References