MoneroOcean / xmrig

Monero (rx/0, rx/wow, rx/loki, defyx, rx/arq, rx/sfx, rx/keva, cn/0, cn/1, cn/2, cn/r, cn/fast, cn/half, cn/xao, cn/rto, cn/rwz, cn/zls, cn/double, cn/gpu, cn-lite/0, cn-lite/1, cn-heavy/0, cn-heavy/tube, cn-heavy/xhv, cn-pico, cn-pico/tlo, argon2/chukwa, argon2/wrkz, astrobwt) CPU/GPU miner
https://moneroocean.stream
GNU General Public License v3.0
275 stars 86 forks source link

will not compile on arm anymore #105

Closed Epikest closed 2 years ago

Epikest commented 2 years ago

Describe the bug xmrig-mo will not compile on arm anymore, i get errors

To Reproduce follow the xmrig building steps on xmrig site for moneroocean fork

Expected behavior it should build

Required data

-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test VAES_SUPPORTED
-- Performing Test VAES_SUPPORTED - Failed
-- Use ARM_TARGET=8 (aarch64)
-- Performing Test XMRIG_ARM_CRYPTO
-- Performing Test XMRIG_ARM_CRYPTO - Success
-- Looking for syslog.h
-- Looking for syslog.h - found
-- Found HWLOC: /usr/lib/aarch64-linux-gnu/libhwloc.so
-- Found UV: /usr/lib/aarch64-linux-gnu/libuv.a
-- Looking for __builtin___clear_cache
-- Looking for __builtin___clear_cache - found
-- WITH_MSR=OFF
-- Found OpenSSL: /usr/lib/aarch64-linux-gnu/libcrypto.so (found version "1.1.1f")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/xmrig/build
Scanning dependencies of target ghostrider
[  1%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_blake.c.o
[  1%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_bmw.c.o
[  2%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_cubehash.c.o
[  2%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_echo.c.o
[  2%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_fugue.c.o
[  3%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_groestl.c.o
[  3%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_hamsi.c.o
[  3%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_jh.c.o
[  4%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_keccak.c.o
[  4%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_luffa.c.o
[  4%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_shabal.c.o
[  5%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_shavite.c.o
[  5%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_simd.c.o
[  5%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_sha2.c.o
[  6%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_skein.c.o
[  6%] Building C object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/sph_whirlpool.c.o
[  7%] Building CXX object src/crypto/ghostrider/CMakeFiles/ghostrider.dir/ghostrider.cpp.o
[  7%] Linking CXX static library libghostrider.a
[  7%] Built target ghostrider
Scanning dependencies of target argon2
[  7%] Building C object src/3rdparty/argon2/CMakeFiles/argon2.dir/lib/argon2.c.o
[  7%] Building C object src/3rdparty/argon2/CMakeFiles/argon2.dir/lib/core.c.o
[  8%] Building C object src/3rdparty/argon2/CMakeFiles/argon2.dir/lib/encoding.c.o
[  8%] Building C object src/3rdparty/argon2/CMakeFiles/argon2.dir/lib/genkat.c.o
[  8%] Building C object src/3rdparty/argon2/CMakeFiles/argon2.dir/lib/impl-select.c.o
[  9%] Building C object src/3rdparty/argon2/CMakeFiles/argon2.dir/lib/blake2/blake2.c.o
[  9%] Building C object src/3rdparty/argon2/CMakeFiles/argon2.dir/arch/generic/lib/argon2-arch.c.o
[  9%] Linking C static library libargon2.a
[  9%] Built target argon2
Scanning dependencies of target ethash
[ 10%] Building C object src/3rdparty/libethash/CMakeFiles/ethash.dir/ethash_internal.c.o
[ 10%] Building C object src/3rdparty/libethash/CMakeFiles/ethash.dir/keccakf800.c.o
[ 10%] Linking C static library libethash.a
[ 10%] Built target ethash
Scanning dependencies of target xmrig
[ 10%] Building CXX object CMakeFiles/xmrig.dir/src/backend/cpu/CpuLaunchData.cpp.o
[ 11%] Building CXX object CMakeFiles/xmrig.dir/src/backend/opencl/kernels/rx/HashAesKernel.cpp.o
[ 11%] Building CXX object CMakeFiles/xmrig.dir/src/3rdparty/fmt/format.cc.o
[ 11%] Building CXX object CMakeFiles/xmrig.dir/src/base/crypto/Algorithm.cpp.o
[ 12%] Building CXX object CMakeFiles/xmrig.dir/src/base/crypto/Coin.cpp.o
[ 12%] Building CXX object CMakeFiles/xmrig.dir/src/base/crypto/keccak.cpp.o
[ 12%] Building CXX object CMakeFiles/xmrig.dir/src/base/crypto/sha3.cpp.o
[ 13%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/Async.cpp.o
[ 13%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/Console.cpp.o
[ 13%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/Env.cpp.o
[ 14%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/json/Json.cpp.o
[ 14%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/json/JsonChain.cpp.o
[ 15%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/json/JsonRequest.cpp.o
[ 15%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/log/backends/ConsoleLog.cpp.o
[ 15%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/log/backends/FileLog.cpp.o
[ 16%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/log/FileLogWriter.cpp.o
[ 16%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/log/Log.cpp.o
[ 16%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/log/Tags.cpp.o
[ 17%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/Signals.cpp.o
[ 17%] Building CXX object CMakeFiles/xmrig.dir/src/base/io/Watcher.cpp.o
[ 17%] Building CXX object CMakeFiles/xmrig.dir/src/base/kernel/Base.cpp.o
[ 18%] Building CXX object CMakeFiles/xmrig.dir/src/base/kernel/config/BaseConfig.cpp.o
[ 18%] Building CXX object CMakeFiles/xmrig.dir/src/base/kernel/config/BaseTransform.cpp.o
[ 18%] Building CXX object CMakeFiles/xmrig.dir/src/base/kernel/config/Title.cpp.o
[ 19%] Building CXX object CMakeFiles/xmrig.dir/src/base/kernel/Entry.cpp.o
[ 19%] Building CXX object CMakeFiles/xmrig.dir/src/base/kernel/Platform.cpp.o
[ 20%] Building CXX object CMakeFiles/xmrig.dir/src/base/kernel/Process.cpp.o
[ 20%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/dns/Dns.cpp.o
[ 20%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/dns/DnsConfig.cpp.o
[ 21%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/dns/DnsRecord.cpp.o
[ 21%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/dns/DnsRecords.cpp.o
[ 21%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/dns/DnsUvBackend.cpp.o
[ 22%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/http/Http.cpp.o
[ 22%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/BaseClient.cpp.o
[ 22%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/Client.cpp.o
[ 23%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/Job.cpp.o
[ 23%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/NetworkState.cpp.o
[ 23%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/Pool.cpp.o
[ 24%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/Pools.cpp.o
[ 24%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/ProxyUrl.cpp.o
[ 25%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/Socks5.cpp.o
[ 25%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/strategies/FailoverStrategy.cpp.o
[ 25%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/strategies/SinglePoolStrategy.cpp.o
[ 26%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/Url.cpp.o
[ 26%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/tools/LineReader.cpp.o
[ 26%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/tools/NetBuffer.cpp.o
[ 27%] Building CXX object CMakeFiles/xmrig.dir/src/base/tools/Arguments.cpp.o
[ 27%] Building CXX object CMakeFiles/xmrig.dir/src/base/tools/Chrono.cpp.o
[ 27%] Building CXX object CMakeFiles/xmrig.dir/src/base/tools/cryptonote/BlockTemplate.cpp.o
[ 28%] Building C object CMakeFiles/xmrig.dir/src/base/tools/cryptonote/crypto-ops-data.c.o
[ 28%] Building C object CMakeFiles/xmrig.dir/src/base/tools/cryptonote/crypto-ops.c.o
[ 28%] Building CXX object CMakeFiles/xmrig.dir/src/base/tools/cryptonote/Signatures.cpp.o
[ 29%] Building CXX object CMakeFiles/xmrig.dir/src/base/tools/cryptonote/WalletAddress.cpp.o
[ 29%] Building CXX object CMakeFiles/xmrig.dir/src/base/tools/Cvt.cpp.o
[ 30%] Building CXX object CMakeFiles/xmrig.dir/src/base/tools/String.cpp.o
[ 30%] Building CXX object CMakeFiles/xmrig.dir/src/base/tools/Timer.cpp.o
[ 30%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/AutoClient.cpp.o
[ 31%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/EthStratumClient.cpp.o
[ 31%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/benchmark/BenchClient.cpp.o
[ 31%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/benchmark/BenchConfig.cpp.o
[ 32%] Building C object CMakeFiles/xmrig.dir/src/3rdparty/llhttp/llhttp.c.o
[ 32%] Building C object CMakeFiles/xmrig.dir/src/3rdparty/llhttp/api.c.o
[ 32%] Building C object CMakeFiles/xmrig.dir/src/3rdparty/llhttp/http.c.o
[ 33%] Building CXX object CMakeFiles/xmrig.dir/src/base/api/Api.cpp.o
[ 33%] Building CXX object CMakeFiles/xmrig.dir/src/base/api/Httpd.cpp.o
[ 33%] Building CXX object CMakeFiles/xmrig.dir/src/base/api/requests/ApiRequest.cpp.o
[ 34%] Building CXX object CMakeFiles/xmrig.dir/src/base/api/requests/HttpApiRequest.cpp.o
[ 34%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/http/Fetch.cpp.o
[ 35%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/http/HttpApiResponse.cpp.o
[ 35%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/http/HttpClient.cpp.o
[ 35%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/http/HttpContext.cpp.o
[ 36%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/http/HttpData.cpp.o
[ 36%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/http/HttpListener.cpp.o
[ 36%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/http/HttpResponse.cpp.o
[ 37%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/DaemonClient.cpp.o
[ 37%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/stratum/SelfSelectClient.cpp.o
[ 37%] Building CXX object CMakeFiles/xmrig.dir/src/base/net/tools/TcpServer.cpp.o
[ 38%] Building CXX object CMakeFiles/xmrig.dir/src/backend/common/Hashrate.cpp.o
[ 38%] Building CXX object CMakeFiles/xmrig.dir/src/backend/common/Threads.cpp.o
[ 38%] Building CXX object CMakeFiles/xmrig.dir/src/backend/common/Worker.cpp.o
[ 39%] Building CXX object CMakeFiles/xmrig.dir/src/backend/common/Workers.cpp.o
[ 39%] Building CXX object CMakeFiles/xmrig.dir/src/backend/common/benchmark/Benchmark.cpp.o
[ 40%] Building CXX object CMakeFiles/xmrig.dir/src/backend/common/benchmark/BenchState.cpp.o
[ 40%] Building CXX object CMakeFiles/xmrig.dir/src/backend/common/HashrateInterpolator.cpp.o
[ 40%] Building CXX object CMakeFiles/xmrig.dir/src/backend/common/GpuWorker.cpp.o
[ 41%] Building CXX object CMakeFiles/xmrig.dir/src/backend/cpu/Cpu.cpp.o
[ 41%] Building CXX object CMakeFiles/xmrig.dir/src/backend/cpu/CpuBackend.cpp.o
[ 41%] Building CXX object CMakeFiles/xmrig.dir/src/backend/cpu/CpuConfig.cpp.o
[ 42%] Building CXX object CMakeFiles/xmrig.dir/src/backend/cpu/CpuThread.cpp.o
[ 42%] Building CXX object CMakeFiles/xmrig.dir/src/backend/cpu/CpuThreads.cpp.o
[ 42%] Building CXX object CMakeFiles/xmrig.dir/src/backend/cpu/CpuWorker.cpp.o
In file included from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/home/ubuntu/xmrig/src/crypto/randomx/randomx.h:170:1: error: template with C linkage
  170 | template<typename T>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
In file included from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:48:
/home/ubuntu/xmrig/src/crypto/astrobwt/AstroBWT.h:37:1: error: template with C linkage
   37 | template<Algorithm::Id ALGO>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
In file included from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:48:
/home/ubuntu/xmrig/src/crypto/astrobwt/AstroBWT.h:40:1: error: template specialization with C linkage
   40 | template<>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:71:1: error: template with C linkage
   71 | template<size_t N>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:109:1: error: template with C linkage
  109 | template<size_t N>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:132:1: error: template with C linkage
  132 | template<size_t N>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:156:1: error: template with C linkage
  156 | template<size_t N>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:246:1: error: template with C linkage
  246 | template<size_t N>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:254:1: error: template with C linkage
  254 | template<size_t N>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:390:1: error: template with C linkage
  390 | template<size_t N>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:409:1: error: template with C linkage
  409 | template<size_t N>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:453:1: error: template with C linkage
  453 | template<size_t N>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:482:1: error: template specialization with C linkage
  482 | template<>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:504:1: error: template with C linkage
  504 | template<size_t N>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:522:1: error: template with C linkage
  522 | template<size_t N>
      | ^~~~~~~~
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:1: note: ‘extern "C"’ linkage started here
   33 | extern "C" {
      | ^~~~~~~~~~
/home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:561:1: error: expected ‘}’ at end of input
  561 | } // namespace xmrig
      | ^
In file included from /home/ubuntu/xmrig/src/crypto/randomx/intrin_portable.h:385,
                 from /home/ubuntu/xmrig/src/crypto/randomx/randomx.h:36,
                 from /home/ubuntu/xmrig/src/backend/cpu/CpuWorker.cpp:43:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:12: note: to match this ‘{’
   33 | extern "C" {
      |            ^
make[2]: *** [CMakeFiles/xmrig.dir/build.make:1233: CMakeFiles/xmrig.dir/src/backend/cpu/CpuWorker.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:140: CMakeFiles/xmrig.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
Spudz76 commented 2 years ago

gcc 9.4.0 broken on all arm platforms, use newer.

Roughly,

apt install g++-10
CC=/usr/bin/gcc-10 CXX=/usr/bin/g++-10 cmake ..
Spudz76 commented 2 years ago

Actually a new package just dropped on focal-updates with version 9.4.0-1ubuntu1~20.04.1 that claims to fix this. Previous version was same without the last .1 (9.4.0-1ubuntu1~20.04)

Relevant launchpad bug thread -- it was crashing similarly in many other projects.

Epikest commented 2 years ago

Actually a new package just dropped on focal-updates with version 9.4.0-1ubuntu1~20.04.1 that claims to fix this. Previous version was same without the last .1 (9.4.0-1ubuntu1~20.04)

Relevant launchpad bug thread -- it was crashing similarly in many other projects.

what do i install then?

Spudz76 commented 2 years ago

Install updates, like always:

apt update && apt dist-upgrade

If it brings in a new gcc then it worked.

Epikest commented 2 years ago

thanks