ci: Fix AppImage glibc compatibility for older Linux distributions

- Switch from Ubuntu 24.04 to Ubuntu 20.04 for better glibc compatibility
- Update ICU library version from libicu74 to libicu66 for Ubuntu 20.04
- Remove qtwebengine5-dev package that may not be available in 20.04
- Add static linking flags for libgcc and libstdc++ to reduce runtime dependencies
- Add ARCH and VERSION environment variables for AppImage build
- This should fix the '__nptl_change_stack_perm' GLIBC_PRIVATE symbol error
- AppImage will now be compatible with older Linux distributions like Nobara 42
This commit is contained in:
Zephyron
2025-09-19 12:44:01 +10:00
parent 01811c926b
commit d3203d22bc

View File

@@ -51,7 +51,7 @@ build-windows:
# Linux Build (Ubuntu 24.04 optimized)
build-linux:
stage: build
image: ubuntu:24.04
image: ubuntu:20.04
tags:
- linux
- ubuntu
@@ -69,10 +69,10 @@ build-linux:
- apt-get install -y -qq libssl-dev libboost-all-dev libboost-context-dev
- apt-get install -y -qq libstb-dev libopus-dev libenet-dev libsimpleini-dev
- apt-get install -y -qq libvulkan-dev
- apt-get install -y -qq qtbase5-dev qtbase5-private-dev qtwebengine5-dev qtmultimedia5-dev
- apt-get install -y -qq qtbase5-dev qtbase5-private-dev qtmultimedia5-dev
- apt-get install -y -qq libqt5core5a libqt5gui5 libqt5widgets5 libqt5dbus5
- apt-get install -y -qq qt5-image-formats-plugins qt5-gtk-platformtheme
- apt-get install -y -qq libicu74
- apt-get install -y -qq libicu66
- apt-get install -y -qq mesa-common-dev libdrm-dev
- apt-get install -y -qq nasm
- apt-get install -y -qq glslang-tools
@@ -80,7 +80,7 @@ build-linux:
- apt-get install -y -qq libfuse2 gdb
script:
- git submodule update --init --recursive
- cmake -B build -S . -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DENABLE_QT=ON -DENABLE_SDL2=ON -DENABLE_WEB_SERVICE=ON -DCITRON_USE_BUNDLED_VCPKG=ON -DCITRON_USE_BUNDLED_FFMPEG=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_FLAGS="-Wno-error=conversion" -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON
- cmake -B build -S . -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DENABLE_QT=ON -DENABLE_SDL2=ON -DENABLE_WEB_SERVICE=ON -DCITRON_USE_BUNDLED_VCPKG=ON -DCITRON_USE_BUNDLED_FFMPEG=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_FLAGS="-Wno-error=conversion" -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON -DCMAKE_EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++"
- cmake --build build --config $BUILD_TYPE --parallel $CMAKE_BUILD_PARALLEL_LEVEL
- echo "Build completed, checking for executables..."
- ls -la build/bin/ || echo "No build/bin directory found"
@@ -90,6 +90,8 @@ build-linux:
- chmod +x AppImage-build-local.sh
- echo "Attempting AppImage build with FUSE workaround..."
- export APPIMAGE_EXTRACT_AND_RUN=1
- export ARCH=x86_64
- export VERSION=$(git describe --tags --always)
- ./AppImage-build-local.sh || echo "AppImage build failed, continuing..."
artifacts:
paths: