Cannot install Bitcoin v22.0 on Ubuntu 20.04 with current Berkeley DB version (18.1.4) #23898

issue kafka2000 opened this issue on December 29, 2021
  1. kafka2000 commented at 8:33 PM on December 29, 2021: none

    <!-- This issue tracker is only for technical issues related to Bitcoin Core. General bitcoin questions and/or support requests are best directed to the Bitcoin StackExchange at https://bitcoin.stackexchange.com. For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/. If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue! -->

    A fresh install of Bitcoin v22.0 is not going through on Ubuntu 20.04, with an underlying fresh install of Berkeley DB version 18.1.4. The same error was obtained on two completely unrelated systems.

    Expected behavior

    No error on installation

    Actual behavior

    The following error:

    Making all in src
    make[1]: Entering directory '/mnt/projects/crypto/bitcoin/src'
    make[2]: Entering directory '/mnt/projects/crypto/bitcoin/src'
    make[3]: Entering directory '/mnt/projects/crypto/bitcoin'
    make[3]: Leaving directory '/mnt/projects/crypto/bitcoin'
      CXXLD    bitcoind
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_verify_callback':
    repmgr_net.c:(.text+0x247): undefined reference to `X509_STORE_CTX_get_current_cert'
    /usr/bin/ld: repmgr_net.c:(.text+0x252): undefined reference to `X509_STORE_CTX_get_error_depth'
    /usr/bin/ld: repmgr_net.c:(.text+0x25d): undefined reference to `X509_STORE_CTX_get_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x28c): undefined reference to `X509_get_issuer_name'
    /usr/bin/ld: repmgr_net.c:(.text+0x29c): undefined reference to `X509_NAME_oneline'
    /usr/bin/ld: repmgr_net.c:(.text+0x2be): undefined reference to `X509_get_subject_name'
    /usr/bin/ld: repmgr_net.c:(.text+0x2ce): undefined reference to `X509_NAME_oneline'
    /usr/bin/ld: repmgr_net.c:(.text+0x2f0): undefined reference to `X509_verify_cert_error_string'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_conn_info_setup.isra.0':
    repmgr_net.c:(.text+0x446): undefined reference to `SSL_free'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_set_ssl_ctx':
    repmgr_net.c:(.text+0x138d): undefined reference to `OPENSSL_init_ssl'
    /usr/bin/ld: repmgr_net.c:(.text+0x1399): undefined reference to `OPENSSL_init_ssl'
    /usr/bin/ld: repmgr_net.c:(.text+0x13a5): undefined reference to `OPENSSL_init_crypto'
    /usr/bin/ld: repmgr_net.c:(.text+0x13b1): undefined reference to `TLS_method'
    /usr/bin/ld: repmgr_net.c:(.text+0x13b9): undefined reference to `SSL_CTX_new'
    /usr/bin/ld: repmgr_net.c:(.text+0x13d9): undefined reference to `SSL_CTX_set_verify'
    /usr/bin/ld: repmgr_net.c:(.text+0x13f6): undefined reference to `SSL_CTX_set_cipher_list'
    /usr/bin/ld: repmgr_net.c:(.text+0x147b): undefined reference to `SSL_CTX_use_certificate_file'
    /usr/bin/ld: repmgr_net.c:(.text+0x14ee): undefined reference to `SSL_CTX_set_default_passwd_cb_userdata'
    /usr/bin/ld: repmgr_net.c:(.text+0x1502): undefined reference to `SSL_CTX_use_PrivateKey_file'
    /usr/bin/ld: repmgr_net.c:(.text+0x1512): undefined reference to `SSL_CTX_check_private_key'
    /usr/bin/ld: repmgr_net.c:(.text+0x1530): undefined reference to `SSL_CTX_load_verify_locations'
    /usr/bin/ld: repmgr_net.c:(.text+0x1541): undefined reference to `SSL_CTX_set_default_verify_paths'
    /usr/bin/ld: repmgr_net.c:(.text+0x1584): undefined reference to `SSL_CTX_set_verify_depth'
    /usr/bin/ld: repmgr_net.c:(.text+0x1600): undefined reference to `SSL_CTX_free'
    /usr/bin/ld: repmgr_net.c:(.text+0x174d): undefined reference to `SSL_CTX_free'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_accept':
    repmgr_net.c:(.text+0x1842): undefined reference to `SSL_new'
    /usr/bin/ld: repmgr_net.c:(.text+0x1858): undefined reference to `SSL_set_fd'
    /usr/bin/ld: repmgr_net.c:(.text+0x1874): undefined reference to `ERR_clear_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x187c): undefined reference to `SSL_accept'
    /usr/bin/ld: repmgr_net.c:(.text+0x18cf): undefined reference to `SSL_is_init_finished'
    /usr/bin/ld: repmgr_net.c:(.text+0x18fb): undefined reference to `ERR_print_errors_fp'
    /usr/bin/ld: repmgr_net.c:(.text+0x1905): undefined reference to `SSL_get_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x19c0): undefined reference to `SSL_free'
    /usr/bin/ld: repmgr_net.c:(.text+0x19c5): undefined reference to `ERR_clear_error'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_connect':
    repmgr_net.c:(.text+0x1c53): undefined reference to `SSL_new'
    /usr/bin/ld: repmgr_net.c:(.text+0x1c71): undefined reference to `SSL_set_fd'
    /usr/bin/ld: repmgr_net.c:(.text+0x1c76): undefined reference to `ERR_clear_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x1c7e): undefined reference to `SSL_connect'
    /usr/bin/ld: repmgr_net.c:(.text+0x1cd8): undefined reference to `SSL_is_init_finished'
    /usr/bin/ld: repmgr_net.c:(.text+0x1cfb): undefined reference to `ERR_print_errors_fp'
    /usr/bin/ld: repmgr_net.c:(.text+0x1d06): undefined reference to `SSL_get_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x1d5c): undefined reference to `SSL_new'
    /usr/bin/ld: repmgr_net.c:(.text+0x1e7a): undefined reference to `SSL_free'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_shutdown':
    repmgr_net.c:(.text+0x20c4): undefined reference to `ERR_clear_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x20cc): undefined reference to `SSL_shutdown'
    /usr/bin/ld: repmgr_net.c:(.text+0x20f3): undefined reference to `SSL_shutdown'
    /usr/bin/ld: repmgr_net.c:(.text+0x20fb): undefined reference to `SSL_free'
    /usr/bin/ld: repmgr_net.c:(.text+0x221b): undefined reference to `ERR_print_errors_fp'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_write':
    repmgr_net.c:(.text+0x2d72): undefined reference to `ERR_clear_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x2d80): undefined reference to `SSL_write'
    /usr/bin/ld: repmgr_net.c:(.text+0x2e03): undefined reference to `ERR_print_errors_fp'
    /usr/bin/ld: repmgr_net.c:(.text+0x2e0e): undefined reference to `SSL_get_error'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_readv':
    repmgr_net.c:(.text+0x4e2d): undefined reference to `ERR_clear_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x4e64): undefined reference to `SSL_read'
    /usr/bin/ld: repmgr_net.c:(.text+0x4e76): undefined reference to `ERR_print_errors_fp'
    /usr/bin/ld: repmgr_net.c:(.text+0x4e82): undefined reference to `SSL_get_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x4eb6): undefined reference to `SSL_shutdown'
    /usr/bin/ld: repmgr_net.c:(.text+0x4ffa): undefined reference to `SSL_pending'
    /usr/bin/ld: repmgr_net.c:(.text+0x5042): undefined reference to `SSL_pending'
    /usr/bin/ld: repmgr_net.c:(.text+0x51be): undefined reference to `SSL_shutdown'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_read_possible':
    repmgr_net.c:(.text+0x5325): undefined reference to `SSL_pending'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_posix.o): in function `__repmgr_conn_work':
    repmgr_posix.c:(.text+0x380): undefined reference to `SSL_pending'
    /usr/bin/ld: repmgr_posix.c:(.text+0x3d7): undefined reference to `SSL_pending'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_sel.o): in function `__repmgr_read_from_site':
    repmgr_sel.c:(.text+0x3e58): undefined reference to `SSL_pending'
    collect2: error: ld returned 1 exit status
    make[2]: *** [Makefile:5933: bitcoind] Error 1
    make[2]: Leaving directory '/mnt/projects/crypto/bitcoin/src'
    make[1]: *** [Makefile:16186: all-recursive] Error 1
    make[1]: Leaving directory '/mnt/projects/crypto/bitcoin/src'
    make: *** [Makefile:821: all-recursive] Error 1
    

    To reproduce

    I followed a flow inspired from this gist

    1. Install all required dependencies
    sudo apt install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libboost-all-dev libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev
    
    1. Get and install current Berkeley DB version
    cd /mnt/projects/crypto
    wget http://download.oracle.com/berkeley-db/db-18.1.40.tar.gz
    tar -xvzf db-18.1.40.tar.gz
    cd db-18.1.40/build_unix
    mkdir /mnt/projects/crypto/berkeley-db
    BDB_PREFIX=/mnt/projects/crypto/berkeley-db
    ../dist/configure --disable-shared --enable-cxx --with-pic --prefix=$BDB_PREFIX
    mkdir ../docs/bdb-sql ../docs/gsg_db_server
    sudo make install
    
    1. Get the latest Bitcoin stable version and install
    cd /mnt/projects/crypto
    git clone git@github.com:bitcoin/bitcoin.git
    cd bitcoin
    git checkout v22.0
    ./autogen.sh
    mkdir /mnt/projects/crypto/bitcoin_build
    ./configure CPPFLAGS="-I${BDB_PREFIX}/include/ -O2" LDFLAGS="-L${BDB_PREFIX}/lib/" --with-gui --with-incompatible-bdb --with-zmq --enable-zmq --prefix=/mnt/projects/crypto/bitcoin_build
    
    1. Get the error
    Making all in src
    make[1]: Entering directory '/mnt/projects/crypto/bitcoin/src'
    make[2]: Entering directory '/mnt/projects/crypto/bitcoin/src'
    make[3]: Entering directory '/mnt/projects/crypto/bitcoin'
    make[3]: Leaving directory '/mnt/projects/crypto/bitcoin'
      CXXLD    bitcoind
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_verify_callback':
    repmgr_net.c:(.text+0x247): undefined reference to `X509_STORE_CTX_get_current_cert'
    /usr/bin/ld: repmgr_net.c:(.text+0x252): undefined reference to `X509_STORE_CTX_get_error_depth'
    /usr/bin/ld: repmgr_net.c:(.text+0x25d): undefined reference to `X509_STORE_CTX_get_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x28c): undefined reference to `X509_get_issuer_name'
    /usr/bin/ld: repmgr_net.c:(.text+0x29c): undefined reference to `X509_NAME_oneline'
    /usr/bin/ld: repmgr_net.c:(.text+0x2be): undefined reference to `X509_get_subject_name'
    /usr/bin/ld: repmgr_net.c:(.text+0x2ce): undefined reference to `X509_NAME_oneline'
    /usr/bin/ld: repmgr_net.c:(.text+0x2f0): undefined reference to `X509_verify_cert_error_string'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_conn_info_setup.isra.0':
    repmgr_net.c:(.text+0x446): undefined reference to `SSL_free'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_set_ssl_ctx':
    repmgr_net.c:(.text+0x138d): undefined reference to `OPENSSL_init_ssl'
    /usr/bin/ld: repmgr_net.c:(.text+0x1399): undefined reference to `OPENSSL_init_ssl'
    /usr/bin/ld: repmgr_net.c:(.text+0x13a5): undefined reference to `OPENSSL_init_crypto'
    /usr/bin/ld: repmgr_net.c:(.text+0x13b1): undefined reference to `TLS_method'
    /usr/bin/ld: repmgr_net.c:(.text+0x13b9): undefined reference to `SSL_CTX_new'
    /usr/bin/ld: repmgr_net.c:(.text+0x13d9): undefined reference to `SSL_CTX_set_verify'
    /usr/bin/ld: repmgr_net.c:(.text+0x13f6): undefined reference to `SSL_CTX_set_cipher_list'
    /usr/bin/ld: repmgr_net.c:(.text+0x147b): undefined reference to `SSL_CTX_use_certificate_file'
    /usr/bin/ld: repmgr_net.c:(.text+0x14ee): undefined reference to `SSL_CTX_set_default_passwd_cb_userdata'
    /usr/bin/ld: repmgr_net.c:(.text+0x1502): undefined reference to `SSL_CTX_use_PrivateKey_file'
    /usr/bin/ld: repmgr_net.c:(.text+0x1512): undefined reference to `SSL_CTX_check_private_key'
    /usr/bin/ld: repmgr_net.c:(.text+0x1530): undefined reference to `SSL_CTX_load_verify_locations'
    /usr/bin/ld: repmgr_net.c:(.text+0x1541): undefined reference to `SSL_CTX_set_default_verify_paths'
    /usr/bin/ld: repmgr_net.c:(.text+0x1584): undefined reference to `SSL_CTX_set_verify_depth'
    /usr/bin/ld: repmgr_net.c:(.text+0x1600): undefined reference to `SSL_CTX_free'
    /usr/bin/ld: repmgr_net.c:(.text+0x174d): undefined reference to `SSL_CTX_free'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_accept':
    repmgr_net.c:(.text+0x1842): undefined reference to `SSL_new'
    /usr/bin/ld: repmgr_net.c:(.text+0x1858): undefined reference to `SSL_set_fd'
    /usr/bin/ld: repmgr_net.c:(.text+0x1874): undefined reference to `ERR_clear_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x187c): undefined reference to `SSL_accept'
    /usr/bin/ld: repmgr_net.c:(.text+0x18cf): undefined reference to `SSL_is_init_finished'
    /usr/bin/ld: repmgr_net.c:(.text+0x18fb): undefined reference to `ERR_print_errors_fp'
    /usr/bin/ld: repmgr_net.c:(.text+0x1905): undefined reference to `SSL_get_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x19c0): undefined reference to `SSL_free'
    /usr/bin/ld: repmgr_net.c:(.text+0x19c5): undefined reference to `ERR_clear_error'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_connect':
    repmgr_net.c:(.text+0x1c53): undefined reference to `SSL_new'
    /usr/bin/ld: repmgr_net.c:(.text+0x1c71): undefined reference to `SSL_set_fd'
    /usr/bin/ld: repmgr_net.c:(.text+0x1c76): undefined reference to `ERR_clear_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x1c7e): undefined reference to `SSL_connect'
    /usr/bin/ld: repmgr_net.c:(.text+0x1cd8): undefined reference to `SSL_is_init_finished'
    /usr/bin/ld: repmgr_net.c:(.text+0x1cfb): undefined reference to `ERR_print_errors_fp'
    /usr/bin/ld: repmgr_net.c:(.text+0x1d06): undefined reference to `SSL_get_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x1d5c): undefined reference to `SSL_new'
    /usr/bin/ld: repmgr_net.c:(.text+0x1e7a): undefined reference to `SSL_free'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_shutdown':
    repmgr_net.c:(.text+0x20c4): undefined reference to `ERR_clear_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x20cc): undefined reference to `SSL_shutdown'
    /usr/bin/ld: repmgr_net.c:(.text+0x20f3): undefined reference to `SSL_shutdown'
    /usr/bin/ld: repmgr_net.c:(.text+0x20fb): undefined reference to `SSL_free'
    /usr/bin/ld: repmgr_net.c:(.text+0x221b): undefined reference to `ERR_print_errors_fp'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_write':
    repmgr_net.c:(.text+0x2d72): undefined reference to `ERR_clear_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x2d80): undefined reference to `SSL_write'
    /usr/bin/ld: repmgr_net.c:(.text+0x2e03): undefined reference to `ERR_print_errors_fp'
    /usr/bin/ld: repmgr_net.c:(.text+0x2e0e): undefined reference to `SSL_get_error'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_readv':
    repmgr_net.c:(.text+0x4e2d): undefined reference to `ERR_clear_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x4e64): undefined reference to `SSL_read'
    /usr/bin/ld: repmgr_net.c:(.text+0x4e76): undefined reference to `ERR_print_errors_fp'
    /usr/bin/ld: repmgr_net.c:(.text+0x4e82): undefined reference to `SSL_get_error'
    /usr/bin/ld: repmgr_net.c:(.text+0x4eb6): undefined reference to `SSL_shutdown'
    /usr/bin/ld: repmgr_net.c:(.text+0x4ffa): undefined reference to `SSL_pending'
    /usr/bin/ld: repmgr_net.c:(.text+0x5042): undefined reference to `SSL_pending'
    /usr/bin/ld: repmgr_net.c:(.text+0x51be): undefined reference to `SSL_shutdown'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_net.o): in function `__repmgr_ssl_read_possible':
    repmgr_net.c:(.text+0x5325): undefined reference to `SSL_pending'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_posix.o): in function `__repmgr_conn_work':
    repmgr_posix.c:(.text+0x380): undefined reference to `SSL_pending'
    /usr/bin/ld: repmgr_posix.c:(.text+0x3d7): undefined reference to `SSL_pending'
    /usr/bin/ld: /mnt/projects/crypto/berkeley-db/lib//libdb_cxx.a(repmgr_sel.o): in function `__repmgr_read_from_site':
    repmgr_sel.c:(.text+0x3e58): undefined reference to `SSL_pending'
    collect2: error: ld returned 1 exit status
    make[2]: *** [Makefile:5933: bitcoind] Error 1
    make[2]: Leaving directory '/mnt/projects/crypto/bitcoin/src'
    make[1]: *** [Makefile:16186: all-recursive] Error 1
    make[1]: Leaving directory '/mnt/projects/crypto/bitcoin/src'
    make: *** [Makefile:821: all-recursive] Error 1
    

    <!--- How reliably can you reproduce the issue, what are the steps to do so? -->

    System information

    <!-- What version of Bitcoin Core are you using, where did you get it (website, self-compiled, etc)? -->

    Bitcoin Core v22.0 from Github (cf commands above)

    <!-- What type of machine are you observing the error on (OS/CPU and disk type)? -->

    Tested on both Ubuntu 20.04 as host system (no VM) and Ubuntu 20.04 as guest system (as VM)

    <!-- GUI-related issue? What is your operating system and its version? If Linux, what is your desktop environment and graphical shell? -->

    <!-- Any extra information that might be useful in the debugging process. -->

    Please note this was highly reproducible as fresh install on two different Ubuntu 20.04 systems.

    <!--- This is normally the contents of a `debug.log` or `config.log` file. Raw text or a link to a pastebin type site are preferred. -->

  2. kafka2000 added the label Bug on Dec 29, 2021
  3. hebasto commented at 8:59 PM on December 29, 2021: member

    @kafka2000

    with an underlying fresh install of Berkeley DB version 18.1.4

    I followed a flow inspired from this gist

    I think it is better to ask a gist's author about the described issue.

    Or you could try to follow documentation in this repo:

    Berkeley DB is required for the legacy wallet. Ubuntu and Debian have their own libdb-dev and libdb++-dev packages, but these will install Berkeley DB 5.1 or later. This will break binary wallet compatibility with the distributed executables, which are based on BerkeleyDB 4.8. If you do not care about wallet compatibility, pass --with-incompatible-bdb to configure. Otherwise, you can build Berkeley DB yourself.

    Also https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md#berkeley-db

  4. hebasto removed the label Bug on Dec 29, 2021
  5. hebasto added the label Questions and Help on Dec 29, 2021
  6. fanquake commented at 12:34 AM on December 30, 2021: member

    I followed a flow inspired from this gist

    I'd suggest following a flow inspired by our actual build documentation, rather than random internet gists. There are a couple different issues here.

    For starters, the gist states:

    this script is intended for a node to support the network and not to act as a wallet,

    So I'm not sure why it's going to the trouble of compiling and building against BDB at all. Rather than just compiling with --disable-wallet.

    Second, the gist is a guide for compiling Bitcoin Core version v0.21.1. Given that you're compiling v0.22, you don't need to install libssl-dev or libprotobuf-dev protobuf-compiler, as they are no longer dependencies.

    The gist adds -O2 to it's CPPFLAGS, I'm not sure why, optimization flags should really exist in CXXFLAGS. Although note that -O2 is also the autoconf default, so you shouldn't need to pass this at all.

    Note that passing both --with-zmq and --enable-zmq is redundant. If you've got the zmq libs installed, you could actually pass neither, and zmq support will be auto detected (you can check via the configure summary).

    In regards to your linking issue. It looks like newer versions of BDB will, by default, try and build "SSL support for Replication Manager", see --with-repmgr-ssl, which would pull in libssl as a dependency, and if you're not linking against it, your build will fail. I'd suggest either compiling bdb with --with-repmgr-ssl=no, or using one of our more supported methods for installing / building against BDB which are mentioned in our build documentation.

  7. kafka2000 commented at 9:49 AM on December 30, 2021: none

    @hebasto @fanquake thank you so much for the prompt reply. Much better indeed to RTFM instead of trying as shortcut a random gist. The setup now worked completely fine. Here are the commands i used:

    cd /mnt/projects/crypto/bitcoin
    ./contrib/install_db4.sh `pwd`
    export BDB_PREFIX='/mnt/projects/crypto/bitcoin/db4'
    ./autogen.sh
    mkdir /mnt/projects/crypto/bitcoin_build
    ./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" --prefix=/mnt/projects/crypto/bitcoin_build
    make
    
  8. kafka2000 closed this on Dec 30, 2021

  9. DrahtBot locked this on Dec 30, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-26 06:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me