vtnerd / monero-lws

Monero Light Wallet Server (scans monero viewkeys and implements mymonero API). Fast LMDB backend.
BSD 3-Clause "New" or "Revised" License
78 stars 29 forks source link

Build error with latest monero-project #135

Closed woodser closed 1 month ago

woodser commented 1 month ago

I've pulled the latest changes from the release-v0.3_0.18 branch, and I'm trying to build against the latest monero-project release-v0.18 branch with these steps:

mkdir build && cd build
cmake -DMONERO_SOURCE_DIR=/Users/woodser/git/monero-java/external/monero-cpp/external/monero-project -DMONERO_BUILD_DIR=/Users/woodser/git/monero-java/external/monero-cpp/external/monero-project/build/release ..
make -j16

But I'm encountering build errors like these:

/Users/woodser/git/monero-java/external/monero-cpp/external/monero-project/src/lmdb/value_stream.h:166:13: error: static assertion failed due to requirement 'std::is_pod<lws::db::webhook_event>()': field type must be pod
            static_assert(std::is_pod<G>(), "field type must be pod");
            ^             ~~~~~~~~~~~~~~~~
In file included from /Users/woodser/git/monero-lws/src/db/storage.cpp:54:
In file included from /Users/woodser/git/monero-lws/src/./lmdb/msgpack_table.h:7:

Here's the full build log: build.log

monero-project builds successfully standalone against the latest release-v0.18 branch with fixes for macOS.

But perhaps monero-project and/or monero-lws needs more fixes in order to build on macOS?

vtnerd commented 1 month ago

The issue specifically is Boost 1.85+ changing the uuid type internals. I'll probably update the static_assert to relax things like monerod did.

vtnerd commented 1 month ago

Actually I can't compile against monerod latest at all due to different static_assert statements for span.

vtnerd commented 1 month ago

This should now be fixed (see CI/actions now cycling towards green). If this is still an issue, re-open the issue.