SChernykh / p2pool

Decentralized pool for Monero mining

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Missing External Dependencies for Default CMAKE Build

asctime opened this issue · comments

New 4.0 release: git clone --recursive still results in missing external source trees for upnp, cares and the like.

Correct versions should have reference links, or else cmake falls back to system dev package search (Linux).
Source build is broken as-is.

All github actions here use git clone --recursive ..., and it works. Please double check that there is no p2pool directory before you start cloning the repository. What is your OS and git version ("Linux" is too ambiguous)?

The README build instructions work just fine on Ubuntu 20.04:

[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/main.cpp.o
[ 99%] Linking CXX static library libgrpc++_error_details.a
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/memory_leak_debug.cpp.o
[ 99%] Built target grpc++_error_details
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/mempool.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/merge_mining_client.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/merge_mining_client_json_rpc.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/merkle.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/p2p_server.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/p2pool.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/p2pool_api.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/params.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/pool_block.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/pow_hash.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/side_chain.cpp.o
[ 99%] Linking CXX static library libgrpc++_alts.a
[ 99%] Built target grpc++_alts
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/stratum_server.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/tcp_server.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/util.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/wallet.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/zmq_reader.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/keccak_bmi.cpp.o
[ 99%] Building CXX object CMakeFiles/p2pool.dir/src/miner.cpp.o
[100%] Building CXX object CMakeFiles/p2pool.dir/src/merge_mining_client_tari.cpp.o
[100%] Linking CXX executable p2pool
[100%] Built target p2pool
test@Ubuntu-2004-focal-64-minimal:~/p2pool/build$ uname -a
Linux Ubuntu-2004-focal-64-minimal 5.4.0-135-generic #152-Ubuntu SMP Wed Nov 23 20:19:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
test@Ubuntu-2004-focal-64-minimal:~/p2pool/build$ git version
git version 2.25.1
test@Ubuntu-2004-focal-64-minimal:~/p2pool/build$ ./p2pool --version
2024-07-07 07:58:41.2713 Log started
P2Pool v4.0 (built with GCC/11.4.0 on Jul  7 2024)
2024-07-07 07:58:41.2721 Log stopped

Debian 10; cmake version 3.18.4
3.x builds without issue.
CMAKE dependencies resulting is error are clearly missing in repository..

Update: toggled CARES_STATIC and the rest of the issues "vanished". Definitely some kind of dependency weirdness..

I'm not sure if git clone issues are P2Pool issues per se. You should fix git installation on your system, because the problems you get are caused by git not cloning everything.

In any case, you can download the full source code + dependencies from the release page https://github.com/SChernykh/p2pool/releases/latest - look for p2pool_source.tar.xz

I'm not sure if git clone issues are P2Pool issues per se. You should fix git installation on your system, because the problems you get are caused by git not cloning everything.

I'm pretty sure that's incorrect, it's a stock installation on a stable distro. Problems like this usually come down to nuances in the cmake files, if I took the time I would very likely find some arbitrary static default that doesn't need to be there.. In any case it's compiled now.. feedback for you, can do what you want..

cmake files are not the problem here if whole subfolders are empty. Maybe you just don't have enough free space on your disc where you try to git clone?

toggled CARES_STATIC and the rest of the issues "vanished". Definitely some kind of dependency weirdness..

P2Pool already takes care of that: https://github.com/SChernykh/p2pool/blob/master/cmake/grpc.cmake#L24

toggled CARES_STATIC and the rest of the issues "vanished". Definitely some kind of dependency weirdness..

P2Pool already takes care of that: https://github.com/SChernykh/p2pool/blob/master/cmake/grpc.cmake#L24

Yeah that's what I had to toggle. It was enough to switch it off and back on.
Update: re-testing with a complete rm -r , reconfigure and build no errors.

At this point I can only guess what the issue was, but OK to close.