Skip to content

Conversation

OoMrFlibble
Copy link

If this PR is accepted, the Oolite source will need the Linux-deps submodule tweaked to point to the relevant commit.

This should allow building the Linux self-extract installer on for example Ubuntu 21, and be able to run the resulting Oolite on Ubuntu 22. If one builds on a new system and tries to run on n older system that will fail. With this bundling method, we don't need so often to manually cherry-pick the libraries from the build host to allow execution on a newer distro.

I've observed which Linux-deps/include files are used, and reduced the binary libraries kept in the source tree to those which look like they actually need bundling from the ancient build.

I've tested building on x86_64 LinuxMint 21.3. Installer works on 22.1. I'd expect it to work as well if building on an older system (might be relevant for AppImage)

Not tested i386. Library paths in the script are copied from LMDE6.

The list below is a summary of what I've done for both x86 and x86_64

Deleted all in lib except:
libSDL-1.2.so.0
libespeak.so.1
libespeak.so.1.pulseaudio
libogg.so.0
libopenal.so.1
libpng14.so.14
libvorbis.so.0
libvorbisfile.so.3
libz.so.1

Renamed lib to lib-static, allowing easier cleanup.

modified make_so_links.sh to
Create lib directory.
Copy files from lib-static to lib.
Copy to lib from the build host the libraries to run Oolite on a newer system.
More loosely match library versions when symlinking.
New: 'clean' argument to remove all created links/files.

Deleted all in lib except:
 libSDL-1.2.so.0
 libespeak.so.1
 libespeak.so.1.pulseaudio
 libogg.so.0
 libopenal.so.1
 libpng14.so.14
 libvorbis.so.0
 libvorbisfile.so.3
 libz.so.1

Renamed lib to lib-static

modified make_so_links.sh to
 More loosely match library versions.
 Create lib directory.
 Copy files from lib-static to lib.
 Copy to lib from the build host the libraries to run Oolite on a newer system.
 Added 'clean' argument to remove all created links/files.
@OoMrFlibble
Copy link
Author

I think there's a stray deleteme file in x86/lib-static which can be safely zapped. Figured easier to mention here than to redo the PR for such a simple tweak.

Test pre-release https://github.com/OoMrFlibble/oolite/releases/tag/1.91.0.7712-250620-459153a

@AnotherCommander
Copy link
Member

Waiting on a confirmation for the merge. @oocube , are we good to go?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants