Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openSUSE: gcc5 fails to build the game #484

Closed
DAP-DarkneSS opened this issue Jun 21, 2015 · 7 comments
Closed

openSUSE: gcc5 fails to build the game #484

DAP-DarkneSS opened this issue Jun 21, 2015 · 7 comments

Comments

@DAP-DarkneSS
Copy link

[ 103s] -- The C compiler identification is GNU 5.1.1
[ 104s] -- The CXX compiler identification is GNU 5.1.1
[ 104s] -- Check for working C compiler: /usr/bin/cc
[ 104s] -- Check for working C compiler: /usr/bin/cc -- works
[ 104s] -- Detecting C compiler ABI info
[ 104s] -- Detecting C compiler ABI info - done
[ 104s] -- Detecting C compile features
[ 104s] -- Detecting C compile features - done
[ 104s] -- Check for working CXX compiler: /usr/bin/c++
[ 104s] -- Check for working CXX compiler: /usr/bin/c++ -- works
[ 104s] -- Detecting CXX compiler ABI info
[ 105s] -- Detecting CXX compiler ABI info - done
[ 105s] -- Detecting CXX compile features
[ 105s] -- Detecting CXX compile features - done
[ 105s] -- Building Colobot "Gold" (0.1.5-alpha)
[ 105s] -- Build for Linux system
[ 105s] -- Detected GCC version 4.7+
[ 105s] -- Found OpenGL: /usr/lib64/libGL.so (Required is at least version "1.4")
[ 105s] -- Looking for include file pthread.h
[ 105s] -- Looking for include file pthread.h - found
[ 105s] -- Looking for pthread_create
[ 106s] -- Looking for pthread_create - not found
[ 106s] -- Looking for pthread_create in pthreads
[ 106s] -- Looking for pthread_create in pthreads - not found
[ 106s] -- Looking for pthread_create in pthread
[ 106s] -- Looking for pthread_create in pthread - found
[ 106s] -- Found Threads: TRUE
[ 106s] -- Found SDL: /usr/lib64/libSDLmain.a;/usr/lib64/libSDL.so;-lpthread (found suitable version "1.2.15", minimum required is "1.2.10")
[ 106s] -- Found SDL_image: /usr/lib64/libSDL_image.so (found suitable version "1.2.12", minimum required is "1.2")
[ 106s] -- Found SDL_ttf: /usr/lib64/libSDL_ttf.so (found suitable version "2.0.11", minimum required is "2.0")
[ 106s] -- Found ZLIB: /usr/lib64/libz.so (found version "1.2.8")
[ 106s] -- Found PNG: /usr/lib64/libpng.so (found suitable version "1.6.17", minimum required is "1.2")
[ 106s] -- Found Gettext: /usr/bin/msgmerge (found version "0.19.4")
[ 106s] -- Boost version: 1.58.0
[ 106s] -- Found the following Boost libraries:
[ 106s] -- system
[ 106s] -- filesystem
[ 106s] -- regex
[ 106s] -- Found OpenAL: /usr/lib64/libopenal.so
[ 106s] -- Found LibSndFile: /usr/lib64/libsndfile.so
[ 106s] -- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
[ 106s] -- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
[ 106s] -- Looking for gethostbyname
[ 106s] -- Looking for gethostbyname - found
[ 106s] -- Looking for connect
[ 106s] -- Looking for connect - found
[ 106s] -- Looking for remove
[ 107s] -- Looking for remove - found
[ 107s] -- Looking for shmat
[ 107s] -- Looking for shmat - found
[ 107s] -- Found X11: /usr/lib64/libX11.so
[ 107s] -- Found Doxygen: /usr/bin/doxygen (found version "1.8.9.1")

[ 415s] [ 98%] Built target colobotbase
[ 415s] make -f src/CMakeFiles/colobot.dir/build.make src/CMakeFiles/colobot.dir/depend
[ 415s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build'
[ 415s] cd /home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha /home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/src /home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build /home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build/src /home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build/src/CMakeFiles/colobot.dir/DependInfo.cmake --color=
[ 415s] Scanning dependencies of target colobot
[ 415s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build'
[ 415s] make -f src/CMakeFiles/colobot.dir/build.make src/CMakeFiles/colobot.dir/build
[ 415s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build'
[ 415s] /usr/bin/cmake -E cmake_progress_report /home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build/CMakeFiles 8
[ 415s] [100%] Building CXX object src/CMakeFiles/colobot.dir/app/main.cpp.o
[ 415s] cd /home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build/src && /usr/bin/c++ -DBOOST_NO_CXX11_SCOPED_ENUMS -DBOOST_NO_SCOPED_ENUMS -DNOEXCEPT=noexcept -DOVERRIDE=override -DTEST_VIRTUAL="" -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -Wall -Wold-style-cast -std=gnu++11 -O2 -g -DNDEBUG -isystem /usr/include/AL -I/home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/src -I/home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/src/.. -I/home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build/src -isystem /usr/include/SDL -isystem /home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/lib/localename -isystem /home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/lib/clipboard/include -o CMakeFiles/colobot.dir/app/main.cpp.o -c /home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/src/app/main.cpp
[ 422s] Linking CXX executable ../colobot
[ 422s] cd /home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/colobot.dir/link.txt --verbose=1
[ 422s] /usr/bin/c++ -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -Wall -Wold-style-cast -std=gnu++11 -O2 -g -DNDEBUG CMakeFiles/colobot.dir/app/main.cpp.o -o ../colobot -L/home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/src/CBot -rdynamic libcolobotbase.a CBot/libCBot.so ../lib/clipboard/libclipboard.a ../lib/localename/liblocalename.a -Wl,-Bstatic -lSDLmain -Wl,-Bdynamic -lSDL -lpthread -lSDL_image -lSDL_ttf -lGLU -lGL -lpng -lz -lGLEW -lboost_system-mt -lboost_filesystem-mt -lboost_regex-mt -lsndfile -lopenal -lX11 -lphysfs -Wl,-rpath,/home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/src/CBot:/home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build/src/CBot
[ 425s] libcolobotbase.a(profile.cpp.o): In function boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::perl_matcher(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >)': [ 425s] /usr/include/boost/regex/v4/perl_matcher.hpp:365: undefined reference toboost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > >, boost::regex_traits<char, boost::cpp_regex_traits > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits > > const&, boost::regex_constants::_match_flags)'
[ 425s] libcolobotbase.a(profile.cpp.o): In function boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_match()': [ 425s] /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:991: undefined reference toboost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > > const&)'
[ 425s] libcolobotbase.a(profile.cpp.o): In function boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_prefix()': [ 425s] /usr/include/boost/regex/v4/perl_matcher_common.hpp:333: undefined reference toboost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > > const&)'
[ 425s] libcolobotbase.a(restext.cpp.o): In function boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::perl_matcher(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >)': [ 425s] /usr/include/boost/regex/v4/perl_matcher.hpp:365: undefined reference toboost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > >, boost::regex_traits<char, boost::cpp_regex_traits > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits > > const&, boost::regex_constants::_match_flags)'
[ 425s] collect2: error: ld returned 1 exit status
[ 425s] src/CMakeFiles/colobot.dir/build.make:107: recipe for target 'colobot' failed
[ 425s] make[2]: *** [colobot] Error 1
[ 425s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build'
[ 425s] CMakeFiles/Makefile2:189: recipe for target 'src/CMakeFiles/colobot.dir/all' failed
[ 425s] make[1]: *** [src/CMakeFiles/colobot.dir/all] Error 2
[ 425s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/colobot-colobot-gold-0.1.5-alpha/build'
[ 425s] Makefile:139: recipe for target 'all' failed
[ 425s] make: *** [all] Error 2

@piotrdz
Copy link
Contributor

piotrdz commented Jun 21, 2015

Looks like some problem with boost library itself. Perhaps it is because the library was compiled using different version of compiler.
Can you try to compile with other compiler version and see if the problem exists then as well?
It may also be worth to try linking with static Boost libraries (to do this, run CMake with -DBOOST_STATIC=1 flag).

@DAP-DarkneSS
Copy link
Author

DAP-DarkneSS commented Jun 21, 2015 via email

@piotrdz
Copy link
Contributor

piotrdz commented Jun 21, 2015

OK, so I checked with the boost package from here and it seems that there are differences between symbols defined in the library and those referenced above. It is as if there was a mismatch between the headers and library files. I don't know what causes this, but it is not our fault.

@DAP-DarkneSS
Copy link
Author

DAP-DarkneSS commented Jun 21, 2015 via email

@piotrdz
Copy link
Contributor

piotrdz commented Jun 21, 2015

Well, I'm not sure what details can be reported here. Our use of boost::regex is pretty generic here, so I imagine this problem would show itself even in simplest example, like trying to compile basic boost::regex sample code. Basically, boost::regex doesn't seem to work in this setup.

@krzys-h krzys-h added this to the alpha-0.1.6 milestone Jun 26, 2015
@DAP-DarkneSS
Copy link
Author

You are completely right! After several boost rebuilds the package became buildable again. Thank you.

@krzys-h krzys-h modified the milestones: alpha-0.1.6, alpha-0.1.7 Jul 3, 2015
@krzys-h
Copy link
Member

krzys-h commented Nov 21, 2015

I just got the exact same error after upgrading to Ubuntu 15.10. It turns out the updater script somehow messed up and installed boost 1.55 headers with 1.58 binaries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants