A wonderful step! Thanks for your insight. I actually managed to make such Debian 10 build that would run also on Ubuntu 18.04, Fedora 31 and Fedora 32 (purely usb/cd-booted live environments) with installing the required .so libraries.
It was better than making my recent Fedora version build, because it uses older GLIBCXX version, thus making it compatible with both older and newer Linux versionsā¦
ldd command is very helpful here, because sometimes you have to create a link of .so library file you already have to the one required by your OF app (the filename must match: if ldd requires libboost_filesystem.so.1.67.0, and you have only libboost_filesystem.so in the system, you make a link named: libboost_filesystem.so.1.67.0 that points into what you already have there.)
In case of Ubuntu (running Debian-compiled OF app), I had to make three linkages:
#note: libGLEW.so has to be linked to libGLEW.so.2.1 via:
sudo ln -s /usr/lib/x86_64-linux-gnu/libGLEW.so /usr/lib/x86_64-linux-gnu/libGLEW.so.2.1
#note: libboost_filesystem.so has to be linked to libboost_filesystem.so.1.67.0 via:
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_filesystem.so /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.67.0
#note: libboost_filesystem.so.1.67.0 has to be linked to libboost_system.so.1.67.0 via:
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.67.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0
Oddly enough, Debian compilation separated libboost_filesystem.so and libboost_system.so, where it should be the same (I guess?), so they are both eventually linked into one file in Ubuntu (libboost_filesystem.so that is present in the system structure).
I took notes so each Linux distro could have separate installation script.
Debian/Ubuntu would have:
sudo add-apt-repository universe
#update it
sudo apt update
#pass the apt-get install dependency packages
sudo apt-get install libopenal-dev libglfw3-dev librtaudio-dev libglew-dev libfreeimage-dev libboost-filesystem-dev liburiparser-dev libcurl4-openssl-dev
and then the linking of the files I mentioned aboveā¦
Fedora would have:
dnf install glfw-devel glew-devel freeimage-devel boost-devel uriparser-devel curl-devel
#make link of libboost_filesystem.so to libboost_filesystem.so.1.67.0 (the name is because of debian build)
sudo ln -s /usr/lib64/libboost_filesystem.so /usr/lib64/libboost_filesystem.so.1.67.0
sudo ln -s /usr/lib64/libboost_system.so /usr/lib64/libboost_system.so.1.67.0
If I understand it correctly, AppDir should have these resolved internally and linked into itself as though it was taking the ldds from the system (in this scenario, the .so files in AppDir are accessed instead of system, thus making it work on all Linux distros).
Thank you for providing your AudioStellar AppImage. Downloaded it (took a look - itās a cool app
), and will take inspiration from the package structure how to compose it the way that should work.