Skip to content

Build errors on Linux for x86_32 and arm64 #1775

Closed
@Joy-less

Description

@Joy-less

Godot version

4.4.1-stable

godot-cpp version

4.4.1-stable

System information

Compiling on Linux Ubuntu 22.04 (GitHub Actions)

Issue description

This library builds correctly for most platforms & architectures but fails for Linux x86_32 and arm64. Note that both Linux x86_64 and arm32 are successful.

Error with Linux 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

Error with Linux 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

This is producing build errors for the pull request in godot-cpp template: godotengine/godot-cpp-template#89

Steps to reproduce

Build this library targeting either linux x86_32 or linux arm64 architectures.

Minimal reproduction project

godot-cpp template: https://github.com/godotengine/godot-cpp-template

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions