monero-project / monero

Monero: the secure, private, untraceable cryptocurrency
https://getmonero.org
Other
9k stars 3.12k forks source link

error: static assertion failed due to requirement 'std::is_pod<boost::uuids::uuid>::value': t_type must be a POD type on mac mini #9465

Closed R0BC0D3R closed 2 months ago

R0BC0D3R commented 2 months ago

I have newly restored Mac mini that's running Sonoma 14.6.1. I get below error when trying to compile release-v0.18:

[ 41%] Linking CXX static library libcheckpoints.a
[ 41%] Built target checkpoints
[ 41%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/account.cpp.o
[ 41%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/connection_context.cpp.o
In file included from /Users/devmac/monero/src/cryptonote_basic/connection_context.cpp:33:
/Users/devmac/monero/src/p2p/p2p_protocol_defs.h:195:7: error: static assertion failed due to requirement 'std::is_pod<boost::uuids::uuid>::value': t_type must be a POD type.
      KV_SERIALIZE_VAL_POD_AS_BLOB(network_id)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/devmac/monero/contrib/epee/include/serialization/keyvalue_serialization.h:119:59: note: expanded from macro 'KV_SERIALIZE_VAL_POD_AS_BLOB'
#define KV_SERIALIZE_VAL_POD_AS_BLOB(varialble)           KV_SERIALIZE_VAL_POD_AS_BLOB_N(varialble, #varialble)
                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/devmac/monero/contrib/epee/include/serialization/keyvalue_serialization.h:102:3: note: expanded from macro 'KV_SERIALIZE_VAL_POD_AS_BLOB_N'
  static_assert(std::is_pod<decltype(this_ref.varialble)>::value, "t_type must be a POD type."); \
  ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Some more info:

devmac@Roberts-Mac-mini monero % git checkout release-v0.18
M external/trezor-common
branch 'release-v0.18' set up to track 'origin/release-v0.18'.
Switched to a new branch 'release-v0.18'
devmac@Roberts-Mac-mini monero % make
mkdir -p build/"Darwin/release-v0.18"/release
cd build/"Darwin/release-v0.18"/release && cmake -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=Release ../../../.. && /Library/Developer/CommandLineTools/usr/bin/make

-- Found PythonInterp: /opt/homebrew/bin/python3.12 (found version "3.12.5")
-- CMake version 3.30.3
-- The C compiler identification is AppleClang 15.0.0.15000309
-- The CXX compiler identification is AppleClang 15.0.0.15000309
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done

-- Building on arm64 for armv8-a
-- Checking to see if CXX compiler accepts flag -march=armv8-a+crypto
-- Checking to see if CXX compiler accepts flag -march=armv8-a+crypto - yes
-- Crypto extensions enabled for ARMv8

-- Found Boost Version: 108600
-- Found Doxygen: /opt/homebrew/bin/doxygen (found version "1.12.0") found components: doxygen dot
-- The C compiler identification is AppleClang 15.0.0.15000309
-- The CXX compiler identification is AppleClang 15.0.0.15000309

I can provide entire output if needed. I did get some errors with running brew file. Screenshot attached.

mac_mini_build_failed_error mac_mini_build_failed_brewfile

selsta commented 2 months ago

Please see

9450

9462

R0BC0D3R commented 2 months ago

Thank you! Pulled fix_kvser_boost_158_18 branch from:

9462

And I was able to build successfully. Marking as closed.

preland commented 2 months ago

Is it correct to close the issue before the PR is merged?

(I also just ran into this exact issue while building monero-cpp)