Page 1 of 1

Create a separate branch for 1.90 ?

Posted: Sun Aug 17, 2025 11:10 am
by Lone_Wolf
To get oolite 1.90 to build on archlinux I have had to make 3 changes to prevent build failure

Apply https://github.com/OoliteProject/oolite ... 6a92647363 from master

-Wno-error=incompatible-pointer-types
(not needed on master build)

-Wno-format-security (also needed on master)

Adding a 1.90 branch where fixes for 1.90 can be added would make it easier for downstream to keep oolite 1.90 usable .

Re: Create a separate branch for 1.90 ?

Posted: Mon Aug 18, 2025 12:26 am
by phkb
Two questions:
1. Does the latest main branch for 1.91 build successfully on your rig?
2. Do the pre-built Linux binaries for 1.90 not work on your rig?

I guess from a core dev perspective, all our effort is going into 1.91. Creating a branch for 1.90 and then backporting all the "bugfix" issues would still only cover WIndows easily, Linux with difficulty, and Mac not at all, given the state of our build environment. This was the reason we didn't create a bugfix build to correct the URL for the download manager, and instead we used a hex editor to adjust the executables in the pre-built packages.

Re: Create a separate branch for 1.90 ?

Posted: Mon Aug 18, 2025 10:45 am
by Lone_Wolf
2. Do the pre-built Linux binaries for 1.90 not work on your rig?
Are you referring to the "Oolite for 64-bit Linux" link on https://oolite.space/#download ?

I have the impression that is only usable for per-user installs and have never tried it.

Archlinux does some things differently then most distros so adjustments are often needed.
Those adjustments are easiest done by building from source to create binaries for systemwide usage that are managed by our package manager pacman.

EDIT
See viewtopic.php?t=21936 for my experience with 1.90 prebuilt .
<end-of-edit>
1. Does the latest main branch for 1.91 build successfully on your rig?
Yes, but some adjustments are needed.

Two adjustments are mandatory to make things work with 1.91 Release target :
- add OBJCFLAGS+="-Wno-format-security" to the make command to suppress format-security errors
(solving that will require sourcecode changes)

- force the use of libpng14
oolite build system looks for png , finds libpng 16 (if present), stops searching and links to it.
When only libpng 14 is installed, the build system doesn't find png.

The link with libpng 16 causes issues at runtime : menu items are shown as colored bricks without any text.
Patching one line in GNUMakefile to explicitly link to png14 instead of png solves this.

A 3rd adjustment I make is to use espeak-ng instead of espeak.
oolite works with both, but espeak & espeak-ng can't coexist on archlinux so using the maintained espeak-ng is better .

Re: Create a separate branch for 1.90 ?

Posted: Mon Aug 18, 2025 3:13 pm
by MrFlibble
Lone_Wolf wrote: Mon Aug 18, 2025 10:45 am
- force the use of libpng14
oolite build system looks for png , finds libpng 16 (if present), stops searching and links to it.
When only libpng 14 is installed, the build system doesn't find png.

The link with libpng 16 causes issues at runtime : menu items are shown as colored bricks without any text.
Patching one line in GNUMakefile to explicitly link to png14 instead of png solves this.
I've successfully used 1.6, the only issue being a load of log noise, which I've shown a workaround for..
Lone_Wolf wrote: Mon Aug 18, 2025 10:45 am
A 3rd adjustment I make is to use espeak-ng instead of espeak.
oolite works with both, but espeak & espeak-ng can't coexist on archlinux so using the maintained espeak-ng is better .
My fork uses ng too. Seems the best plan.