aliens

Author Topic: [Solved]Ubuntu 16.04 won't run after compile  (Read 19787 times)

Offline MuNglo

  • Squaddie
  • *
  • Posts: 9
    • View Profile
[Solved]Ubuntu 16.04 won't run after compile
« on: May 11, 2016, 01:56:42 pm »
So I got the src, compiled and ended up getting error when trying to lauch the game.

Quote
C:\GAMES\OPENXCOM>openxcom

ERROR: Failed to load 'UFO: Enemy Unknown / X-Com: UFO Defense'; mod disabled for next startup
standard/xcom1/alienDeployments.rul: yaml-cpp: error at line 0, column 0: Invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
Make sure you installed OpenXcom correctly.
Check the wiki documentation for more details.

Same error with TFTD.

Any working compiled version I can get for 16.04? Or do I have to wait for it to be fixed? Or is it my fault?

I don't think it is on my end. I've tried moving files around to the different places it looks for'em and so on. Either it doesn't find the game files or it fails to load them.
« Last Edit: May 27, 2016, 02:17:30 pm by MuNglo »

Offline hellrazor

  • Commander
  • *****
  • Posts: 2027
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: Ubuntu 16.04 won't run after compile
« Reply #1 on: May 11, 2016, 07:13:15 pm »
So I got the src, compiled and ended up getting error when trying to lauch the game.

Same error with TFTD.

Any working compiled version I can get for 16.04? Or do I have to wait for it to be fixed? Or is it my fault?

I don't think it is on my end. I've tried moving files around to the different places it looks for'em and so on. Either it doesn't find the game files or it fails to load them.

Check which version of libyaml-cpp is installed.
You need Version 0.5.1 or 0.5.3.

You can check which version of libyaml-cpp is installed with this command:
Code: [Select]
sudo apt-cache show libyaml-cpp0.5

Alternatively you can also try to check for libyaml-cpp0.5v5

This will result in a output like this: (i am running Ubuntu 14.04 proposed)

Code: [Select]
Package: libyaml-cpp0.5
Priority: optional
Section: universe/libs
Installed-Size: 546
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Lifeng Sun <lifongsun@gmail.com>
Architecture: amd64
Source: yaml-cpp
Version: 0.5.1-1
Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
Pre-Depends: multiarch-support
Filename: pool/universe/y/yaml-cpp/libyaml-cpp0.5_0.5.1-1_amd64.deb
Size: 206564
MD5sum: af7b97370a44000dc980cc649d344c2f
SHA1: 5a8e14346f377038bde7dce309b00c48a0fd7c87
SHA256: 17a4d77e673f57585ba878255661632a218d635e31584fe6cb9b196bc073c6e5
Description-en: YAML parser and emitter for C++
 yaml-cpp is a C++ library for parsing and emitting data in YAML 1.2, a
 human-readable data serialization format.
 .
 This package provides run-time library of yaml-cpp.
Description-md5: dc73d50060451c24fd11353aa2413ac3
Multi-Arch: same
Homepage: https://code.google.com/p/yaml-cpp/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
« Last Edit: May 11, 2016, 07:31:40 pm by hellrazor »

Offline R1dO

  • Colonel
  • ****
  • Posts: 442
    • View Profile
Re: Ubuntu 16.04 won't run after compile
« Reply #2 on: May 11, 2016, 10:41:46 pm »
Unfortunately 16.04 only has version 0.5.2 in the repositories. With no easy way to downgrade or upgrade.

If you are comfortable with compiling yaml please take care to use the 0.5.3 tag and not the master branch.

Offline MuNglo

  • Squaddie
  • *
  • Posts: 9
    • View Profile
Re: Ubuntu 16.04 won't run after compile
« Reply #3 on: May 11, 2016, 11:21:26 pm »
That doesn't sound promising. I'd rather not to a lot of steps to get a working compile as I think I exponentinally increase the chances of creating chaos for each step. :D

In any case the libyaml-cpp0.5v5 got a hit. this is what it returned.
Looks to me it is supposed to replace 0.5.2 and 0.5.3? But isn't compatible? :/

Quote
Package: libyaml-cpp0.5v5
Priority: optional
Section: universe/libs
Installed-Size: 510
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Lifeng Sun <lifongsun@gmail.com>
Architecture: amd64
Source: yaml-cpp
Version: 0.5.2-3
Replaces: libyaml-cpp0.5
Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 5.2)
Conflicts: libyaml-cpp0.5
Filename: pool/universe/y/yaml-cpp/libyaml-cpp0.5v5_0.5.2-3_amd64.deb
Size: 158180
MD5sum: 64d64700d6cbfad49c487b252dcc5c52
SHA1: c04891ae8d335277d634c5b0a029ae658c214e7c
SHA256: d28e25eb6fb7e5892210802d99bf7c2be5eb251269be90806157623bdad6a912
Description-en: YAML parser and emitter for C++
 yaml-cpp is a C++ library for parsing and emitting data in YAML 1.2, a
 human-readable data serialization format.
 .
 This package provides run-time library of yaml-cpp.
Description-md5: dc73d50060451c24fd11353aa2413ac3
Multi-Arch: same
Homepage: https://github.com/jbeder/yaml-cpp
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

I might dare to try to compile Yaml if I can get a good rundown of how to do it without messing up my system. I mean if it isn't working the same way I wouldn't want anything but OpenXcom to use it really. Wouldn't want to cause more problems down the road.

Offline harre

  • Sergeant
  • **
  • Posts: 45
    • View Profile
Re: Ubuntu 16.04 won't run after compile
« Reply #4 on: May 12, 2016, 12:03:11 am »
I'm not skilled enough, but shouldn't it be possible to create a docker image for ubuntu 14.04 that is possible to build with?

Offline hellrazor

  • Commander
  • *****
  • Posts: 2027
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: Ubuntu 16.04 won't run after compile
« Reply #5 on: May 12, 2016, 12:17:44 am »
That doesn't sound promising. I'd rather not to a lot of steps to get a working compile as I think I exponentinally increase the chances of creating chaos for each step. :D

In any case the libyaml-cpp0.5v5 got a hit. this is what it returned.
Looks to me it is supposed to replace 0.5.2 and 0.5.3? But isn't compatible? :/

I might dare to try to compile Yaml if I can get a good rundown of how to do it without messing up my system. I mean if it isn't working the same way I wouldn't want anything but OpenXcom to use it really. Wouldn't want to cause more problems down the road.

Thats 0.5.2 branch what you got there, which probably will not work.

Offline R1dO

  • Colonel
  • ****
  • Posts: 442
    • View Profile
Re: Ubuntu 16.04 won't run after compile
« Reply #6 on: May 12, 2016, 12:41:17 am »
In any case the libyaml-cpp0.5v5 got a hit. this is what it returned.
Code: [Select]
Version: 0.5.2-3

Nope that is still 0.5.2 .. i think v5 has a different meaning there.

I might dare to try to compile Yaml if I can get a good rundown of how to do it without messing up my system. I mean if it isn't working the same way I wouldn't want anything but OpenXcom to use it really. Wouldn't want to cause more problems down the road.
As far as i can tell (running with the 0.5.3 branch here) it does not really interfere with other packages, also a quick look under synaptic on Dependants of the ubuntu package shows very little entries.

As a simple rundown, those are the steps i took:
* Remove the libyaml-cpp0.5v5 package (to ensure it won't clash when, although this might not be necessary since `/usr/local/` should shadow it.
* Clone the repository https://github.com/jbeder/yaml-cpp (or download the 0.5.3 release from https://github.com/jbeder/yaml-cpp/releases
* Navigate to that repository.
* Run
Code: [Select]
git checkout release-0.5.3  to get the correct branch (not needed if downloaded the source from the release page)
* Create a build directory and navigate to that dir
Code: [Select]
mkdir build; cd build* Run cmake to find dependencies and generate makefiles
Code: [Select]
cmake  -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local .. * Run make (and take a beer)
* Run make install

And try building oxc again (just to be sure that oxc does not try to access the previously known libyaml it is better it the remove the old build files).

Hope it helps

Offline MuNglo

  • Squaddie
  • *
  • Posts: 9
    • View Profile
Re: Ubuntu 16.04 won't run after compile
« Reply #7 on: May 12, 2016, 01:01:36 am »
I might give that a try tomorrow. To late for it now.
thanks for taking the time to help. I'll let you know how much I manage to fobar it.

Offline MuNglo

  • Squaddie
  • *
  • Posts: 9
    • View Profile
Re: Ubuntu 16.04 won't run after compile
« Reply #8 on: May 17, 2016, 11:27:23 pm »
So I did this. (More or less. didn't uninstall the 5v5 version)

Nope that is still 0.5.2 .. i think v5 has a different meaning there.
As far as i can tell (running with the 0.5.3 branch here) it does not really interfere with other packages, also a quick look under synaptic on Dependants of the ubuntu package shows very little entries.

As a simple rundown, those are the steps i took:
* Remove the libyaml-cpp0.5v5 package (to ensure it won't clash when, although this might not be necessary since `/usr/local/` should shadow it.
* Clone the repository https://github.com/jbeder/yaml-cpp (or download the 0.5.3 release from https://github.com/jbeder/yaml-cpp/releases
* Navigate to that repository.
* Run
Code: [Select]
git checkout release-0.5.3  to get the correct branch (not needed if downloaded the source from the release page)
* Create a build directory and navigate to that dir
Code: [Select]
mkdir build; cd build* Run cmake to find dependencies and generate makefiles
Code: [Select]
cmake  -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local .. * Run make (and take a beer)
* Run make install

And try building oxc again (just to be sure that oxc does not try to access the previously known libyaml it is better it the remove the old build files).

Hope it helps

 
I get a feeling I did something really wrong as it seems it crashes even faster now.

This was made with a git clone of source just a bit before this post.

This is the error I ended up with...

Quote
[17-05-2016_22-27-57]   [FATAL]   A fatal error has occurred: signal 11
[17-05-2016_22-27-57]   [FATAL]   ./openxcom() [0x76da16]
[17-05-2016_22-27-57]   [FATAL]   ./openxcom() [0x76f528]
[17-05-2016_22-27-57]   [FATAL]   ./openxcom() [0x412604]
[17-05-2016_22-27-57]   [FATAL]   /lib/x86_64-linux-gnu/libc.so.6(+0x354a0) [0x7fb7ae8694a0]
[17-05-2016_22-27-57]   [FATAL]   ./openxcom() [0x4ede93]
[17-05-2016_22-27-57]   [FATAL]   ./openxcom() [0x75593f]
[17-05-2016_22-27-57]   [FATAL]   ./openxcom() [0x752d33]
[17-05-2016_22-27-57]   [FATAL]   ./openxcom() [0x753d23]
[17-05-2016_22-27-57]   [FATAL]   ./openxcom() [0x7549d3]
[17-05-2016_22-27-57]   [FATAL]   ./openxcom(main+0x53) [0x40f613]
[17-05-2016_22-27-57]   [FATAL]   /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7fb7ae854830]
[17-05-2016_22-27-57]   [FATAL]   ./openxcom() [0x4118c9]
[17-05-2016_22-27-57]   [FATAL]   OpenXcom has crashed: signal 11
Extra information has been saved to openxcom.log.
If this error was unexpected, please report it to the developers.

With or without the gamefiles doesn't matter. This from running it both as default and locally contained from /home/user/Games/OpenXcom

So did I mess up not removing the 5b5 yaml version or what?

Sorry, I'm really not experienced building from source.

Offline R1dO

  • Colonel
  • ****
  • Posts: 442
    • View Profile
Re: Ubuntu 16.04 won't run after compile
« Reply #9 on: May 18, 2016, 02:34:37 am »
Since it is in your repository you can always try to remove the v5.5 package ... if something depends on it your package manager should remove it as well (which is a good point to check if some important software depends on it, and abort ;)).
If you later on decide you want it back it is just an easy (re)install.

The error you posted is not really getting me anywhere .. could you upload the logfile as well.

And did you remove the previous git build of oxc completely before building it again (if you use out of build it is as easy as removing that directory, otherwise try creating a new clone and build from there)?

Last but not least ... if possible try including the SHA hash of your git clone when referring to the source in your posts, "The version before <some statement>" is rather ambiguous, the SHA helps us get a better idea which version you were trying to build (and if it has known problems).

Offline MuNglo

  • Squaddie
  • *
  • Posts: 9
    • View Profile
Re: Ubuntu 16.04 won't run after compile
« Reply #10 on: May 18, 2016, 11:27:16 am »
That was the content of the log file. Yes it includes the "Extra information has been saved to openxcom.log." line in the log.

I Deleted the old folder and started with a fresh git clone so it should have been clean.

I'll look into doing the process again but without the 5v5 package installed.

One thing I did wonder about though is SDL. It says on the wiki that it depends on 1.2 and it seems I only have 1.3 installed. Can that be it?
I'm guessing no as it seems it locks up faster and harder then it did after my first compile. Then it got as far as to failing to read the game files at least.

Offline R1dO

  • Colonel
  • ****
  • Posts: 442
    • View Profile
Re: Ubuntu 16.04 won't run after compile
« Reply #11 on: May 18, 2016, 03:39:53 pm »
Ok i didn't know that it was the log .. just had to be sure ;)

One thing I did wonder about though is SDL. It says on the wiki that it depends on 1.2 and it seems I only have 1.3 installed.
Something is wrong here (might just be interpretation) but the only known sdl flavors on 16.04 are libsdl1.2 and libsdl2. You need the first one.

I'll look into doing the process again but without the 5v5 package installed.
Hope this will work for you.

For completeness did you install all the OXC requirements as shown on ufopaedia compiling instructions, the section Linux/BSD.
In your case i would try the following alternate version (to ensure all dependencies are met).
Code: [Select]
apt install  build-essential libboost-dev libsdl1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev
Please note that i didn't include xmlto since it is only needed for generation of specific documentation. If i was mistaken in this regard you can always install it later using:
Code: [Select]
apt install xmlto
P.s. In 16.04 ``apt install`` does basically the same as ``apt-get install``

edit@ 14:40
I almost forgot ... after installing yaml what does
Code: [Select]
ls -l /usr/local/lib show:
Mine gives:
Spoiler:
lrwxrwxrwx 1 root root      18 dec 30 03:44 libyaml-cpp.so -> libyaml-cpp.so.0.5
lrwxrwxrwx 1 root root      20 jan 10 23:51 libyaml-cpp.so.0.5 -> libyaml-cpp.so.0.5.3
-rw-r--r-- 1 root root  590440 jan 10 23:51 libyaml-cpp.so.0.5.3
« Last Edit: May 18, 2016, 03:44:40 pm by R1dO »

Offline MuNglo

  • Squaddie
  • *
  • Posts: 9
    • View Profile
Re: Ubuntu 16.04 won't run after compile
« Reply #12 on: May 26, 2016, 04:36:01 pm »
--EDIT--
It is working now. Don't know if it was the 5v5 version messing it up or not. Just happy it works.
---------

So this looks ok I guess
Code: [Select]
munglo@munglo-win:~$ sudo apt install  build-essential libboost-dev libsdl1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev
sudo: unable to resolve host munglo-win
Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version (12.1ubuntu2).
build-essential set to manually installed.
libboost-dev is already the newest version (1.58.0.1ubuntu1).
libboost-dev set to manually installed.
libsdl1.2-dev is already the newest version (1.2.15+dfsg1-3).
libsdl-gfx1.2-dev is already the newest version (2.0.25-5).
libsdl-image1.2-dev is already the newest version (1.2.12-5build2).
libsdl-mixer1.2-dev is already the newest version (1.2.12-11build1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

the xmlto want to install over a gig of additional stuff. So I rather not tbh.

The usr/local/lib content looks the same plus some python stuff.

Now I did figure out that the SDL 1.2 packages is replaced by..
Code: [Select]
Package libsdl1.2 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  libsdl1.2debian-nas libsdl1.2debian-pulseaudio libsdl1.2debian-oss
  libsdl1.2debian-esd libsdl1.2debian-alsa libsdl1.2debian-all

But that seems like it is old info as I get this instead..
Code: [Select]
munglo@munglo-win:~$ sudo apt-get install libsdl1.2debian-nassudo: unable to resolve host munglo-win
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libsdl1.2debian-nas is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  libsdl1.2debian:i386 libsdl1.2debian

Which leads to..
Code: [Select]
munglo@munglo-win:~$ sudo apt-get install libsdl1.2debian
sudo: unable to resolve host munglo-win
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libsdl1.2debian is already the newest version (1.2.15+dfsg1-3).
libsdl1.2debian set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

So now i will try to remove the 5v5 yaml version and recompile. Edit incoming. If that doesn't work I have no clue what to try next.

----EDIT-----
So it's official. Weekend destroyed.
« Last Edit: May 26, 2016, 05:00:42 pm by MuNglo »

Offline R1dO

  • Colonel
  • ****
  • Posts: 442
    • View Profile
Re: Ubuntu 16.04 won't run after compile
« Reply #13 on: May 27, 2016, 12:17:07 am »
--EDIT--
It is working now. Don't know if it was the 5v5 version messing it up or not. Just happy it works.
---------
Glad it works ... enjoy your weekend ;)
Am i correct that the removal of libyaml ubuntu package actually did resolve the error?

Code: [Select]
...
sudo: unable to resolve host munglo-win
...
This is some weird error ... is your "/etc/hosts" file up to date?

the xmlto want to install over a gig of additional stuff. So I rather not tbh.
It is probably only necessary for building documentation .. so it's fine to skip.

The usr/local/lib content looks the same plus some python stuff.
So did  mine .. i just removed the irrelevant entries ;)

Now I did figure out that the SDL 1.2 packages is replaced by..

Code: [Select]
Package libsdl1.2 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
...
Who told you to try installing something called "libsdl1.2" ? libsdl1.2-dev should have the correct library (in this case "libsdl1.2debian") as a dependency so manually installing some other "libsdl1.2*" package should not be needed.

Still .. congrats on your successful build .. may your rookies live long and prosper.

Offline MuNglo

  • Squaddie
  • *
  • Posts: 9
    • View Profile
Re: Ubuntu 16.04 won't run after compile
« Reply #14 on: May 27, 2016, 08:00:52 am »
Not really sure if it was the removal of the yaml 5v5 package that fixed it. I did start with a new source download. Just happy it works now.

That host thing is coming up when using sudo. Started after I changed the hostname of the computer. Haven't bothered looking into a fix for it since it doesn't seem to matter. Maybe it would matter if I where connecting over network though. For now it lands on the ignore until it breaks pile.  ;D

About the SDL bit. I was googling wildly and seeing a bunch of different compile related stuff due to the SDL 1.2 actually having been replaced with the debian named one. Don't remember the details but in short it seems that some where having problems. I don't know. Just happy it works now.
Also it might have been from https://www.ufopaedia.org/index.php?title=Compiling_%28OpenXcom%29
It is the first one listed under dependencies.

Oh and while I was messing with OBS settings I ran a battle scenario. Moved the first soldier one step. That was as far as he got.  :'(