SChernykh / p2pool

Decentralized pool for Monero mining
GNU General Public License v3.0
1.07k stars 126 forks source link

P2Pool fails to link at the end of compiliation due to hidden symbol #313

Open adapt-L opened 1 month ago

adapt-L commented 1 month ago

P2Pool is failing to link for me now, Here is the output from CMAKE:

[2700/2703] /usr/bin/x86_64-pc-linux-gnu-g++ -DPROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII=0 -DTari_gRPC_EXPORTS -DWITH_GRPC -I/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/grpc/third_party/abseil-cpp -I/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/grpc/third_party/protobuf/src -I/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/grpc/include -I/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/Tari/../grpc/third_party/protobuf/src -I/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/Tari/../grpc/include -I/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/Tari/../grpc/third_party/abseil-cpp  -O2 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=32 --param=l2-cache-size=12288 -Os -w -std=c++17 -fPIC -MD -MT external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/types.grpc.pb.cc.o -MF external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/types.grpc.pb.cc.o.d -o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/types.grpc.pb.cc.o -c /var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/Tari/proto/gRPC/types.grpc.pb.cc
[2701/2703] /usr/bin/x86_64-pc-linux-gnu-g++ -DPROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII=0 -DTari_gRPC_EXPORTS -DWITH_GRPC -I/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/grpc/third_party/abseil-cpp -I/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/grpc/third_party/protobuf/src -I/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/grpc/include -I/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/Tari/../grpc/third_party/protobuf/src -I/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/Tari/../grpc/include -I/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/Tari/../grpc/third_party/abseil-cpp  -O2 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=32 --param=l2-cache-size=12288 -Os -w -std=c++17 -fPIC -MD -MT external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/base_node.grpc.pb.cc.o -MF external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/base_node.grpc.pb.cc.o.d -o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/base_node.grpc.pb.cc.o -c /var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0/external/src/Tari/proto/gRPC/base_node.grpc.pb.cc
[2702/2703] : && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -O2 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=32 --param=l2-cache-size=12288 -Os -w  -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -shared -Wl,-soname,libTari_gRPC.so -o external/src/Tari/libTari_gRPC.so external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/base_node.pb.cc.o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/block.pb.cc.o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/network.pb.cc.o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/sidechain_types.pb.cc.o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/transaction.pb.cc.o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/types.pb.cc.o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/base_node.grpc.pb.cc.o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/block.grpc.pb.cc.o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/network.grpc.pb.cc.o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/sidechain_types.grpc.pb.cc.o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/transaction.grpc.pb.cc.o external/src/Tari/CMakeFiles/Tari_gRPC.dir/proto/gRPC/types.grpc.pb.cc.o   && :
[2703/2703] : && /usr/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=32 --param=l2-cache-size=12288 -pthread -Wall -Wextra -Wcast-qual -Wlogical-op -Wundef -Wformat=2 -Wpointer-arith -Werror -Wstrict-overflow=2 -Ofast -s -flto=auto -fuse-linker-plugin -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -static-libgcc -static-libstdc++ CMakeFiles/p2pool.dir/external/src/crypto/sha256.c.o CMakeFiles/p2pool.dir/external/src/cryptonote/crypto-ops-data.c.o CMakeFiles/p2pool.dir/external/src/cryptonote/crypto-ops.c.o CMakeFiles/p2pool.dir/external/src/hardforks/hardforks.cpp.o CMakeFiles/p2pool.dir/src/block_cache.cpp.o CMakeFiles/p2pool.dir/src/block_template.cpp.o CMakeFiles/p2pool.dir/src/console_commands.cpp.o CMakeFiles/p2pool.dir/src/crypto.cpp.o CMakeFiles/p2pool.dir/src/json_rpc_request.cpp.o CMakeFiles/p2pool.dir/src/keccak.cpp.o CMakeFiles/p2pool.dir/src/log.cpp.o CMakeFiles/p2pool.dir/src/main.cpp.o CMakeFiles/p2pool.dir/src/memory_leak_debug.cpp.o CMakeFiles/p2pool.dir/src/mempool.cpp.o CMakeFiles/p2pool.dir/src/merge_mining_client.cpp.o CMakeFiles/p2pool.dir/src/merge_mining_client_json_rpc.cpp.o CMakeFiles/p2pool.dir/src/merkle.cpp.o CMakeFiles/p2pool.dir/src/p2p_server.cpp.o CMakeFiles/p2pool.dir/src/p2pool.cpp.o CMakeFiles/p2pool.dir/src/p2pool_api.cpp.o CMakeFiles/p2pool.dir/src/params.cpp.o CMakeFiles/p2pool.dir/src/pool_block.cpp.o CMakeFiles/p2pool.dir/src/pow_hash.cpp.o CMakeFiles/p2pool.dir/src/side_chain.cpp.o CMakeFiles/p2pool.dir/src/stratum_server.cpp.o CMakeFiles/p2pool.dir/src/tcp_server.cpp.o CMakeFiles/p2pool.dir/src/util.cpp.o CMakeFiles/p2pool.dir/src/wallet.cpp.o CMakeFiles/p2pool.dir/src/zmq_reader.cpp.o CMakeFiles/p2pool.dir/src/keccak_bmi.cpp.o CMakeFiles/p2pool.dir/external/src/RandomX/src/cpu.cpp.o CMakeFiles/p2pool.dir/src/merge_mining_client_tari.cpp.o -o p2pool  -Wl,-rpath,/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/Tari:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/re2:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/random:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/boringssl-with-bazel:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/status:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/debugging:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/log:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/flags:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/container:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/strings:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/profiling:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/crc:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/base:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/hash:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/types:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/synchronization:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/time:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/numeric  /usr/lib64/libzmq.so  /usr/lib64/libuv.so  /usr/lib64/libcurl.so  external/src/miniupnp/miniupnpc/libminiupnpc.a  -lpthread  /usr/lib64/libsodium.so  -lresolv  external/src/Tari/libTari_gRPC.so  external/src/grpc/libgrpc++.so.1.65.0  external/src/grpc/third_party/protobuf/libprotobuf.a  external/src/grpc/libgrpc.so.42.0.0  external/src/grpc/libupb_json_lib.so.42.0.0  external/src/grpc/libupb_textformat_lib.so.42.0.0  external/src/grpc/libutf8_range_lib.so.42.0.0  external/src/grpc/libupb_message_lib.so.42.0.0  external/src/grpc/libupb_base_lib.so.42.0.0  external/src/grpc/libupb_mem_lib.so.42.0.0  external/src/grpc/third_party/re2/libre2.so.9.0.0  external/src/grpc/third_party/zlib/libz.a  external/src/grpc/third_party/cares/cares/lib64/libcares.a  external/src/grpc/libgpr.so.42.0.0  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_distributions.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_seed_sequences.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_pool_urbg.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_hwaes.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_hwaes_impl.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_slow.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_platform.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_seed_material.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_seed_gen_exception.so  external/src/grpc/third_party/boringssl-with-bazel/libssl.so  external/src/grpc/third_party/boringssl-with-bazel/libcrypto.so  external/src/grpc/libaddress_sorting.so.42.0.0  external/src/grpc/third_party/abseil-cpp/absl/status/libabsl_statusor.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_leak_check.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_die_if_null.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_internal.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_marshalling.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_reflection.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_config.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_program_name.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_private_handle_accessor.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_commandlineflag.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_commandlineflag_internal.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_initialize.so  external/src/grpc/third_party/abseil-cpp/absl/container/libabsl_raw_hash_set.so  external/src/grpc/third_party/abseil-cpp/absl/container/libabsl_hashtablez_sampler.so  external/src/grpc/third_party/abseil-cpp/absl/status/libabsl_status.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cord.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cordz_info.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cord_internal.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cordz_functions.so  external/src/grpc/third_party/abseil-cpp/absl/profiling/libabsl_exponential_biased.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cordz_handle.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc_cord_state.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc32c.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc_internal.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc_cpu_detect.so  external/src/grpc/third_party/protobuf/third_party/utf8_range/libutf8_validity.a  -ldl  -lm  -lrt  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_check_op.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_conditions.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_message.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_strerror.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_nullguard.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_examine_stack.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_format.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_str_format_internal.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_proto.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_log_sink_set.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_globals.so  external/src/grpc/third_party/abseil-cpp/absl/hash/libabsl_hash.so  external/src/grpc/third_party/abseil-cpp/absl/types/libabsl_bad_variant_access.so  external/src/grpc/third_party/abseil-cpp/absl/hash/libabsl_city.so  external/src/grpc/third_party/abseil-cpp/absl/hash/libabsl_low_level_hash.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_globals.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_sink.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_entry.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_vlog_config_internal.so  external/src/grpc/third_party/abseil-cpp/absl/types/libabsl_bad_optional_access.so  external/src/grpc/third_party/abseil-cpp/absl/synchronization/libabsl_synchronization.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_stacktrace.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_symbolize.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_debugging_internal.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_demangle_internal.so  external/src/grpc/third_party/abseil-cpp/absl/synchronization/libabsl_graphcycles_internal.so  external/src/grpc/third_party/abseil-cpp/absl/synchronization/libabsl_kernel_timeout_internal.so  external/src/grpc/third_party/abseil-cpp/absl/time/libabsl_time.so  external/src/grpc/third_party/abseil-cpp/absl/time/libabsl_civil_time.so  external/src/grpc/third_party/abseil-cpp/absl/time/libabsl_time_zone.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_malloc_internal.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_fnmatch.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_strings.so  external/src/grpc/third_party/abseil-cpp/absl/numeric/libabsl_int128.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_strings_internal.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_string_view.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_base.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_spinlock_wait.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_throw_delegate.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_raw_logging_internal.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_log_severity.so && :
FAILED: p2pool 
: && /usr/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=32 --param=l2-cache-size=12288 -pthread -Wall -Wextra -Wcast-qual -Wlogical-op -Wundef -Wformat=2 -Wpointer-arith -Werror -Wstrict-overflow=2 -Ofast -s -flto=auto -fuse-linker-plugin -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -static-libgcc -static-libstdc++ CMakeFiles/p2pool.dir/external/src/crypto/sha256.c.o CMakeFiles/p2pool.dir/external/src/cryptonote/crypto-ops-data.c.o CMakeFiles/p2pool.dir/external/src/cryptonote/crypto-ops.c.o CMakeFiles/p2pool.dir/external/src/hardforks/hardforks.cpp.o CMakeFiles/p2pool.dir/src/block_cache.cpp.o CMakeFiles/p2pool.dir/src/block_template.cpp.o CMakeFiles/p2pool.dir/src/console_commands.cpp.o CMakeFiles/p2pool.dir/src/crypto.cpp.o CMakeFiles/p2pool.dir/src/json_rpc_request.cpp.o CMakeFiles/p2pool.dir/src/keccak.cpp.o CMakeFiles/p2pool.dir/src/log.cpp.o CMakeFiles/p2pool.dir/src/main.cpp.o CMakeFiles/p2pool.dir/src/memory_leak_debug.cpp.o CMakeFiles/p2pool.dir/src/mempool.cpp.o CMakeFiles/p2pool.dir/src/merge_mining_client.cpp.o CMakeFiles/p2pool.dir/src/merge_mining_client_json_rpc.cpp.o CMakeFiles/p2pool.dir/src/merkle.cpp.o CMakeFiles/p2pool.dir/src/p2p_server.cpp.o CMakeFiles/p2pool.dir/src/p2pool.cpp.o CMakeFiles/p2pool.dir/src/p2pool_api.cpp.o CMakeFiles/p2pool.dir/src/params.cpp.o CMakeFiles/p2pool.dir/src/pool_block.cpp.o CMakeFiles/p2pool.dir/src/pow_hash.cpp.o CMakeFiles/p2pool.dir/src/side_chain.cpp.o CMakeFiles/p2pool.dir/src/stratum_server.cpp.o CMakeFiles/p2pool.dir/src/tcp_server.cpp.o CMakeFiles/p2pool.dir/src/util.cpp.o CMakeFiles/p2pool.dir/src/wallet.cpp.o CMakeFiles/p2pool.dir/src/zmq_reader.cpp.o CMakeFiles/p2pool.dir/src/keccak_bmi.cpp.o CMakeFiles/p2pool.dir/external/src/RandomX/src/cpu.cpp.o CMakeFiles/p2pool.dir/src/merge_mining_client_tari.cpp.o -o p2pool  -Wl,-rpath,/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/Tari:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/re2:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/random:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/boringssl-with-bazel:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/status:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/debugging:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/log:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/flags:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/container:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/strings:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/profiling:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/crc:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/base:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/hash:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/types:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/synchronization:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/time:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/numeric  /usr/lib64/libzmq.so  /usr/lib64/libuv.so  /usr/lib64/libcurl.so  external/src/miniupnp/miniupnpc/libminiupnpc.a  -lpthread  /usr/lib64/libsodium.so  -lresolv  external/src/Tari/libTari_gRPC.so  external/src/grpc/libgrpc++.so.1.65.0  external/src/grpc/third_party/protobuf/libprotobuf.a  external/src/grpc/libgrpc.so.42.0.0  external/src/grpc/libupb_json_lib.so.42.0.0  external/src/grpc/libupb_textformat_lib.so.42.0.0  external/src/grpc/libutf8_range_lib.so.42.0.0  external/src/grpc/libupb_message_lib.so.42.0.0  external/src/grpc/libupb_base_lib.so.42.0.0  external/src/grpc/libupb_mem_lib.so.42.0.0  external/src/grpc/third_party/re2/libre2.so.9.0.0  external/src/grpc/third_party/zlib/libz.a  external/src/grpc/third_party/cares/cares/lib64/libcares.a  external/src/grpc/libgpr.so.42.0.0  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_distributions.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_seed_sequences.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_pool_urbg.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_hwaes.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_hwaes_impl.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_slow.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_platform.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_seed_material.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_seed_gen_exception.so  external/src/grpc/third_party/boringssl-with-bazel/libssl.so  external/src/grpc/third_party/boringssl-with-bazel/libcrypto.so  external/src/grpc/libaddress_sorting.so.42.0.0  external/src/grpc/third_party/abseil-cpp/absl/status/libabsl_statusor.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_leak_check.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_die_if_null.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_internal.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_marshalling.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_reflection.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_config.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_program_name.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_private_handle_accessor.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_commandlineflag.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_commandlineflag_internal.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_initialize.so  external/src/grpc/third_party/abseil-cpp/absl/container/libabsl_raw_hash_set.so  external/src/grpc/third_party/abseil-cpp/absl/container/libabsl_hashtablez_sampler.so  external/src/grpc/third_party/abseil-cpp/absl/status/libabsl_status.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cord.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cordz_info.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cord_internal.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cordz_functions.so  external/src/grpc/third_party/abseil-cpp/absl/profiling/libabsl_exponential_biased.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cordz_handle.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc_cord_state.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc32c.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc_internal.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc_cpu_detect.so  external/src/grpc/third_party/protobuf/third_party/utf8_range/libutf8_validity.a  -ldl  -lm  -lrt  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_check_op.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_conditions.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_message.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_strerror.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_nullguard.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_examine_stack.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_format.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_str_format_internal.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_proto.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_log_sink_set.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_globals.so  external/src/grpc/third_party/abseil-cpp/absl/hash/libabsl_hash.so  external/src/grpc/third_party/abseil-cpp/absl/types/libabsl_bad_variant_access.so  external/src/grpc/third_party/abseil-cpp/absl/hash/libabsl_city.so  external/src/grpc/third_party/abseil-cpp/absl/hash/libabsl_low_level_hash.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_globals.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_sink.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_entry.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_vlog_config_internal.so  external/src/grpc/third_party/abseil-cpp/absl/types/libabsl_bad_optional_access.so  external/src/grpc/third_party/abseil-cpp/absl/synchronization/libabsl_synchronization.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_stacktrace.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_symbolize.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_debugging_internal.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_demangle_internal.so  external/src/grpc/third_party/abseil-cpp/absl/synchronization/libabsl_graphcycles_internal.so  external/src/grpc/third_party/abseil-cpp/absl/synchronization/libabsl_kernel_timeout_internal.so  external/src/grpc/third_party/abseil-cpp/absl/time/libabsl_time.so  external/src/grpc/third_party/abseil-cpp/absl/time/libabsl_civil_time.so  external/src/grpc/third_party/abseil-cpp/absl/time/libabsl_time_zone.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_malloc_internal.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_fnmatch.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_strings.so  external/src/grpc/third_party/abseil-cpp/absl/numeric/libabsl_int128.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_strings_internal.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_string_view.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_base.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_spinlock_wait.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_throw_delegate.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_raw_logging_internal.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_log_severity.so && :
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: p2pool: hidden symbol `_ZN6google8protobuf8internal8TcParser8FastMtS2EPNS0_11MessageLiteEPKcPNS1_12ParseContextENS1_11TcFieldDataEPKNS1_16TcParseTableBaseEm' in external/src/grpc/third_party/protobuf/libprotobuf.a(generated_message_tctable_lite.cc.o) is referenced by DSO
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
adapt-L commented 1 month ago

It works fine with WITH_GRPC=OFF

SChernykh commented 1 month ago

I see a lot of command line options that shouldn't be there if you follow the build instructions from README.MD. If you get an error while using the exact build instructions, I can look into it and fix the README.

All I found about this error is https://stackoverflow.com/questions/23696585/what-does-exactly-the-warning-mean-about-hidden-symbol-being-referenced-by-dso

adapt-L commented 1 month ago

Yeah i saw the same on stackoverflow

Most of those build options pretty much are equivalent to -march=native for alderlake, for some reason GCC doesn't like the heterogeneous architecture and cache size (and thus wont allow me to use -march=native alone), sorry for the confusion.

I think it has something to do with me already having protobuf on my system as a dynamic library of another version. I'll look into this a bit further

SChernykh commented 1 month ago

@adapt-L Did you find anything?

adapt-L commented 1 month ago

the issue was entirely on my end. Sorry for the inconvenience.

My distro's policy suggests that I should modify the cmake/flags.cmake file to prevent p2pool from setting its own optimization/security CFLAGS or CXXFLAGS, and there was a problem with me manually copying code from the old flags.cmake to the new flags.cmake (which had the effect of setting the c++ standard to c++14, so it was failing to interpret your new atomics code with the old atomics code)

adapt-L commented 1 month ago

-DWITH_GRPC=ON still causes me an error in the final linking process though. Something to do with the (static?) debug symbols of protobuf as a dependency of grpc.

[2703/2703] : && /usr/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=native -pthread -Wall -Wextra -Wcast-qual -Wlogical-op -Wundef -Wformat=2 -Wpointer-arith -Werror -Wstrict-overflow=2 -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -static-libgcc -static-libstdc++ CMakeFiles/p2pool.dir/external/src/crypto/sha256.c.o CMakeFiles/p2pool.dir/external/src/cryptonote/crypto-ops-data.c.o CMakeFiles/p2pool.dir/external/src/cryptonote/crypto-ops.c.o CMakeFiles/p2pool.dir/external/src/hardforks/hardforks.cpp.o CMakeFiles/p2pool.dir/src/block_cache.cpp.o CMakeFiles/p2pool.dir/src/block_template.cpp.o CMakeFiles/p2pool.dir/src/console_commands.cpp.o CMakeFiles/p2pool.dir/src/crypto.cpp.o CMakeFiles/p2pool.dir/src/json_rpc_request.cpp.o CMakeFiles/p2pool.dir/src/keccak.cpp.o CMakeFiles/p2pool.dir/src/log.cpp.o CMakeFiles/p2pool.dir/src/main.cpp.o CMakeFiles/p2pool.dir/src/memory_leak_debug.cpp.o CMakeFiles/p2pool.dir/src/mempool.cpp.o CMakeFiles/p2pool.dir/src/merge_mining_client.cpp.o CMakeFiles/p2pool.dir/src/merge_mining_client_json_rpc.cpp.o CMakeFiles/p2pool.dir/src/merkle.cpp.o CMakeFiles/p2pool.dir/src/p2p_server.cpp.o CMakeFiles/p2pool.dir/src/p2pool.cpp.o CMakeFiles/p2pool.dir/src/p2pool_api.cpp.o CMakeFiles/p2pool.dir/src/params.cpp.o CMakeFiles/p2pool.dir/src/pool_block.cpp.o CMakeFiles/p2pool.dir/src/pow_hash.cpp.o CMakeFiles/p2pool.dir/src/side_chain.cpp.o CMakeFiles/p2pool.dir/src/stratum_server.cpp.o CMakeFiles/p2pool.dir/src/tcp_server.cpp.o CMakeFiles/p2pool.dir/src/util.cpp.o CMakeFiles/p2pool.dir/src/wallet.cpp.o CMakeFiles/p2pool.dir/src/zmq_reader.cpp.o CMakeFiles/p2pool.dir/src/keccak_bmi.cpp.o CMakeFiles/p2pool.dir/external/src/RandomX/src/cpu.cpp.o CMakeFiles/p2pool.dir/src/merge_mining_client_tari.cpp.o -o p2pool  -Wl,-rpath,/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/Tari:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/re2:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/random:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/boringssl-with-bazel:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/status:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/debugging:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/log:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/flags:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/container:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/strings:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/profiling:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/crc:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/base:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/hash:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/types:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/synchronization:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/time:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/numeric  /usr/lib64/libzmq.so  /usr/lib64/libuv.so  /usr/lib64/libcurl.so  external/src/miniupnp/miniupnpc/libminiupnpc.a  -lpthread  /usr/lib64/libsodium.so  -lresolv  external/src/Tari/libTari_gRPC.so  external/src/grpc/libgrpc++.so.1.65.0  external/src/grpc/third_party/protobuf/libprotobuf.a  external/src/grpc/libgrpc.so.42.0.0  external/src/grpc/libupb_json_lib.so.42.0.0  external/src/grpc/libupb_textformat_lib.so.42.0.0  external/src/grpc/libutf8_range_lib.so.42.0.0  external/src/grpc/libupb_message_lib.so.42.0.0  external/src/grpc/libupb_base_lib.so.42.0.0  external/src/grpc/libupb_mem_lib.so.42.0.0  external/src/grpc/third_party/re2/libre2.so.9.0.0  external/src/grpc/third_party/zlib/libz.a  external/src/grpc/third_party/cares/cares/lib64/libcares.a  external/src/grpc/libgpr.so.42.0.0  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_distributions.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_seed_sequences.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_pool_urbg.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_hwaes.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_hwaes_impl.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_slow.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_platform.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_seed_material.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_seed_gen_exception.so  external/src/grpc/third_party/boringssl-with-bazel/libssl.so  external/src/grpc/third_party/boringssl-with-bazel/libcrypto.so  external/src/grpc/libaddress_sorting.so.42.0.0  external/src/grpc/third_party/abseil-cpp/absl/status/libabsl_statusor.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_leak_check.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_die_if_null.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_internal.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_marshalling.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_reflection.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_config.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_program_name.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_private_handle_accessor.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_commandlineflag.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_commandlineflag_internal.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_initialize.so  external/src/grpc/third_party/abseil-cpp/absl/container/libabsl_raw_hash_set.so  external/src/grpc/third_party/abseil-cpp/absl/container/libabsl_hashtablez_sampler.so  external/src/grpc/third_party/abseil-cpp/absl/status/libabsl_status.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cord.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cordz_info.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cord_internal.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cordz_functions.so  external/src/grpc/third_party/abseil-cpp/absl/profiling/libabsl_exponential_biased.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cordz_handle.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc_cord_state.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc32c.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc_internal.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc_cpu_detect.so  external/src/grpc/third_party/protobuf/third_party/utf8_range/libutf8_validity.a  -ldl  -lm  -lrt  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_check_op.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_conditions.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_message.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_strerror.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_nullguard.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_examine_stack.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_format.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_str_format_internal.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_proto.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_log_sink_set.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_globals.so  external/src/grpc/third_party/abseil-cpp/absl/hash/libabsl_hash.so  external/src/grpc/third_party/abseil-cpp/absl/types/libabsl_bad_variant_access.so  external/src/grpc/third_party/abseil-cpp/absl/hash/libabsl_city.so  external/src/grpc/third_party/abseil-cpp/absl/hash/libabsl_low_level_hash.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_globals.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_sink.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_entry.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_vlog_config_internal.so  external/src/grpc/third_party/abseil-cpp/absl/types/libabsl_bad_optional_access.so  external/src/grpc/third_party/abseil-cpp/absl/synchronization/libabsl_synchronization.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_stacktrace.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_symbolize.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_debugging_internal.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_demangle_internal.so  external/src/grpc/third_party/abseil-cpp/absl/synchronization/libabsl_graphcycles_internal.so  external/src/grpc/third_party/abseil-cpp/absl/synchronization/libabsl_kernel_timeout_internal.so  external/src/grpc/third_party/abseil-cpp/absl/time/libabsl_time.so  external/src/grpc/third_party/abseil-cpp/absl/time/libabsl_civil_time.so  external/src/grpc/third_party/abseil-cpp/absl/time/libabsl_time_zone.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_malloc_internal.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_fnmatch.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_strings.so  external/src/grpc/third_party/abseil-cpp/absl/numeric/libabsl_int128.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_strings_internal.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_string_view.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_base.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_spinlock_wait.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_throw_delegate.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_raw_logging_internal.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_log_severity.so && :
FAILED: p2pool 
: && /usr/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=native -pthread -Wall -Wextra -Wcast-qual -Wlogical-op -Wundef -Wformat=2 -Wpointer-arith -Werror -Wstrict-overflow=2 -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -static-libgcc -static-libstdc++ CMakeFiles/p2pool.dir/external/src/crypto/sha256.c.o CMakeFiles/p2pool.dir/external/src/cryptonote/crypto-ops-data.c.o CMakeFiles/p2pool.dir/external/src/cryptonote/crypto-ops.c.o CMakeFiles/p2pool.dir/external/src/hardforks/hardforks.cpp.o CMakeFiles/p2pool.dir/src/block_cache.cpp.o CMakeFiles/p2pool.dir/src/block_template.cpp.o CMakeFiles/p2pool.dir/src/console_commands.cpp.o CMakeFiles/p2pool.dir/src/crypto.cpp.o CMakeFiles/p2pool.dir/src/json_rpc_request.cpp.o CMakeFiles/p2pool.dir/src/keccak.cpp.o CMakeFiles/p2pool.dir/src/log.cpp.o CMakeFiles/p2pool.dir/src/main.cpp.o CMakeFiles/p2pool.dir/src/memory_leak_debug.cpp.o CMakeFiles/p2pool.dir/src/mempool.cpp.o CMakeFiles/p2pool.dir/src/merge_mining_client.cpp.o CMakeFiles/p2pool.dir/src/merge_mining_client_json_rpc.cpp.o CMakeFiles/p2pool.dir/src/merkle.cpp.o CMakeFiles/p2pool.dir/src/p2p_server.cpp.o CMakeFiles/p2pool.dir/src/p2pool.cpp.o CMakeFiles/p2pool.dir/src/p2pool_api.cpp.o CMakeFiles/p2pool.dir/src/params.cpp.o CMakeFiles/p2pool.dir/src/pool_block.cpp.o CMakeFiles/p2pool.dir/src/pow_hash.cpp.o CMakeFiles/p2pool.dir/src/side_chain.cpp.o CMakeFiles/p2pool.dir/src/stratum_server.cpp.o CMakeFiles/p2pool.dir/src/tcp_server.cpp.o CMakeFiles/p2pool.dir/src/util.cpp.o CMakeFiles/p2pool.dir/src/wallet.cpp.o CMakeFiles/p2pool.dir/src/zmq_reader.cpp.o CMakeFiles/p2pool.dir/src/keccak_bmi.cpp.o CMakeFiles/p2pool.dir/external/src/RandomX/src/cpu.cpp.o CMakeFiles/p2pool.dir/src/merge_mining_client_tari.cpp.o -o p2pool  -Wl,-rpath,/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/Tari:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/re2:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/random:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/boringssl-with-bazel:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/status:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/debugging:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/log:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/flags:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/container:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/strings:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/profiling:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/crc:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/base:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/hash:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/types:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/synchronization:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/time:/var/tmp/portage/net-p2p/p2pool-4.0/work/p2pool-4.0_build/external/src/grpc/third_party/abseil-cpp/absl/numeric  /usr/lib64/libzmq.so  /usr/lib64/libuv.so  /usr/lib64/libcurl.so  external/src/miniupnp/miniupnpc/libminiupnpc.a  -lpthread  /usr/lib64/libsodium.so  -lresolv  external/src/Tari/libTari_gRPC.so  external/src/grpc/libgrpc++.so.1.65.0  external/src/grpc/third_party/protobuf/libprotobuf.a  external/src/grpc/libgrpc.so.42.0.0  external/src/grpc/libupb_json_lib.so.42.0.0  external/src/grpc/libupb_textformat_lib.so.42.0.0  external/src/grpc/libutf8_range_lib.so.42.0.0  external/src/grpc/libupb_message_lib.so.42.0.0  external/src/grpc/libupb_base_lib.so.42.0.0  external/src/grpc/libupb_mem_lib.so.42.0.0  external/src/grpc/third_party/re2/libre2.so.9.0.0  external/src/grpc/third_party/zlib/libz.a  external/src/grpc/third_party/cares/cares/lib64/libcares.a  external/src/grpc/libgpr.so.42.0.0  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_distributions.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_seed_sequences.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_pool_urbg.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_hwaes.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_hwaes_impl.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_slow.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_platform.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_internal_seed_material.so  external/src/grpc/third_party/abseil-cpp/absl/random/libabsl_random_seed_gen_exception.so  external/src/grpc/third_party/boringssl-with-bazel/libssl.so  external/src/grpc/third_party/boringssl-with-bazel/libcrypto.so  external/src/grpc/libaddress_sorting.so.42.0.0  external/src/grpc/third_party/abseil-cpp/absl/status/libabsl_statusor.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_leak_check.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_die_if_null.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_internal.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_marshalling.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_reflection.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_config.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_program_name.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_private_handle_accessor.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_commandlineflag.so  external/src/grpc/third_party/abseil-cpp/absl/flags/libabsl_flags_commandlineflag_internal.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_initialize.so  external/src/grpc/third_party/abseil-cpp/absl/container/libabsl_raw_hash_set.so  external/src/grpc/third_party/abseil-cpp/absl/container/libabsl_hashtablez_sampler.so  external/src/grpc/third_party/abseil-cpp/absl/status/libabsl_status.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cord.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cordz_info.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cord_internal.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cordz_functions.so  external/src/grpc/third_party/abseil-cpp/absl/profiling/libabsl_exponential_biased.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_cordz_handle.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc_cord_state.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc32c.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc_internal.so  external/src/grpc/third_party/abseil-cpp/absl/crc/libabsl_crc_cpu_detect.so  external/src/grpc/third_party/protobuf/third_party/utf8_range/libutf8_validity.a  -ldl  -lm  -lrt  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_check_op.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_conditions.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_message.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_strerror.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_nullguard.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_examine_stack.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_format.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_str_format_internal.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_proto.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_log_sink_set.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_globals.so  external/src/grpc/third_party/abseil-cpp/absl/hash/libabsl_hash.so  external/src/grpc/third_party/abseil-cpp/absl/types/libabsl_bad_variant_access.so  external/src/grpc/third_party/abseil-cpp/absl/hash/libabsl_city.so  external/src/grpc/third_party/abseil-cpp/absl/hash/libabsl_low_level_hash.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_globals.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_sink.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_entry.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_vlog_config_internal.so  external/src/grpc/third_party/abseil-cpp/absl/types/libabsl_bad_optional_access.so  external/src/grpc/third_party/abseil-cpp/absl/synchronization/libabsl_synchronization.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_stacktrace.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_symbolize.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_debugging_internal.so  external/src/grpc/third_party/abseil-cpp/absl/debugging/libabsl_demangle_internal.so  external/src/grpc/third_party/abseil-cpp/absl/synchronization/libabsl_graphcycles_internal.so  external/src/grpc/third_party/abseil-cpp/absl/synchronization/libabsl_kernel_timeout_internal.so  external/src/grpc/third_party/abseil-cpp/absl/time/libabsl_time.so  external/src/grpc/third_party/abseil-cpp/absl/time/libabsl_civil_time.so  external/src/grpc/third_party/abseil-cpp/absl/time/libabsl_time_zone.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_malloc_internal.so  external/src/grpc/third_party/abseil-cpp/absl/log/libabsl_log_internal_fnmatch.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_strings.so  external/src/grpc/third_party/abseil-cpp/absl/numeric/libabsl_int128.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_strings_internal.so  external/src/grpc/third_party/abseil-cpp/absl/strings/libabsl_string_view.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_base.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_spinlock_wait.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_throw_delegate.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_raw_logging_internal.so  external/src/grpc/third_party/abseil-cpp/absl/base/libabsl_log_severity.so && :
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: p2pool: hidden symbol `_ZN6google8protobuf8internal8TcParser8FastMtS2EPNS0_11MessageLiteEPKcPNS1_12ParseContextENS1_11TcFieldDataEPKNS1_16TcParseTableBaseEm' in external/src/grpc/third_party/protobuf/libprotobuf.a(generated_message_tctable_lite.cc.o) is referenced by DSO
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
adapt-L commented 1 month ago

this page https://stackoverflow.com/questions/23696585/what-does-exactly-the-warning-mean-about-hidden-symbol-being-referenced-by-dso#23708713 suggest that the intermediate library (see the second answer) should be dynamicially linked. I'm curious how you got this to compile?

SChernykh commented 4 weeks ago

gRPC and protobuf are both linked statically, there shouldn't be any dynamically linked symbols there. As for how I build gRPC, you can check cmake/grpc.cmake and external/src/grpc/CMakeLists.txt (I added a section that sets CMAKE_C_FLAGS/CMAKE_CXX_FLAGS there).