Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create new appimage workflow #278

Merged
merged 26 commits into from
Jan 30, 2025
Merged

Create new appimage workflow #278

merged 26 commits into from
Jan 30, 2025

Conversation

Jammyjamjamman
Copy link
Contributor

Supports more architectures + means some workflow jobs can be removed.

@Jammyjamjamman Jammyjamjamman self-assigned this Sep 21, 2024
@andy5995
Copy link
Collaborator

As for the failing action on arm/v7, you could use curl instead of wget. I use this in the linuxdeploy container dockerfile: curl -LO https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/3b67a1d1c1b0c8268f57f2bce40fe2d33d409cea/linuxdeploy-plugin-gtk.sh

I have no idea why the amd64 build had no problem, but that one does.

@andy5995 andy5995 force-pushed the new-appimage-workflow branch from dd378a5 to 2e21868 Compare October 9, 2024 13:45
@andy5995 andy5995 force-pushed the new-appimage-workflow branch from 81d1d44 to 3cba607 Compare December 29, 2024 04:05
@andy5995
Copy link
Collaborator

Arm64 build is now failing due to a segfault.

[ 60%] Built target libmegaglest
[ 60%] Building CXX object source/glest_map_editor/CMakeFiles/megaglest_editor.dir/main.cpp.o
[ 60%] Building CXX object source/glest_map_editor/CMakeFiles/megaglest_editor.dir/__/glest_game/global/config.cpp.o
[ 61%] Building CXX object source/g3d_viewer/CMakeFiles/megaglest_g3dviewer.dir/__/glest_game/graphics/particle_type.cpp.o
[ 61%] Building CXX object source/glest_game/CMakeFiles/megaglest.dir/ai/ai.cpp.o
c++: internal compiler error: Segmentation fault signal terminated program cc1plus

This could mean some Ubuntu focal package has changed since the last successful build, or something related to the qemu action (I see they did a minor release (v3.3.0) two weeks ago); or it might be something else entirely. An unknown element. A variable that doesn't not exist in our universe but at the quantum level.

https://github.com/docker/setup-qemu-action/tags

I'll specify the v3.2.0 tag and see if the results change.

@andy5995
Copy link
Collaborator

After changing the qemu version to v3.2.0 the build fails with the same error at 12%

andy5995 and others added 2 commits January 24, 2025 17:57
Also switch appimage workflow to clang for now (gcc breaks arm64 build)
@andy5995
Copy link
Collaborator

After switching to clang, different error now


linuxdeploy -d $GAME_DESKTOP_DEST/megaglest.desktop \
  --icon-file=megaglest.png \
  --icon-filename=megaglest \
  --custom-apprun="$WORKSPACE/mk/linux/AppRun" \
  --executable AppDir/$INST_PREFIX/bin/megaglest \
  --appdir AppDir \
  --plugin gtk \
  --output appimage
linuxdeploy version 1-alpha (git commit ID 97f3b52), <local dev build> built on 2024-12-29 01:06:10 UTC

-- Creating basic AppDir structure -- 
Creating directory AppDir/usr/bin/ 
Creating directory AppDir/usr/lib/ 
Creating directory AppDir/usr/share/applications/ 
Creating directory AppDir/usr/share/icons/hicolor/ 
Creating directory AppDir/usr/share/icons/hicolor/16x16/apps/ 
Creating directory AppDir/usr/share/icons/hicolor/32x32/apps/ 
Creating directory AppDir/usr/share/icons/hicolor/64x64/apps/ 
Creating directory AppDir/usr/share/icons/hicolor/128x128/apps/ 
Creating directory AppDir/usr/share/icons/hicolor/256x256/apps/ 
Creating directory AppDir/usr/share/icons/hicolor/scalable/apps/ 

-- Deploying dependencies for existing files in AppDir -- 
Deploying dependencies for ELF file AppDir/usr/bin/megaglest 
terminate called after throwing an instance of 'std::runtime_error'
  what():  Failed to run ldd: exited with code 1
Aborted (core dumped)

@andy5995
Copy link
Collaborator

Retriggered with no changes but got a different error:

[ 30%] Building C object source/shared_lib/CMakeFiles/libmegaglest.dir/sources/feathery_ftp/ftpTargetPosix.c.o
[ 31%] Building C object source/shared_lib/CMakeFiles/libmegaglest.dir/sources/feathery_ftp/ftpTargetWin32.c.o
Segmentation fault (core dumped)
make[2]: *** [source/shared_lib/CMakeFiles/libmegaglest.dir/build.make:205: source/shared_lib/CMakeFiles/libmegaglest.dir/sources/feathery_ftp/ftpTargetWin32.c.o] Error 139
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:269: source/shared_lib/CMakeFiles/libmegaglest.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

@andy5995
Copy link
Collaborator

After trying in the jammy container:

In file included from /workspace/source/glest_game/world/scenario.h:24:
/workspace/source/glest_game/game/game_settings.h:186:30: warning: implicit conversion from 'float' to 'int' changes value from 1.5 to 1 [-Wliteral-conversion]
        fallbackCpuMultiplier = 1.5f;
                              ~ ^~~~
[ 73%] Building CXX object source/glest_game/CMakeFiles/megaglest.dir/gui/display.cpp.o
Segmentation fault (core dumped)
make[2]: *** [source/glest_game/CMakeFiles/megaglest.dir/build.make:401: source/glest_game/CMakeFiles/megaglest.dir/gui/display.cpp.o] Error 139
make[2]: *** Waiting for unfinished jobs....

@andy5995
Copy link
Collaborator

These segfaults may be related to tonistiigi/binfmt#215

@Jammyjamjamman Jammyjamjamman merged commit 88fe22c into develop Jan 30, 2025
11 checks passed
@Jammyjamjamman Jammyjamjamman deleted the new-appimage-workflow branch January 30, 2025 20:08
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