Skip to content

Not building on Mac M1 #649

@faraasat

Description

@faraasat

Trying to build on Mac M1 (arm-64) using the below given command. Been trying this for 3 days.

cmake .. -D CMAKE_BUILD_TYPE=Debug -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -D BUILD_TESTS:BOOL=OFF -D BUILD_BINARY:BOOL=ON -D ENABLE_AVX512=OFF -D USE_SANITIZER=OFF -D ONLY_LOGGING=ON -D CMAKE_C_COMPILER=clang-20 -D CMAKE_CXX_COMPILER=clang++-20 -D ENABLE_AVX=OFF -D ENABLE_AVX2=OFF

cmake --build . --config Debug -- -j$(nproc)

First, I was getting this error which I fixed by doing some searching and GPT-ing:

Apply Common Flags Clang to Qubic
-- Configuring done (15.4s)
CMake Error at lib/platform_common/CMakeLists.txt:70 (add_library):
  Cannot find source file:

    /Users/mapmac/DD/farasat-personal/qubic-core-lite/build/lib/platform_common/LongJump.nasm.o

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm
  .ccm .cxxm .c++m .h .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90
  .f95 .f03 .hip .ispc


CMake Error at lib/platform_common/CMakeLists.txt:70 (add_library):
  No SOURCES given to target: platform_common

Now, I am stuck on this error:

[ 14%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/Connector.cc.o
[ 14%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/Poller.cc.o
[ 14%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/TcpConnectionImpl.cc.o
[ 14%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/Socket.cc.o
clang++-20: error: unsupported option '-mavx' for target 'arm64-apple-darwin24.6.0'
clang++-20: error: unsupported option '-mavx2' for target 'arm64-apple-darwin24.6.0'
[ 15%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/utils/crypto/openssl.cc.o
make[2]: *** [lib/platform_efi/CMakeFiles/platform_efi.dir/sleep.cpp.o] Error 1
make[1]: *** [lib/platform_efi/CMakeFiles/platform_efi.dir/all] Error 2
[ 16%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/poller/EpollPoller.cc.o
[ 16%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/poller/PollPoller.cc.o
[ 16%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/AresResolver.cc.o
[ 16%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/poller/KQueue.cc.o
[ 17%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/FileBufferNodeUnix.cc.o
[ 17%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/tlsprovider/OpenSSLProvider.cc.o
[ 18%] Linking CXX static library libtrantor.a
[ 18%] Built target trantor
make: *** [all] Error 2
[ 14%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/StreamBufferNode.cc.o
[ 15%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/poller/EpollPoller.cc.o
[ 14%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/Timer.cc.o
[ 15%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/poller/PollPoller.cc.o
[ 15%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/tlsprovider/OpenSSLProvider.cc.o
[ 16%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/utils/crypto/openssl.cc.o
[ 16%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/poller/KQueue.cc.o
[ 17%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/FileBufferNodeUnix.cc.o
[ 17%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/AresResolver.cc.o
[ 17%] Building CXX object _deps/drogon-build/trantor/CMakeFiles/trantor.dir/trantor/net/inner/Poller.cc.o
/Users/mapmac/DD/farasat-personal/qubic-core-lite/lib/platform_efi/edk2_debug.c:9:21: warning: unused parameter 'FileName' [-Wunused-parameter]
    9 |     IN CONST CHAR8* FileName,
      |                     ^
/Users/mapmac/DD/farasat-personal/qubic-core-lite/lib/platform_efi/edk2_debug.c:10:21: warning: unused parameter 'LineNumber' [-Wunused-parameter]
   10 |     IN UINTN        LineNumber,
      |                     ^
/Users/mapmac/DD/farasat-personal/qubic-core-lite/lib/platform_efi/edk2_debug.c:11:21: warning: unused parameter 'Description' [-Wunused-parameter]
   11 |     IN CONST CHAR8* Description
      |                     ^
3 warnings generated.
make[1]: *** [lib/platform_common/CMakeFiles/platform_common.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 17%] Linking CXX static library libplatform_efi.a
[ 17%] Built target platform_efi
[ 18%] Linking CXX static library libtrantor.a
[ 18%] Built target trantor
make: *** [all] Error 2

When using Docker with debian:bookworm-slim, getting:

286.7 /build/src/contract_core/qpi_proposal_voting.h:381:11: error: missing 'typename' prior to dependent type name '__VoteStorageTypeSelector<supportScalarVotes>::type'
286.7                 typedef __VoteStorageTypeSelector<supportScalarVotes>::type VoteStorageType;
286.7                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
286.7                         typename 
287.4 In file included from /build/src/qubic.cpp:88:
287.4 /build/src/contract_core/qpi_asset_impl.h:500:15: error: no matching constructor for initialization of 'QPI::Asset'
287.4         Asset asset(id::zero(), *((unsigned long long*)contractDescriptions[_currentContractIndex].assetName));
287.4               ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
287.4 /build/src/contract_core/../contracts/qpi.h:1463:9: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
287.4         struct Asset
287.4                ^
287.4 /build/src/contract_core/../contracts/qpi.h:1463:9: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 2 were provided
287.4 /build/src/contract_core/../contracts/qpi.h:1463:9: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 2 were provided
290.2 2 errors generated.
290.2 gmake[2]: *** [src/CMakeFiles/Qubic.dir/build.make:80: src/CMakeFiles/Qubic.dir/qubic.cpp.o] Error 1
290.2 gmake[1]: *** [CMakeFiles/Makefile2:283: src/CMakeFiles/Qubic.dir/all] Error 2
290.2 gmake: *** [Makefile:156: all] Error 2

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