Skip to content

Cannot build for ppc64le #56448

Closed
Closed
@bkeys

Description

Godot version

3.4

System information

Fedora, ppc64le

Issue description

I tried to build godot on this platform, and I get the following error, I can replicate this on version 3.4.2 as well:

[bkeys@great-fox godot]$ scons use_llvm=yes target=release_debug p=linuxbsd
scons: Reading SConscript files ...
Platform "linuxbsd" is still called "x11" in Godot 3.x. Building for platform "x11".
Checking for C header file mntent.h... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
[ 29%] Compiling ==> thirdparty/embree/common/sys/sysinfo.cpp
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:17:
/usr/lib64/clang/13.0.0/include/ppc_wrappers/mmintrin.h:31:2: error: "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
#error                                                                         \
 ^
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:22:
/usr/lib64/clang/13.0.0/include/ppc_wrappers/xmmintrin.h:31:2: error: "Please read comment above. Use -DNO_WARN_X86_INTRINSICS to disable this error."
#error "Please read comment above. Use -DNO_WARN_X86_INTRINSICS to disable this error."
 ^
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:22:
In file included from /usr/lib64/clang/13.0.0/include/ppc_wrappers/xmmintrin.h:56:
/usr/lib64/clang/13.0.0/include/ppc_wrappers/mmintrin.h:31:2: error: "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
#error                                                                         \
 ^
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:27:
/usr/lib64/clang/13.0.0/include/ppc_wrappers/emmintrin.h:32:2: error: "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
#error "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
 ^
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:27:
In file included from /usr/lib64/clang/13.0.0/include/ppc_wrappers/emmintrin.h:43:
/usr/lib64/clang/13.0.0/include/ppc_wrappers/xmmintrin.h:31:2: error: "Please read comment above. Use -DNO_WARN_X86_INTRINSICS to disable this error."
#error "Please read comment above. Use -DNO_WARN_X86_INTRINSICS to disable this error."
 ^
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:32:
/usr/lib64/clang/13.0.0/include/ppc_wrappers/pmmintrin.h:35:2: error: "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this warning."
#error "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this warning."
 ^
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:32:
In file included from /usr/lib64/clang/13.0.0/include/ppc_wrappers/pmmintrin.h:44:
/usr/lib64/clang/13.0.0/include/ppc_wrappers/emmintrin.h:32:2: error: "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
#error "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
 ^
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:37:
In file included from /usr/lib64/clang/13.0.0/include/ppc_wrappers/tmmintrin.h:33:
/usr/lib64/clang/13.0.0/include/ppc_wrappers/pmmintrin.h:35:2: error: "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this warning."
#error "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this warning."
 ^
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:42:
/usr/lib64/clang/13.0.0/include/ppc_wrappers/smmintrin.h:25:2: error: "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
#error                                                                         \
 ^
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:42:
In file included from /usr/lib64/clang/13.0.0/include/ppc_wrappers/smmintrin.h:35:
/usr/lib64/clang/13.0.0/include/ppc_wrappers/emmintrin.h:32:2: error: "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
#error "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
 ^
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:47:
In file included from /usr/lib64/clang/13.0.0/include/wmmintrin.h:13:
/usr/lib64/clang/13.0.0/include/ppc_wrappers/emmintrin.h:32:2: error: "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
#error "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
 ^
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:47:
In file included from /usr/lib64/clang/13.0.0/include/wmmintrin.h:15:
/usr/lib64/clang/13.0.0/include/__wmmintrin_aes.h:37:19: error: use of undeclared identifier '__builtin_ia32_aesenc128'
  return (__m128i)__builtin_ia32_aesenc128((__v2di)__V, (__v2di)__R);
                  ^
/usr/lib64/clang/13.0.0/include/__wmmintrin_aes.h:57:19: error: use of undeclared identifier '__builtin_ia32_aesenclast128'
  return (__m128i)__builtin_ia32_aesenclast128((__v2di)__V, (__v2di)__R);
                  ^
/usr/lib64/clang/13.0.0/include/__wmmintrin_aes.h:77:19: error: use of undeclared identifier '__builtin_ia32_aesdec128'
  return (__m128i)__builtin_ia32_aesdec128((__v2di)__V, (__v2di)__R);
                  ^
/usr/lib64/clang/13.0.0/include/__wmmintrin_aes.h:97:19: error: use of undeclared identifier '__builtin_ia32_aesdeclast128'
  return (__m128i)__builtin_ia32_aesdeclast128((__v2di)__V, (__v2di)__R);
                  ^
/usr/lib64/clang/13.0.0/include/__wmmintrin_aes.h:114:19: error: use of undeclared identifier '__builtin_ia32_aesimc128'; did you mean '__builtin_asinf128'?
  return (__m128i)__builtin_ia32_aesimc128((__v2di)__V);
                  ^
/usr/lib64/clang/13.0.0/include/__wmmintrin_aes.h:37:19: note: '__builtin_asinf128' declared here
  return (__m128i)__builtin_ia32_aesenc128((__v2di)__V, (__v2di)__R);
                  ^
/usr/lib64/clang/13.0.0/include/__wmmintrin_aes.h:114:44: error: cannot initialize a parameter of type '__float128' with an rvalue of type '__v2di' (vector of 2 'long long' values)
  return (__m128i)__builtin_ia32_aesimc128((__v2di)__V);
                                           ^~~~~~~~~~~
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:52:
/usr/lib64/clang/13.0.0/include/clflushoptintrin.h:22:3: error: use of undeclared identifier '__builtin_ia32_clflushopt'
  __builtin_ia32_clflushopt(__m);
  ^
In file included from thirdparty/embree/common/sys/sysinfo.cpp:5:
In file included from thirdparty/embree/common/sys/intrinsics.h:15:
In file included from /usr/lib64/clang/13.0.0/include/immintrin.h:57:
/usr/lib64/clang/13.0.0/include/clwbintrin.h:33:3: error: use of undeclared identifier '__builtin_ia32_clwb'
  __builtin_ia32_clwb(__p);
  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
scons: *** [thirdparty/embree/common/sys/sysinfo.x11.opt.tools.64.llvm.o] Error 1
scons: building terminated because of errors.
[Time elapsed: 00:00:10.933]

It looks like it is trying to use x86 specific instructions.

Steps to reproduce

clone the godot repo, and check into the 3.4 branch, run the following command:
scons use_llvm=yes target=release_debug p=linuxbsd

Minimal reproduction project

No response

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions