Skip to content

Improve workflow architectures #89

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

Merged
merged 1 commit into from
Apr 24, 2025

Conversation

Joy-less
Copy link
Contributor

Fixes #88:

  • Adds linux x86_32, linux arm64, linux arm32, windows arm64, template_release for non-linux builds
  • Rearranges builds for consistency
  • Fixes spelling error
  • Adds trailing comma to make it easier to add new items

I chose the architectures from the "all downloads" dropdown available at Godot 4.4.1-stable.

Notes from my research:

  • Windows does not support arm32.
  • iOS does not support x86_64 or x86_32, and does not use arm32 since iPhone 5 (2012).
  • wasm64 exists but is experimental and not supported by the compiler.

Possible issues:
I have been having issues with linux x86_32 and linux arm64 in my personal project:

I get this error with x86_32:

Compiling godot-cpp/src/core/memory.cpp ...
In file included from godot-cpp/include/godot_cpp/core/memory.hpp:34,
                 from godot-cpp/src/core/memory.cpp:31:
/usr/include/c++/11/cstddef:49:10: fatal error: bits/c++config.h: No such file or directory
   49 | #include <bits/c++config.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.

This StackOverflow question seems to match: https://stackoverflow.com/questions/4643197/missing-include-bits-cconfig-h-when-cross-compiling-64-bit-program-on-32-bit

I get this error with arm64:

Compiling godot-cpp/src/core/memory.cpp ...
cc1plus: error: bad value ('armv8-a') for '-march=' switch
cc1plus: note: valid arguments to '-march=' switch are: nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client rocketlake icelake-server cascadelake tigerlake cooperlake sapphirerapids alderlake bonnell atom silvermont slm goldmont goldmont-plus tremont knl knm x86-64 x86-64-v2 x86-64-v3 x86-64-v4 eden-x2 nano nano-1000 nano-[20](https://github.com/jsonh-org/JsonhGdextension/actions/runs/14551688442/job/40823637458#step:5:21)00 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 znver2 znver3 btver1 btver2 native

This StackOverflow question seems to match: https://stackoverflow.com/questions/40142803/cc1-error-bad-value-armv8-a-for-march-switch

Copy link
Member

@Ivorforce Ivorforce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me

@Joy-less
Copy link
Contributor Author

I made some changes:

  • Updated from ubuntu-22.04 to ubuntu-24.04
  • Fixed linux-arm64 errors by compiling on arm architecture. Note: arm is in preview for GitHub actions and not supported for private repositories.
  • Fixed linux-x86_32 errors by installing the multilib package.

@paddy-exe
Copy link
Collaborator

  • Updated from ubuntu-22.04 to ubuntu-24.04

Please revert this again. The version 22 was chosen for compatability reasons while still being maintained as a CI Maschine on GitHub actions.

@paddy-exe
Copy link
Collaborator

@Joy-less Could you do one final squash of all the different commits to clean the PR up? After that I can merge

- Adds `linux x86_32`, `linux arm64`, `linux arm32`, `windows arm64`, `template_release` for non-`linux` builds
- Rearranges builds for consistency
- Fixes spelling error
- Adds trailing comma to make it easier to add new items
@Joy-less Joy-less force-pushed the improve-workflow-architectures branch from 37de282 to cb186a6 Compare April 24, 2025 11:29
@Joy-less
Copy link
Contributor Author

@Joy-less Could you do one final squash of all the different commits to clean the PR up? After that I can merge

Squashed!!

@paddy-exe paddy-exe merged commit c0f558d into godotengine:main Apr 24, 2025
@paddy-exe
Copy link
Collaborator

Merged, thank you! 🙏🏻

@Joy-less Joy-less deleted the improve-workflow-architectures branch April 24, 2025 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Missing architectures
3 participants