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

Build fails on Ubuntu 16.04 #293

Closed
VectorWolf opened this issue Sep 19, 2017 · 5 comments

Comments

Projects
None yet
3 participants
@VectorWolf
Copy link

commented Sep 19, 2017

Building under Ubuntu Xenial using ./tes3mp-deploy.sh --install outputs this:

.
..
-- The C compiler identification is GNU 7.2.0
-- The CXX compiler identification is unknown
-- 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
-- Configuring OpenMW...
-- Found Git: /usr/bin/git (found version "2.7.4") 
-- /home/linuxwolf/Spiele/TES3MP-deploy/dependencies/raknet/include
-- /home/linuxwolf/Spiele/TES3MP-deploy/dependencies/raknet/build/lib/libRakNetLibStatic.a
-- Found RakNet_LIBRARY_RELEASE: /home/linuxwolf/Spiele/TES3MP-deploy/dependencies/raknet/build/lib/libRakNetLibStatic.a
-- Found RakNet_INCLUDES: /home/linuxwolf/Spiele/TES3MP-deploy/dependencies/raknet/include/raknet
-- Using Qt4
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found
-- Found Qt4: /usr/bin/qmake-qt4 (found version "4.8.7") 
-- Found FFmpeg_AVCODEC 56.60.100
-- Found FFmpeg_AVFORMAT 56.40.101
-- Found FFmpeg_AVUTIL 54.31.100
-- Found FFmpeg_SWSCALE 3.1.101
-- Found FFmpeg_SWRESAMPLE 1.2.101
-- Found FFmpeg: /usr/lib/x86_64-linux-gnu/libavcodec.so;/usr/lib/x86_64-linux-gnu/libavformat.so;/usr/lib/x86_64-linux-gnu/libavutil.so;/usr/lib/x86_64-linux-gnu/libswscale.so;/usr/lib/x86_64-linux-gnu/libswresample.so  found components:  AVCODEC AVFORMAT AVUTIL SWSCALE SWRESAMPLE 
-- Found LIBUNSHIELD 
-- 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  
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Found osgDB: /usr/lib/x86_64-linux-gnu/libosgDB.so  
-- Found osgViewer: /usr/lib/x86_64-linux-gnu/libosgViewer.so  
-- Found osgText: /usr/lib/x86_64-linux-gnu/libosgText.so  
-- Found osgGA: /usr/lib/x86_64-linux-gnu/libosgGA.so  
-- Found osgParticle: /usr/lib/x86_64-linux-gnu/libosgParticle.so  
-- Found osgUtil: /usr/lib/x86_64-linux-gnu/libosgUtil.so  
-- Found osgFX: /usr/lib/x86_64-linux-gnu/libosgFX.so  
-- Found osg: /usr/lib/x86_64-linux-gnu/libosg.so  
-- Found OpenThreads: /usr/lib/x86_64-linux-gnu/libOpenThreads.so  
-- Found OpenSceneGraph: /usr/lib/x86_64-linux-gnu/libosgDB.so;/usr/lib/x86_64-linux-gnu/libosgViewer.so;/usr/lib/x86_64-linux-gnu/libosgText.so;/usr/lib/x86_64-linux-gnu/libosgGA.so;/usr/lib/x86_64-linux-gnu/libosgParticle.so;/usr/lib/x86_64-linux-gnu/libosgUtil.so;/usr/lib/x86_64-linux-gnu/libosgFX.so;/usr/lib/x86_64-linux-gnu/libosg.so;/usr/lib/x86_64-linux-gnu/libOpenThreads.so (found suitable version "3.4.0", minimum required is "3.3.4") 
-- Found MyGUI 3.2.2
-- Found SDL2 2.0.4
-- Found OpenAL: /usr/lib/x86_64-linux-gnu/libopenal.so  
-- Found Bullet_BulletCollision 
-- Found Bullet_LinearMath 
-- Found Bullet: /home/linuxwolf/Spiele/TES3MP-deploy/dependencies/bullet/install/lib/libBulletCollision.so;/home/linuxwolf/Spiele/TES3MP-deploy/dependencies/bullet/install/lib/libLinearMath.so (found suitable version "286", minimum required is "286") found components:  BulletCollision LinearMath 
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   program_options
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so  
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8") 
-- Found Terra_LIBRARY_RELEASE: /home/linuxwolf/Spiele/TES3MP-deploy/dependencies/terra/lib/libterra.a
-- Found Terra_INCLUDES: /home/linuxwolf/Spiele/TES3MP-deploy/dependencies/terra/include
CMake Error at apps/browser/CMakeLists.txt:52 (message):
  QT4 is not supported.


-- Found Doxygen: /usr/bin/doxygen (found version "1.8.11") 
-- Configuring incomplete, errors occurred!
See also "/home/linuxwolf/Spiele/TES3MP-deploy/build/CMakeFiles/CMakeOutput.log".
See also "/home/linuxwolf/Spiele/TES3MP-deploy/build/CMakeFiles/CMakeError.log".
make: *** Es wurden keine Ziele angegeben und keine „make“-Steuerdatei gefunden.  Schluss.

Which is strange, because i got qt5 on my system
output of qmake -v is:

QMake version 3.0
Using Qt version 5.5.1 in /usr/local/lib
@testman42

This comment has been minimized.

Copy link

commented Sep 20, 2017

Trick is to cd into build directory and then run command ccmake .. Then you get a big list of various variables. Navigate it with . Navigate to DESIRED_QT_VERSION (iirc, @davidcernat @Koncord please correct me if it is called differently). It will have value set to 4, but once you press Enter it will change to 5. After that you press c and wait a second or two for configuration to finish. Then you exit ccmake and run command cmake . (only one "c"). It should go through nicely and then after that is done you can run make (or make -j X where X is the number of CPU threads you want to use.)

@VectorWolf

This comment has been minimized.

Copy link
Author

commented Sep 20, 2017

Thank you, this got me some steps further but now sudo make only reached 81% and failed with this error message:

[ 81%] Building CXX object apps/openmw/CMakeFiles/tes3mp.dir/main.cpp.o
[ 81%] Building CXX object apps/openmw/CMakeFiles/tes3mp.dir/engine.cpp.o
[ 81%] Building CXX object apps/openmw/CMakeFiles/tes3mp.dir/crashcatcher.cpp.o
[ 81%] Linking CXX executable ../../tes3mp
CMakeFiles/tes3mp.dir/mwinput/inputmanagerimp.cpp.o: In Funktion `MWInput::InputManager::getActionKeyBindingName[abi:cxx11](int)':
inputmanagerimp.cpp:(.text+0x8f86): Nicht definierter Verweis auf `MyGUI::UString::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const'
CMakeFiles/tes3mp.dir/mwgui/textinput.cpp.o: In Funktion `MWGui::TextInputDialog::getTextInput[abi:cxx11]() const':
textinput.cpp:(.text+0xa06): Nicht definierter Verweis auf `MyGUI::UString::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const'
CMakeFiles/tes3mp.dir/mwgui/class.cpp.o: In Funktion `MWGui::GenerateClassResultDialog::getClassId[abi:cxx11]() const':
class.cpp:(.text+0x7ac): Nicht definierter Verweis auf `MyGUI::UString::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const'
CMakeFiles/tes3mp.dir/mwgui/class.cpp.o: In Funktion `MWGui::InfoBoxDialog::getText[abi:cxx11]() const':
class.cpp:(.text+0x26ce): Nicht definierter Verweis auf `MyGUI::UString::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const'
CMakeFiles/tes3mp.dir/mwgui/class.cpp.o: In Funktion `MWGui::CreateClassDialog::getName[abi:cxx11]() const':
class.cpp:(.text+0x4b24): Nicht definierter Verweis auf `MyGUI::UString::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const'
CMakeFiles/tes3mp.dir/mwgui/class.cpp.o:class.cpp:(.text._ZNK5MWGui17DescriptionDialog12getTextInputB5cxx11Ev[_ZNK5MWGui17DescriptionDialog12getTextInputB5cxx11Ev]+0x54): Weitere nicht definierte Verweise auf `MyGUI::UString::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const' folgen
collect2: error: ld returned 1 exit status
apps/openmw/CMakeFiles/tes3mp.dir/build.make:7109: die Regel für Ziel „tes3mp“ scheiterte
make[2]: *** [tes3mp] Fehler 1
CMakeFiles/Makefile2:501: die Regel für Ziel „apps/openmw/CMakeFiles/tes3mp.dir/all“ scheiterte
make[1]: *** [apps/openmw/CMakeFiles/tes3mp.dir/all] Fehler 2
Makefile:127: die Regel für Ziel „all“ scheiterte
make: *** [all] Fehler 2

sorry for the german expressions, i hope you can understand it anyway

@testman42

This comment has been minimized.

Copy link

commented Sep 21, 2017

tl;dr: if you want to actually play with other people, you better use the pre-compiled binaries that @GrimKriegor provided here:
https://github.com/TES3MP/openmw-tes3mp/releases/download/tes3mp-0.6.1/tes3mp-GNU.Linux-x86_64-release-0.6.1-f5e23d5fc6-p5.tar.gz
If you are compiling for testing / development purposes, then please keep doing so 👍

Do you need to run make with superuser priviliges?
Just run make few more times until it gets to 100 (or as close to 100 as possible)
What I did to make that a bit easier was for loop:
for i in {1..5}; do make; done
That should compile all the necesary files that you need to start TES3MP.
However, if you try to connect to some 0.6.1 server immediatly after that, you will get an error saying that "server or client might be outdated". If you start your own server, you will be able to join that, or if you get someone else with same build (using same commit hash) as you, then you will be able to play with them. To join 0.6.1 servers, you will need to change the commit hash of your tes3mp client to 08df8f8d836bfcb2216ffbafae22c30210642bbe.

@VectorWolf

This comment has been minimized.

Copy link
Author

commented Sep 23, 2017

Unfortunately trying make a couple of times has always lead to the same behaviour as stated above, but i'm really happy for the link you supplied. I must say, i absolutely overlooked the releases. I don't know why, but i thought there were only binaries for windows, my fault! I'll now go with the pre-compiled linux binaries instead. Thanks a bunch :-)

@VectorWolf VectorWolf closed this Sep 23, 2017

@GrimKriegor

This comment has been minimized.

Copy link
Member

commented Sep 24, 2017

@SkalliDeVarg thanks for reporting.

The Qt error is a new thing, I believe it was introduced in a recent change to CMakeLists.

TES3MP definetely needs Qt 5.5 at least because of the server browser, so we should change DESIRED_QT_VERSION to the correct number asap.

The MyGUI error is something that has been haunting me since summer began now. A few Ubuntu 16.04 users have pointed it out, but its super inconsistent. I was never able to reproduce it on a Ubuntu 16.04 system, and even them got rid of it entirely with a system reinstall or by upgrading MyGUI from source. The cause remains a mystery and I wonder if its worth pursuing.

I wonder if its worth pursuing when so few users

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.