tpoechtrager / osxcross

Mac OS X cross toolchain for Linux, FreeBSD, OpenBSD and Android (Termux)
GNU General Public License v2.0
2.8k stars 318 forks source link

This header is only meant to be used on x86 and x64 architecture #413

Open CommanderGL opened 5 months ago

CommanderGL commented 5 months ago

When I try to compile for arm64 I get the following errors:

In file included from src/main.cpp:1:
In file included from /home/crossscar/osxcross/target/bin/../macports/pkgs/opt/local/include/SDL2/SDL.h:38:
In file included from /home/crossscar/osxcross/target/bin/../macports/pkgs/opt/local/include/SDL2/SDL_cpuinfo.h:111:
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/immintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
#error "This header is only meant to be used on x86 and x64 architecture"
 ^
In file included from src/main.cpp:1:
In file included from /home/crossscar/osxcross/target/bin/../macports/pkgs/opt/local/include/SDL2/SDL.h:38:
In file included from /home/crossscar/osxcross/target/bin/../macports/pkgs/opt/local/include/SDL2/SDL_cpuinfo.h:111:
In file included from /usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/immintrin.h:17:
In file included from /usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/x86gprintrin.h:15:
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/hresetintrin.h:42:27: error: invalid input constraint 'a' in asm
  __asm__ ("hreset $0" :: "a"(__eax));
                          ^
In file included from src/main.cpp:1:
In file included from /home/crossscar/osxcross/target/bin/../macports/pkgs/opt/local/include/SDL2/SDL.h:38:
In file included from /home/crossscar/osxcross/target/bin/../macports/pkgs/opt/local/include/SDL2/SDL_cpuinfo.h:111:
In file included from /usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/immintrin.h:17:
In file included from /usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/x86gprintrin.h:25:
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/crc32intrin.h:33:10: error: use of undeclared identifier '__builtin_ia32_crc32qi'
  return __builtin_ia32_crc32qi(__C, __D);
         ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/crc32intrin.h:53:10: error: use of undeclared identifier '__builtin_ia32_crc32hi'; did you mean '__builtin_arm_crc32h'?
  return __builtin_ia32_crc32hi(__C, __D);
         ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/crc32intrin.h:53:10: note: '__builtin_arm_crc32h' declared here
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/crc32intrin.h:73:10: error: use of undeclared identifier '__builtin_ia32_crc32si'
  return __builtin_ia32_crc32si(__C, __D);
         ^
In file included from src/main.cpp:1:
In file included from /home/crossscar/osxcross/target/bin/../macports/pkgs/opt/local/include/SDL2/SDL.h:38:
In file included from /home/crossscar/osxcross/target/bin/../macports/pkgs/opt/local/include/SDL2/SDL_cpuinfo.h:111:
In file included from /usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/immintrin.h:21:
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
#error "This header is only meant to be used on x86 and x64 architecture"
 ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:37:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
    __builtin_ia32_emms();
    ^
/home/crossscar/osxcross/target/bin/../SDK/MacOSX14.sdk/usr/include/c++/v1/math.h:507:10: note: '__builtin_isless' declared here
  return __builtin_isless((type)__x, (type)__y);
         ^
In file included from src/main.cpp:1:
In file included from /home/crossscar/osxcross/target/bin/../macports/pkgs/opt/local/include/SDL2/SDL.h:38:
In file included from /home/crossscar/osxcross/target/bin/../macports/pkgs/opt/local/include/SDL2/SDL_cpuinfo.h:111:
In file included from /usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/immintrin.h:21:
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:37:25: error: too few arguments to function call, expected 2, have 0
    __builtin_ia32_emms();
    ~~~~~~~~~~~~~~~~~~~~^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:54:19: error: use of undeclared identifier '__builtin_ia32_vec_init_v2si'
    return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
                  ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:71:12: error: use of undeclared identifier '__builtin_ia32_vec_ext_v2si'
    return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
           ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:133:19: error: use of undeclared identifier '__builtin_ia32_packsswb'
    return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
                  ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:163:19: error: use of undeclared identifier '__builtin_ia32_packssdw'
    return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
                  ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:193:19: error: use of undeclared identifier '__builtin_ia32_packuswb'
    return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
                  ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:220:19: error: use of undeclared identifier '__builtin_ia32_punpckhbw'
    return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
                  ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:243:19: error: use of undeclared identifier '__builtin_ia32_punpckhwd'
    return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
                  ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:264:19: error: use of undeclared identifier '__builtin_ia32_punpckhdq'
    return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
                  ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:291:19: error: use of undeclared identifier '__builtin_ia32_punpcklbw'
    return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
                  ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:314:19: error: use of undeclared identifier '__builtin_ia32_punpcklwd'
    return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2);
                  ^
/usr/lib/llvm-14/bin/../lib/clang/14.0.6/include/mmintrin.h:335:19: error: use of undeclared identifier '__builtin_ia32_punpckldq'
    return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2);
                  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Makefile:19: universal] Error 1
guanshaoheng commented 3 months ago

add

arch x86_64 zsh

and then compile, refer to

CommanderGL commented 3 months ago

I am using linux and got the following using that command:

zsh: command not found: arch