The ebuild contains $(usex cpu_flags_x86_sse2 "" "NOSSE2=1") $(usex cpu_flags_x86_sse4_1 "SSE41=1" "") $(usex cpu_flags_x86_ssse3 "SSSE3=1" "") which passes -mno-sse2 to the compiler. That makes gcc unhappy aarch64-unknown-linux-gnu-g++: error: unrecognized command-line option ‘-mno-sse2’ The statement $(usex cpu_flags_x86_sse2 "" "NOSSE2=1") has the parameters in the wrong order. Please fix the typo and add the ~arm64 keyword.
I don't think it's a typo. If we *don't* have SSE2, we pass NOSSE=1 (notice the NO) to the build system. The problem is that apparently -mno-sse2 isn't valid on non x86{,-64}.
https://github.com/veracrypt/VeraCrypt/blob/master/src/Makefile#L157 ``` ifeq "$(CPU_ARCH)" "x86" PLATFORM_ARCH := i386 SIMD_SUPPORTED := 1 C_CXX_FLAGS += -D TC_ARCH_X86 else ifeq "$(CPU_ARCH)" "x64" PLATFORM_ARCH := amd64 SIMD_SUPPORTED := 1 C_CXX_FLAGS += -D TC_ARCH_X64 endif ``` Doesn't look like the upstream cares about other architectures. This will have to be fixed upstream because the build system explicitly adds '-msse2' or '-mno-sse2' depending on the flag.
No progress in 6+ months. Closing with UPSTREAM. @neddy, feel free to reopen if you ask the upstream to add arm support, though this bug probably won't be needed then.