libbitcoin/libbitcoin-explorer

Cant build clear Ubuntu 22.04 both install and install-cmake fail for different reasons

Closed this issue · 22 comments

g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Ubuntu clang version 14.0.0-1ubuntu1.1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

I cloned The library, switch to version3

run

sudo apt update
sudo apt upgrade
sudo apt install build-essential autoconf automake libtool pkg-config git
sudo apt install libzmq3-dev

all was installed succesfully

run

./install.sh --with-icu --build-icu --build-boost --build-zmq --prefix=/home/libs/libbitcoin

got

g++: fatal error: Killed signal terminated program cc1plus

while comiling algorythm.hpp in explorrer
Ok tried to cmake

./install-cmake.sh --with-icu --build-icu --build-boost --build-zmq --prefix=/home/libs/libbitcoin

got

[100%] Linking CXX executable libbitcoin-explorer-test                                                                                                                                                                                    /usr/local/bin/cmake -E cmake_link_script CMakeFiles/libbitcoin-explorer-test.dir/link.txt --verbose=1    
usr/bin/c++ "CMakeFiles/libbitcoin-explorer-test.dir/test/generated__broadcast.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/generated__find.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/generated__formerly.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/generated__symbol.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/main.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/address-decode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/address-embed.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/address-encode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/base16-decode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/base16-encode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/base58-decode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/base58-encode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/base58check-decode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/base58check-encode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/base64-decode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/base64-encode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/bitcoin160.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/bitcoin256.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/btc-to-satoshi.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/cert-new.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/cert-public.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ec-add-secrets.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ec-add.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ec-multiply-secrets.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ec-multiply.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ec-new.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ec-to-address.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ec-to-ek.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ec-to-public.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ec-to-wif.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ek-address.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ek-new.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ek-public-to-address.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ek-public-to-ec.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ek-public.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ek-to-address.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ek-to-ec.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/electrum_new.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/electrum_to_seed.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/fetch-balance.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/fetch-header.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/fetch-height.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/fetch-history.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/fetch-public-key.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/fetch-stealth.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/fetch-tx-index.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/fetch-tx.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/fetch-utxo.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/hd-new.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/hd-private.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/hd-public.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/hd-to-address.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/hd-to-ec.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/hd-to-public.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/hd-to-wif.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/help.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/input-set.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/input-sign.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/input-validate.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/message-sign.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/message-validate.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/mnemonic-decode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/mnemonic-encode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/mnemonic-new.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/mnemonic-to-seed.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/qrcode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/ripemd160.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/satoshi-to-btc.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/script-decode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/script-encode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/script-to-address.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/seed.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/send-tx-node.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/send-tx-p2p.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/send-tx.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/settings.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/sha160.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/sha256.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/sha512.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/stealth-decode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/stealth-encode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/stealth-public.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/stealth-secret.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/stealth-shared.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/token-new.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/tx-decode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/tx-encode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/tx-sign.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/uri-decode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/uri-encode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/validate-tx.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/watch-address.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/watch-stealth.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/watch-tx.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/wif-to-ec.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/wif-to-public.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/wrap-decode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/commands/wrap-encode.cpp.o" "CMakeFiles/libbitcoin-explorer-test.dir/test/config/address.cpp.o" -o libbitcoin-explorer-test   -L/home/libs/libbitcoin/lib  -Wl,-rpath,/home/libs/libbitcoin/lib -fstack-protector -fstack-protector-all -lbitcoin-client -lbitcoin-protocol -lzmq -lstdc++ -lpthread -lrt -lbsd -lmd -lbitcoin-system -lboost_chrono -lboost_date_time -lboost_filesystem -lboost_iostreams -lboost_locale -lboost_log -lboost_program_options -lboost_regex -lboost_system -lboost_thread -lpthread -lrt -ldl -licui18n -licuuc -licudata -lpthread -lm -lsecp256k1 -lbitcoin-network -lbitcoin-system -lboost_chrono -lboost_date_time -lboost_filesystem -lboost_iostreams -lboost_locale -lboost_log -lboost_program_options -lboost_regex -lboost_system -lboost_thread -lpthread -lrt -ldl -licui18n -licuuc -licudata -lpthread -lm -lsecp256k1 /usr/lib/x86_64-linux-gnu/libdl.a libbitcoin-explorer.a /home/libs/libbitcoin/lib/libboost_unit_test_framework.a -fstack-protector -fstack-protector-all -lbitcoin-client -lbitcoin-protocol -lzmq -lstdc++ -lpthread -lrt -lbsd -lmd -lbitcoin-system -lboost_chrono -lboost_date_time -lboost_filesystem -lboost_iostreams -lboost_locale -lboost_log -lboost_program_options -lboost_regex -lboost_system -lboost_thread -ldl -licui18n -licuuc -licudata -lm -lsecp256k1 -lbitcoin-network -lpthread -lrt -lbsd -lmd -lbitcoin-system -lboost_chrono -lboost_date_time -lboost_filesystem -lboost_iostreams -lboost_locale -lboost_log -lboost_program_options -lboost_regex -lboost_system -lboost_thread -ldl -licui18n -licuuc -licudata -lm -lsecp256k1 -lbitcoin-network /usr/lib/x86_64-linux-gnu/libdl.a    
... # a ton more lines here
p2p.cpp:(.text._ZN5boost3log12v2s_mt_posix10attributes16mutable_constantINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvvvE4implD0Ev[_ZN5boost3log12v2s_mt_posix10attributes16mutable_constantINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvvvE4implD5Ev]+0x29): undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)'
/usr/bin/ld: /home/libs/libbitcoin/lib/libbitcoin-network.a(p2p.cpp.o): in function `boost::log::v2s_mt_posix::sources::aux::severity_level<libbitcoin::log::severity>::impl::~impl()':
p2p.cpp:(.text._ZN5boost3log12v2s_mt_posix7sources3aux14severity_levelIN10libbitcoin3log8severityEE4implD0Ev[_ZN5boost3log12v2s_mt_posix7sources3aux14severity_levelIN10libbitcoin3log8severityEE4implD5Ev]+0x29): undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)'
/usr/bin/ld: /home/libs/libbitcoin/lib/libbitcoin-network.a(p2p.cpp.o): in function `boost::log::v2s_mt_posix::attributes::basic_clock<boost::log::v2s_mt_posix::attributes::utc_time_traits>::impl::~impl()':
p2p.cpp:(.text._ZN5boost3log12v2s_mt_posix10attributes11basic_clockINS2_15utc_time_traitsEE4implD0Ev[_ZN5boost3log12v2s_mt_posix10attributes11basic_clockINS2_15utc_time_traitsEE4implD5Ev]+0x29): undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)'
/usr/bin/ld: /home/libs/libbitcoin/lib/libbitcoin-network.a(p2p.cpp.o): in function `boost::log::v2s_mt_posix::sources::aux::severity_level<libbitcoin::log::severity>::impl::dispatch(boost::log::v2s_mt_posix::type_dispatcher&)':
p2p.cpp:(.text._ZN5boost3log12v2s_mt_posix7sources3aux14severity_levelIN10libbitcoin3log8severityEE4impl8dispatchERNS1_15type_dispatcherE[_ZN5boost3log12v2s_mt_posix7sources3aux14severity_levelIN10libbitcoin3log8severityEE4impl8dispatchERNS1_15type_dispatcherE]+0x4b): undefined reference to `boost::log::v2s_mt_posix::sources::aux::get_severity_level()'
/usr/bin/ld: /home/libs/libbitcoin/lib/libbitcoin-network.a(p2p.cpp.o): in function `boost::log::v2s_mt_posix::sources::aux::severity_level<libbitcoin::log::severity>::impl::detach_from_thread()':
p2p.cpp:(.text._ZN5boost3log12v2s_mt_posix7sources3aux14severity_levelIN10libbitcoin3log8severityEE4impl18detach_from_threadEv[_ZN5boost3log12v2s_mt_posix7sources3aux14severity_levelIN10libbitcoin3log8severityEE4impl18detach_from_threadEv]+0x18): undefined reference to `boost::log::v2s_mt_posix::sources::aux::get_severity_level()'
/usr/bin/ld: p2p.cpp:(.text._ZN5boost3log12v2s_mt_posix7sources3aux14severity_levelIN10libbitcoin3log8severityEE4impl18detach_from_threadEv[_ZN5boost3log12v2s_mt_posix7sources3aux14severity_levelIN10libbitcoin3log8severityEE4impl18detach_from_threadEv]+0x25): undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: /home/libs/libbitcoin/lib/libbitcoin-network.a(p2p.cpp.o): in function `boost::log::v2s_mt_posix::attributes::basic_clock<boost::log::v2s_mt_posix::attributes::utc_time_traits>::impl::get_value()':
p2p.cpp:(.text._ZN5boost3log12v2s_mt_posix10attributes11basic_clockINS2_15utc_time_traitsEE4impl9get_valueEv[_ZN5boost3log12v2s_mt_posix10attributes11basic_clockINS2_15utc_time_traitsEE4impl9get_valueEv]+0x39): undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: /home/libs/libbitcoin/lib/libbitcoin-network.a(p2p.cpp.o): in function `boost::log::v2s_mt_posix::attributes::attribute_value_impl<boost::posix_time::ptime>::~attribute_value_impl()':
p2p.cpp:(.text._ZN5boost3log12v2s_mt_posix10attributes20attribute_value_implINS_10posix_time5ptimeEED0Ev[_ZN5boost3log12v2s_mt_posix10attributes20attribute_value_implINS_10posix_time5ptimeEED5Ev]+0x29): undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)'
/usr/bin/ld: /home/libs/libbitcoin/lib/libbitcoin-network.a(p2p.cpp.o): in function `boost::log::v2s_mt_posix::attributes::attribute_value_impl<libbitcoin::log::severity>::~attribute_value_impl()':
p2p.cpp:(.text._ZN5boost3log12v2s_mt_posix10attributes20attribute_value_implIN10libbitcoin3log8severityEED0Ev[_ZN5boost3log12v2s_mt_posix10attributes20attribute_value_implIN10libbitcoin3log8severityEED5Ev]+0x29): undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/libbitcoin-explorer-test.dir/build.make:1669: libbitcoin-explorer-test] Error 1
make[2]: Leaving directory '/root/libbitcoin-explorer/build-libbitcoin-explorer/libbitcoin-explorer'
make[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/libbitcoin-explorer-test.dir/all] Error 2
make[1]: Leaving directory '/root/libbitcoin-explorer/build-libbitcoin-explorer/libbitcoin-explorer'
make: *** [Makefile:146: all] Error 2

UPD: clear Ubuntu 22.04 installation

@StormLord07 I've expanded the test matrix on my personal repository to cover Ubuntu 22.04 with gcc-12 and clang-14 as a demonstration of workability here. This leads me to believe there is some other environmental issue for the failures you are encountering.

Signal termination implies either system limitation or user intervention. Is this the case for your use of install.sh? Did you run out of swap and/or memory during compilation?

Boost log related issue imply you have a competing version of boost installed which is being detected, potentially lacking the Boost::log component. Is this the case? Overriding that detection is possible, see FindBoost documentation for cmake installation, otherwise autotools processes the with-boost=<path> argument which is being applied via the install.sh script automatically.

Under the above assumptions related to boost, I've incorporated the hint mechanism for FindBoost into the script found here.

@pmienk, I can't be sure about running out of memory. But RAM did a spike to 80% load a few minutes before error, might look into increasing swap memory size.
For reference, I have 4gb RAM and… 40 GB of disk space.

As for boost related issue, I'll check It, do I need to change something in the call of install-cmake.sh or all should work as is?

@StormLord07 the linked updated script will consume --build-boost and --prefix=<path> and parameterize appropriately. Otherwise, passing -DBOOST_ROOT=<prefix path> along with your prior arguments will behave identically with the script currently within the project repositories. Both of these approaches will only resolve a detection of boost, and will not address a resource issue.

@pmienk, will try to pass -DBOOST_ROOT to a script just running it with --build-boost and --prefix didn't help, the problem stayed the same, it looks like it either finds my 1.83.0 installation (everything built), or none at all. I'm not sure my ssh shell history is cut off halfway through build logs. I've increased swap file and trying to rebuild it with install.sh.

UPD: increasing swap file to 16 gigs did the job, everything works fine with install.sh, however install-cmake.sh still doesn't work, it just doesn't find right boost, even with -DBOOST_ROOT

I am facing a similar issue... I am using Ubuntu 22.04 on a aarch64 machine... and install.sh fails with the following error

checking for boostlib >= 1.73.0 (107300)... configure: We could not detect the boost libraries (version 1.73.0 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option.  If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.
configure: error: Boost 1.73.0 or later is required but was not found.

I have installed libboost-all-dev package as advised elsewhere but no use.

I even tried using --with-boost option but it fails too

@StormLord07 To be clear, -DBOOST_ROOT=<prefix path> along with --build-boost --prefix=<prefix path> and any other arguments previously used, not merely -DBOOST_ROOT. If this continues to fail, it would be helpful to know the relevant paths involved in order to determine the interaction. If both installations are located at <prefix path> this hint will not significantly alter detection.

@praveenbm5 It should be noted that the relevant documentation advised not to use the package if possible. Please advise if you're referring to install.sh or install-cmake.sh, as these issues may need disambiguation. The original post appears to have encountered boost deconfliction issues in install-cmake.sh while install.sh suffered from a resource bound.

Please elaborate by providing the script, parameterization, and any relevant environment information in order to allow us to address your issue properly.

Thank you for the response @pmienk

I tried using both methods install.sh and install-cmake.sh, with and without --build-boost option. nothing seems to work.

Let me elaborate on install.sh method..

install.sh fails with checking for boost lib...

I have boost installed via libboost-all-dev and the libs can be found in /urs/lib/aarch64-linux-gnu

xxx@xxx /usr/lib$ cd aarch64-linux-gnu/libboost_
Display all 119 possibilities? (y or n)
libboost_atomic.a                        libboost_log_setup.a                     libboost_regex.so
libboost_atomic.so                       libboost_log_setup.so                    libboost_regex.so.1.74.0
libboost_atomic.so.1.74.0                libboost_log_setup.so.1.74.0             libboost_serialization.a
libboost_chrono.a                        libboost_math_c99.a                      libboost_serialization.so
libboost_chrono.so                       libboost_math_c99.so                     libboost_serialization.so.1.74.0
libboost_chrono.so.1.74.0                libboost_math_c99.so.1.74.0              libboost_stacktrace_addr2line.a
libboost_container.a                     libboost_math_c99f.a                     libboost_stacktrace_addr2line.so
libboost_container.so                    libboost_math_c99f.so                    libboost_stacktrace_addr2line.so.1.74.0
libboost_container.so.1.74.0             libboost_math_c99f.so.1.74.0             libboost_stacktrace_backtrace.a
libboost_context.a                       libboost_math_tr1.a                      libboost_stacktrace_backtrace.so
libboost_context.so                      libboost_math_tr1.so                     libboost_stacktrace_backtrace.so.1.74.0
libboost_context.so.1.74.0               libboost_math_tr1.so.1.74.0              libboost_stacktrace_basic.a
libboost_coroutine.a                     libboost_math_tr1f.a                     libboost_stacktrace_basic.so
libboost_coroutine.so                    libboost_math_tr1f.so                    libboost_stacktrace_basic.so.1.74.0
libboost_coroutine.so.1.74.0             libboost_math_tr1f.so.1.74.0             libboost_stacktrace_noop.a
libboost_date_time.a                     libboost_mpi.a                           libboost_stacktrace_noop.so
libboost_date_time.so                    libboost_mpi.so                          libboost_stacktrace_noop.so.1.74.0
libboost_date_time.so.1.74.0             libboost_mpi.so.1.74.0                   libboost_system.a
libboost_exception.a                     libboost_mpi_python310.a                 libboost_system.so
libboost_fiber.a                         libboost_mpi_python310.so                libboost_system.so.1.74.0
libboost_fiber.so                        libboost_mpi_python310.so.1.74.0         libboost_test_exec_monitor.a
libboost_fiber.so.1.74.0                 libboost_nowide.a                        libboost_thread.a
libboost_filesystem.a                    libboost_nowide.so                       libboost_thread.so
libboost_filesystem.so                   libboost_nowide.so.1.74.0                libboost_thread.so.1.74.0
libboost_filesystem.so.1.74.0            libboost_numpy310.a                      libboost_timer.a
libboost_graph.a                         libboost_numpy310.so                     libboost_timer.so
libboost_graph.so                        libboost_numpy310.so.1.74.0              libboost_timer.so.1.74.0
libboost_graph.so.1.74.0                 libboost_prg_exec_monitor.a              libboost_type_erasure.a
libboost_graph_parallel.a                libboost_prg_exec_monitor.so             libboost_type_erasure.so
libboost_graph_parallel.so               libboost_prg_exec_monitor.so.1.74.0      libboost_type_erasure.so.1.74.0
libboost_graph_parallel.so.1.74.0        libboost_program_options.a               libboost_unit_test_framework.a
libboost_iostreams.a                     libboost_program_options.so              libboost_unit_test_framework.so
libboost_iostreams.so                    libboost_program_options.so.1.74.0       libboost_unit_test_framework.so.1.74.0
libboost_iostreams.so.1.74.0             libboost_python310.a                     libboost_wave.a
libboost_locale.a                        libboost_python310.so                    libboost_wave.so
libboost_locale.so                       libboost_python310.so.1.74.0             libboost_wave.so.1.74.0
libboost_locale.so.1.74.0                libboost_random.a                        libboost_wserialization.a
libboost_log.a                           libboost_random.so                       libboost_wserialization.so
libboost_log.so                          libboost_random.so.1.74.0                libboost_wserialization.so.1.74.0
libboost_log.so.1.74.0                   libboost_regex.a                         

when this failed, I tried using the --build-boost option

boost compiles and gets installed to /usr/local/lib

xxx@xxx /usr/lib$ cd /usr/local/lib/libboost_
libboost_atomic.a                       libboost_filesystem.a                   libboost_log.a                          libboost_program_options.a              libboost_test_exec_monitor.a
libboost_atomic.so                      libboost_filesystem.so                  libboost_log.so                         libboost_program_options.so             libboost_thread.a
libboost_atomic.so.1                    libboost_filesystem.so.1                libboost_log.so.1                       libboost_program_options.so.1           libboost_thread.so
libboost_atomic.so.1.73                 libboost_filesystem.so.1.73             libboost_log.so.1.73                    libboost_program_options.so.1.73        libboost_thread.so.1
libboost_atomic.so.1.73.0               libboost_filesystem.so.1.73.0           libboost_log.so.1.73.0                  libboost_program_options.so.1.73.0      libboost_thread.so.1.73
libboost_chrono.a                       libboost_iostreams.a                    libboost_log_setup.a                    libboost_regex.a                        libboost_thread.so.1.73.0
libboost_chrono.so                      libboost_iostreams.so                   libboost_log_setup.so                   libboost_regex.so                       libboost_unit_test_framework.a
libboost_chrono.so.1                    libboost_iostreams.so.1                 libboost_log_setup.so.1                 libboost_regex.so.1                     libboost_unit_test_framework.so
libboost_chrono.so.1.73                 libboost_iostreams.so.1.73              libboost_log_setup.so.1.73              libboost_regex.so.1.73                  libboost_unit_test_framework.so.1
libboost_chrono.so.1.73.0               libboost_iostreams.so.1.73.0            libboost_log_setup.so.1.73.0            libboost_regex.so.1.73.0                libboost_unit_test_framework.so.1.73
libboost_date_time.a                    libboost_locale.a                       libboost_prg_exec_monitor.a             libboost_system.a                       libboost_unit_test_framework.so.1.73.0
libboost_date_time.so                   libboost_locale.so                      libboost_prg_exec_monitor.so            libboost_system.so                      
libboost_date_time.so.1                 libboost_locale.so.1                    libboost_prg_exec_monitor.so.1          libboost_system.so.1                    
libboost_date_time.so.1.73              libboost_locale.so.1.73                 libboost_prg_exec_monitor.so.1.73       libboost_system.so.1.73                 
libboost_date_time.so.1.73.0            libboost_locale.so.1.73.0               libboost_prg_exec_monitor.so.1.73.0     libboost_system.so.1.73.0     

in both cases... i get the same error

checking for boostlib >= 1.73.0 (107300)... configure: We could not detect the boost libraries (version 1.73.0 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option.  If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.
configure: error: Boost 1.73.0 or later is required but was not found.

both logs are attached for your perusal.
install.log
install-build-boost.log

@praveenbm5 It would be helpful to see the specific commands. From the logs, I take it that these were sudo ./install.sh and sudo ./install.sh --build-boost. In these cases, it is the boost detection m4 which is failing to find the files you've listed.

In order to reduce the conflict of locating boost in side by side installation, I highly suggest utilizing a userspace prefix directory. By providing --prefix=/home/<user>/<local path> the prefix will be prioritized for discovery of dependencies and will be used as the repository of any built libraries (like boost when --build-boost is provided). I would suggest you attempt this mechanism.

@pmienk
The full command were
./install-cmake.sh --with-icu --build-icu --build-boost --build-zmq --prefix=/home/libs/libbitcoin
./install-cmake.sh --with-icu --build-icu --build-boost --build-zmq --prefix=/home/libs/libbitcoin -DBOOST_ROOT=/home/libs/libbitcoin
These were passed to updated install-cmake.sh script
and both commands failed with the same error as the original one

Maybe worth noting that only libbitcoin explorrer fails.

command:

./install.sh --build-boost --prefix="/home/xxxxxx/.local"

Error:

*** Warning: Linking the shared library src/libbitcoin-protocol.la against the
*** static library libprotokit.a is not portable!
/usr/bin/ld: cannot find libprotokit.a: No such file or directory
/usr/bin/ld: cannot find -llzma: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:873: src/libbitcoin-protocol.la] Error 1

@pmienk

In the mean time, while we resolve this build issue, can you please share an aarch64 binary of bx you have built?

@StormLord07 Thank you for the output. The fact that it's surfacing as a linker error may imply that the includes found and the libs are mismatched from detection. Is it possible you've attempted to install both versions of boost to the same path? That could have produced this issue and would have been disambiguated by a --prefix which isn't currently being properly hinted for cmake (though should be resolved with -DBOOST_ROOT=<path> if the path contains only one version of boost).

@praveenbm5 Congratulations, you're error is no longer related to cmake, boost, or the original autotools resource issue. This should be followed up with as a separate issue from this point. I will point you to here where the linker issue you're referring to has been brought up before and resolved.

I do not have plans to make binaries available at this time.

@pmienk
no, i do rm -rf /home/libs/libbitcoin every time I rebuild. On my other server everything was built fine despite boost 1.83.0 being installed there too. I just dont understand what can cause this issue anymore.

@StormLord07 It's possible that the environment variable BOOST_ROOT is defined and is not overridden by the cmake cache variable. It would be useful to know whether it's defined, and if not the content and order of paths in PATH.

@StormLord07, sorry, PATH would be irrelevant.

@pmienk I'll test it as soon as i get to a quiet place, i think i'll log out the BOOST_ROOT in Cmake before building explorrer and will dance from there

@praveenbm5 Congratulations, you're error is no longer related to cmake, boost, or the original autotools resource issue. This should be followed up with as a separate issue from this point. I will point you to here where the linker issue you're referring to has been brought up before and resolved.

I do not have plans to make binaries available at this time.

Thank you. I could compile successfully with the following command

./install.sh --build-boost --build-zmq --prefix="/home/xxxxxx/.local"

Incorporated BOOST_ROOT hint for cmake as an attempt to bring parity between autotools and cmake builds via the following changes:

Given the differentiated support in parameterization, closing this gap may not be practical.