Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

For discussion of ports to POSIX based systems, especially using GNUStep.

Moderators: another_commander, winston, Getafix

User avatar
Cas Tell
Competent
Competent
Posts: 41
Joined: Sat Dec 09, 2023 12:05 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Cas Tell »

hiran wrote: Sat Dec 30, 2023 3:49 pm
Core I 7 and 16 GB RAM do not sound underpowered. Assign at least 4 GB RAM and two cores to your Linux VM, reduce the amount of applications running on the host and it should perform better.
2 cores helped indeed, thanks! - I struggled with a too small disk. If the disk is too small the installation process hangs forever without giving any error message. My assumption is that the dynamic sizing performed by Virtualbox doesn't work in this early stage when there are no Guest Additions. I first had to adapt the disk size accordingly until I had the first VM running.

Anyways, all I need to do here is to check whether the installation scripts work. And another pain somewhere in the Galaxy are exactly these Guest Additions, I always spend 10 to 15 minutes until I get them going and can reboot, having a reasonable display then. I should write down a recipe on a 3M Post-It-On-Display™.
User avatar
hiran
Theorethicist
Posts: 2055
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by hiran »

Cas Tell wrote: Sat Dec 30, 2023 5:24 pm
2 cores helped indeed, thanks! - I struggled with a too small disk. If the disk is too small the installation process hangs forever without giving any error message. My assumption is that the dynamic sizing performed by Virtualbox doesn't work in this early stage when there are no Guest Additions. I first had to adapt the disk size accordingly until I had the first VM running.
Good to hear the VMs perform better now. I believe the dynamic disk size works independently of guest additions - but it is slower than allocating the fixed size from the beginning. You have the choice. But since you figured out a good start value for disk size that problem should be gone.
Cas Tell wrote: Sat Dec 30, 2023 5:24 pm
Anyways, all I need to do here is to check whether the installation scripts work. And another pain somewhere in the Galaxy are exactly these Guest Additions, I always spend 10 to 15 minutes until I get them going and can reboot, having a reasonable display then. I should write down a recipe on a 3M Post-It-On-Display™.
If you are interested in a skeleton installing an Ubuntu VM with guest additions through Vagrant/Virtualbox/Ansible, have a look at
https://github.com/HiranChaudhuri/OoliteBuilder

Whether you can do everything based on Vagrant depends a bit if you can find your desired operating systems prepackaged as Vagrant Box at
https://app.vagrantup.com/boxes/search

I can help you a bit when it comes to this scripting - it is just that I cannot execute it.
Sunshine - Moonlight - Good Times - Oolite
User avatar
Cas Tell
Competent
Competent
Posts: 41
Joined: Sat Dec 09, 2023 12:05 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Cas Tell »

Today I have installed a virtual machine with Ubuntu 22. I tested the script and it worked perfectly! Next thing will be Fedora, a distro I've never worked with before, that'll be interesting.

At the moment I do these VM tasks manually to have full control and, most important, to get an idea of a good plan, a good environment for further testing. Vagrant seems to be a good solution, and having pre-configured resources is quite nice, I'll definitely check this out in the future. Since I'm not at home I have only limited resources to work with, but that's okay. Doing things step by step can be a good learning process.

I still wonder why under certain circumstances we run into these weird lib problems. I could not reproduce these on fresh installations of Kali and Ubuntu thus far.

PS: Worked several hours on Fedora. A real nightmare... And still no success... Will continue tomorrow. HAPPY NEW YEAR, FOLKS!
Commander_X
---- E L I T E ----
---- E L I T E ----
Posts: 664
Joined: Sat Aug 09, 2014 4:16 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Commander_X »

Cas Tell wrote: Sun Dec 31, 2023 12:55 pm
[...]
PS: Worked several hours on Fedora. A real nightmare... And still no success... Will continue tomorrow. HAPPY NEW YEAR, FOLKS!
Happy New Year!
Just to smooth it a bit for you, imagine you'll have to try it afterwards on an Arch distro, thus you'll have to evolve deb/apt-get -> rpm/yum/dnf -> pacman :D
... And it will still not be the same for Gentoo or Slackware.
User avatar
Cas Tell
Competent
Competent
Posts: 41
Joined: Sat Dec 09, 2023 12:05 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Cas Tell »

The most recent artifact (the Happy-New-Year-2024 one), pkg-posix, works on Fedora 39, IF you do this beforehand:

Code: Select all

sudo dnf -y update git
sudo yum -y install gcc-objc
sudo yum -y install libobjc
sudo yum -y install gnustep-base-devel
sudo yum -y install gnustep-gui-devel    # no candidate
sudo yum -y install gnustep-gui-libs     # no candidate
sudo yum -y install gnustep-back         # no candidate
sudo yum -y install gnustep-make
sudo yum -y install gnustep-filesystem
sudo yum -y install gorm-devel           # no candidate
sudo yum -y install libjpeg-turbo-devel
sudo yum -y install libtiff-devel
sudo yum -y install libdeflate-devel
sudo yum -y install libwebp-devel
sudo yum -y install libzstd-devel
sudo yum -y install zlib-devel
sudo yum -y install make
sudo yum -y install SDL2-devel
sudo yum -y install libvorbis-devel
sudo yum -y install openal-devel
sudo yum -y install g++
sudo yum -y install espeak-devel
sudo yum -y install nspr-devel
sudo yum -y install libpng-devel
The "no candidate" entries are still to be evaluated, I could not find a Fedora library to install this stuff.

When Oolite is started on the commandline, few errors are thrown but the game runs:

Code: Select all

usr@fedora:~/Oolite-Artifacts/Happy-New-Year-2024$ /home/usr/GNUstep/Applications/Oolite/oolite
AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse"
MESA: error: ZINK: failed to choose pdev
glx: failed to create drisw screen
failed to load driver: zink
AL lib: (WW) FreeDevice: (0x56358d69fc80) Deleting 2 Buffer(s)
I forgot, this command is also necessary:

Code: Select all

sudo dnf install mesa-libGLU
As an early resume I can only say: Fedora is the crudest and least user-friendly distro I've ever dealt with.
Commander_X
---- E L I T E ----
---- E L I T E ----
Posts: 664
Joined: Sat Aug 09, 2014 4:16 pm

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by Commander_X »

Cas Tell wrote: Mon Jan 01, 2024 12:12 pm
[...]
The "no candidate" entries are still to be evaluated, I could not find a Fedora library to install this stuff.
[...]
Luckily, none (including gnustep-filesystem) of the "no candidate" tagged entries are needed to compile/run Oolite ;)
User avatar
hiran
Theorethicist
Posts: 2055
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Oolite won't start: libgnustep-base.so.1.28: cannot open shared object file

Post by hiran »

I just reinstalled my desktop using Ubuntu 22.04.4 LTS. And installed the currently latest Oolite 1.91.0.7603-240326-8bf37b2.
All my tests on OoliteStarter went quite well, but when ultimately I tried running Oolite I got this:

Code: Select all

 ./oolite.app/oolite: error while loading shared libraries: libgnustep-base.so.1.28: cannot open shared object file: No such file or directory
21:48:27.391 [Thread-4] INFO  Oolite - 
21:48:27.392 [Thread-4] INFO  Oolite - Erk. It looks like Oolite died with an error. When making an error
21:48:27.392 [Thread-4] INFO  Oolite - report, please copy + paste the log above into the report.
21:48:27.392 [Thread-4] INFO  Oolite -
But checking the Ubuntu repository at https://packages.ubuntu.com/search?keyw ... chon=names shows that libgnustep-base1.28 is definitely available on 22.04LTS.

Only then it occurred to me that I still needed to run

Code: Select all

sudo apt-get install gnustep
and now Oolite works again. Maybe something similar helps on other distros? There is at least a command to test the dependencies:

Code: Select all

LD_LIBRARY_PATH=~/GNUstep/Applications/Oolite/oolite-deps/lib ldd ~/GNUstep/Applications/Oolite/oolite.app/oolite | grep "=> not found"
This command is expected to have no output. If it does, you need to fix something.

Could we add this and a good explanation to the installer?
Sunshine - Moonlight - Good Times - Oolite
Post Reply