There's something odd at play here. I see no such issue.
I'm building my fork on github, using an Ubuntu 22.04 runner. Installing the resulting self-extract installer to $HOME on a kubuntu 25.04 VM.
Here's what we have on the build host:
Code: Select all
$ dpkg -l | grep '^ii *libpng' | awk '{print $2"-"$3}'
libpng-dev:amd64-1.6.37-3build5
libpng16-16:amd64-1.6.37-3build5
$ ls -al /usr/lib/x86_64-linux-gnu/libpng* | sed 's@^[^/]*@@g'
/usr/lib/x86_64-linux-gnu/libpng.a -> libpng16.a
/usr/lib/x86_64-linux-gnu/libpng.so -> libpng16.so
/usr/lib/x86_64-linux-gnu/libpng16.a
/usr/lib/x86_64-linux-gnu/libpng16.so -> libpng16.so.16.37.0
/usr/lib/x86_64-linux-gnu/libpng16.so.16 -> libpng16.so.16.37.0
/usr/lib/x86_64-linux-gnu/libpng16.so.16.37.0
Quite a lot going on here, partly 'cos I'm pulling in the dev package.
Also we have the libpng.so on Ubuntu 22.04
Regarding libpng.so symlink, I checked on my LinuxMint 21.3, which is based on Ubuntu 22.04
Code: Select all
$ dpkg -S /usr/lib/x86_64-linux-gnu/libpng.so
libpng-dev:amd64: /usr/lib/x86_64-linux-gnu/libpng.so
So that symlink is put there by the dev package on Ubuntu. I've left it that way in the source, to give one less thing to edit when libpng gets an upgrade to >16.
Here's what we get from the installed Oolite on the kubuntu 25.04 target:
Code: Select all
$ ldd $HOME/GNUstep/Applications/Oolite/oolite.app/oolite | grep png
libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x0000777256e7d000)
$ dpkg -l | grep '^ii *libpng' | awk '{print $2"-"$3}'
libpng16-16t64:amd64-1.6.47-1.1
$ ls -al /usr/lib/x86_64-linux-gnu/libpng* | sed 's@^[^/]*@@g'
/usr/lib/x86_64-linux-gnu/libpng16.so.16 -> libpng16.so.16.47.0
/usr/lib/x86_64-linux-gnu/libpng16.so.16.47.0
As discovered above, Ubuntu will not have the libpng.so symlink without the dev package.
So even though on the github runner it built against libpng-dev-1.6.37-3build5 it's working fine with the newer one here.
I proceed to test the game, albeit slowly in the VM. I'm running it with the wrapper scripts.
Code: Select all
$ $HOME/GNUstep/Applications/Oolite/oolite
Configuration contains unknown keys - ("GNUSTEP_FILESYSTEM_LAYOUT")
Add them in the comma separated list GNUSTEP_EXTRA=... if required.
Unable to create time zone for name: 'Europe/London'
(source '(null)').
You can override the timezone name by setting the 'Local Time Zone'
NSUserDefault via the 'defaults' command line utility, a Preferences
application, or some other utility.
eg "defaults write NSGlobalDomain 'Local Time Zone' 'Africa/Nairobi'"
See '(null)'
for the standard timezones such as 'GB-Eire' or 'America/Chicago'.
No problem seeing menu, and on previous longer runs, launching etc. I'll check the log.
Code: Select all
$ grep -i png $HOME/.Oolite/Logs/Latest.log
14:21:56.526 [texture.load.png.warning]: ----- A PNG loading warning occurred for /home/damien/GNUstep/Applications/Oolite/oolite.app/Resources/Textures/trumblekit.png: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG.
14:22:11.550 [texture.load.png.warning]: ----- A PNG loading warning occurred for /home/damien/GNUstep/Applications/Oolite/oolite.app/Resources/Textures/trumblekit.png: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG.
14:22:11.550 [texture.load.png.warning]: ----- A PNG loading warning occurred for /home/damien/GNUstep/Applications/Oolite/oolite.app/Resources/Textures/trumblekit.png: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG.
14:24:26.587 [texture.load.png.warning]: ----- A PNG loading warning occurred for /home/damien/GNUstep/Applications/Oolite/oolite.app/Resources/Textures/trumblekit.png: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG.
14:24:35.948 [texture.load.png.warning]: ----- A PNG loading warning occurred for /home/damien/GNUstep/Applications/Oolite/oolite.app/Resources/Textures/trumblekit.png: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG.
So it 'can' work with libpng16.