Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
StormLord07 opened this issue Sep 20, 2023 · 22 comments
Assignees

Comments

@StormLord07
Copy link

StormLord07 commented Sep 20, 2023

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

@pmienk pmienk self-assigned this Sep 20, 2023
@pmienk
Copy link
Member

pmienk commented Sep 20, 2023

@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.

@pmienk
Copy link
Member

pmienk commented Sep 21, 2023

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

@StormLord07
Copy link
Author

@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?

@pmienk
Copy link
Member

pmienk commented Sep 21, 2023

@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.

@StormLord07
Copy link
Author

@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.

@StormLord07
Copy link
Author

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

@praveenbm5
Copy link

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

@pmienk
Copy link
Member

pmienk commented Sep 23, 2023

@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.

@pmienk
Copy link
Member

pmienk commented Sep 23, 2023

@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.

@praveenbm5
Copy link

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

@pmienk
Copy link
Member

pmienk commented Sep 23, 2023

@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.

@StormLord07
Copy link
Author

StormLord07 commented Sep 23, 2023

@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.

@praveenbm5
Copy link

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

@praveenbm5
Copy link

@pmienk

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

@pmienk
Copy link
Member

pmienk commented Sep 25, 2023

@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).

@pmienk
Copy link
Member

pmienk commented Sep 25, 2023

@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.

@StormLord07
Copy link
Author

@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.

@pmienk
Copy link
Member

pmienk commented Sep 25, 2023

@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.

@pmienk
Copy link
Member

pmienk commented Sep 25, 2023

@StormLord07, sorry, PATH would be irrelevant.

@StormLord07
Copy link
Author

@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
Copy link

@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"

@pmienk pmienk closed this as completed Oct 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants