Important Dates

Latest Posts

Topic: build fails on arch linux 32bit

LeightonMan
Avatar
Joined: 2017-05-19, 15:17
Posts: 41
Ranking
Pry about Widelands
Posted at: 2018-11-07, 16:08

Hi, I'm using the widelands-bzr package from the AUR on 32bit arch Linux. The system is up to date and, with the latest widelands version I get:
[ 25%] Linking CXX executable test_economy
/usr/bin/ld: ../../graphic/libgraphic_gl_utils.a(initialize.cc.o): undefined reference to symbol 'glDrawBuffer'
/usr/bin/ld: /usr/lib/gcc/i686-pc-linux-gnu/7.3.1/../../../libGL.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Can anyone help?


Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 20:48
Posts: 1669
Ranking
One Elder of Players
Location: Germany
Posted at: 2018-11-07, 17:05

Can you provide the first parts from console ouput, from "-- The C compiler identification ..." until "-- Configuring done"?


Top Quote
LeightonMan
Avatar
Joined: 2017-05-19, 15:17
Posts: 41
Ranking
Pry about Widelands
Posted at: 2018-11-07, 17:28

Thanks for the reply. The output from "Starting build" is only a few lines more :

==> Starting build()...  
  -> Running cmake...  
-- Boost version: 1.67.0  
-- Found the following Boost libraries:  
--   unit_test_framework  
--   regex 
--   system  
-- SDL2_INCLUDE_DIR is /usr/include/SDL2  
-- SDL2MAIN_LIBRARY is /usr/lib/libSDL2main.a  
-- GCC >6.2.0 breaks -03, setting -02  
-- Not using AddressSanitizer.  
-- Adding linker flags for GLVND.  
-- Version of Widelands Build is bzr8906[trunk](Release)  
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)   
Doxygen not found, disabling 'make doc'  
-- Configuring done  

Compiler is gcc 7.3.1

Edited by kaputtnik: Formatting with codeblock

Edited: 2018-11-07, 20:18
Top Quote
stonerl
Avatar
Joined: 2018-07-30, 00:03
Posts: 191
Ranking
Widelands-Forum-Junkie
Location: Earth
Posted at: 2018-11-07, 19:05

Seems to be related to GLVND.

@kaputtnik you were able to compile this with GLVND. Did you use GCC or clang?


Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 20:48
Posts: 1669
Ranking
One Elder of Players
Location: Germany
Posted at: 2018-11-07, 19:42

From what i know i use GCC, but i use a 64 bit system. Will try to test the package from the AUR

-- The C compiler identification is GNU 8.2.1
-- The CXX compiler identification is GNU 8.2.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Boost version: 1.68.0
-- Found the following Boost libraries:
--   unit_test_framework
--   regex
--   system
-- SDL2_INCLUDE_DIR is /usr/include/SDL2
-- SDL2MAIN_LIBRARY is /usr/lib/libSDL2main.a
-- Found SDL2_mixer: /usr/lib/libSDL2_mixer.so (found version "2.0.4") 
-- Not using AddressSanitizer.
-- Adding linker flags for GLVND.
-- Version of Widelands Build is bzr8906[trunk](Debug)
-- Configuring done

Top Quote
stonerl
Avatar
Joined: 2018-07-30, 00:03
Posts: 191
Ranking
Widelands-Forum-Junkie
Location: Earth
Posted at: 2018-11-07, 20:32

@LeightonMan does this also happen when you build it manually1 using the compile.sh script2?


Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 20:48
Posts: 1669
Ranking
One Elder of Players
Location: Germany
Posted at: 2018-11-07, 21:40

Using 'makepkg' , which uses the commands in the PKGBUILD fails here also.

I have no idea what is going wrong when using the PKGBUILD face-sad.png

@LightonMan: You should be able to compile:

  • In the directory where you run makepkg type: cd src/widelands-bzr
  • Clean the build environment by typing: rm -r build
  • Compile from scratch using the shipped script called 'compile.sh' with a release build, turned off website stuff and ASAN: ./compile.sh -r -w -a

Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 20:48
Posts: 1669
Ranking
One Elder of Players
Location: Germany
Posted at: 2018-11-07, 21:51

Forgotten: If you compile like i proposed, you have to run widelands just by typing: ./widelands in the folder ~/PATH/TO/widelands-bzr/src/widelands-bzr


Top Quote
LeightonMan
Avatar
Joined: 2017-05-19, 15:17
Posts: 41
Ranking
Pry about Widelands
Posted at: 2018-11-08, 12:26

Yes, thank you, the compile script works perfectly. Build time is just under an hour but it is a rather old computer! Thanks again


Top Quote
niektory
Avatar
Joined: 2019-06-03, 20:06
Posts: 10
Ranking
Pry about Widelands
Posted at: 2019-06-04, 17:41

The AUR package fails for me as well on 64-bit Manjaro with the same error:

-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Boost version: 1.69.0
-- Found the following Boost libraries:
--   unit_test_framework
--   regex
--   system
-- Found PythonInterp: /usr/bin/python (found version "3.7.3") 
-- Found Gettext: /usr/bin/msgmerge (found version "0.19.8.1") 
-- Found OpenGL: /usr/lib/libOpenGL.so   
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.11") 
-- Found PNG: /usr/lib/libpng.so (found version "1.6.37") 
-- SDL2_INCLUDE_DIR is /usr/include/SDL2
-- SDL2MAIN_LIBRARY is /usr/lib/libSDL2main.a
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found SDL2_image: /usr/lib/libSDL2_image.so  
-- Found SDL2_mixer: /usr/lib/libSDL2_mixer.so (found version "2.0.4") 
-- Found SDL2_ttf: /usr/lib/libSDL2_ttf.so (found version "2.0.15") 
-- Found ICU: /usr/lib/libicuuc.so (found version "64.2.0") 
-- GCC >6.2.0 breaks -03, setting -02
-- Not using AddressSanitizer.
-- Adding linker flags for GLVND.
-- Version of Widelands Build is bzr9141[trunk](Release)
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.15") found components:  doxygen dot 
-- Configuring done
[ 25%] Linking CXX executable test_economy
/usr/bin/ld: ../../graphic/libgraphic_gl_utils.a(initialize.cc.o): undefined reference to symbol 'glDrawBuffer'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../lib/libGL.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [src/economy/test/CMakeFiles/test_economy.dir/build.make:499: src/economy/test/test_economy] Error 1
make[1]: *** [CMakeFiles/Makefile2:10117: src/economy/test/CMakeFiles/test_economy.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

Top Quote