Patch to reproduce:
diff --git a/ci/test/00_setup_env_native_msan.sh b/ci/test/00_setup_env_native_msan.sh
index f868142a2..41c788738 100644
--- a/ci/test/00_setup_env_native_msan.sh
+++ b/ci/test/00_setup_env_native_msan.sh
@@ -10,12 +10,11 @@ export LIBCXX_DIR="${BASE_ROOT_DIR}/ci/scratch/msan/build/"
export MSAN_FLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -g -O1 -fno-optimize-sibling-calls"
LIBCXX_FLAGS="-nostdinc++ -stdlib=libc++ -L${LIBCXX_DIR}lib -lc++abi -I${LIBCXX_DIR}include -I${LIBCXX_DIR}include/c++/v1 -lpthread -Wl,-rpath,${LIBCXX_DIR}lib -Wno-unused-command-line-argument"
export MSAN_AND_LIBCXX_FLAGS="${MSAN_FLAGS} ${LIBCXX_FLAGS}"
-export BDB_PREFIX="${BASE_ROOT_DIR}/db4"
export CONTAINER_NAME="ci_native_msan"
export PACKAGES="clang-8 llvm-8 cmake"
-export DEP_OPTS="NO_WALLET=1 NO_UPNP=1 NO_QT=1 NO_ZMQ=1 CC='clang' CXX='clang++' CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}' boost_cxxflags='-std=c++11 -fvisibility=hidden -fPIC ${MSAN_AND_LIBCXX_FLAGS}'"
+export DEP_OPTS="NO_UPNP=1 NO_QT=1 NO_ZMQ=1 CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}' boost_cxxflags='-std=c++11 -fvisibility=hidden -fPIC ${MSAN_AND_LIBCXX_FLAGS}' bdb_config_opts='--disable-shared --enable-cxx --disable-replication --enable-option-checking --enable-umrw --with-pic'"
export GOAL="install"
-export BITCOIN_CONFIG="--enable-wallet --with-sanitizers=memory --disable-asm --disable-zmq --with-asm=no --prefix=${BASE_ROOT_DIR}/depends/x86_64-pc-linux-gnu/ CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}' BDB_LIBS='-L${BDB_PREFIX}/lib -ldb_cxx-4.8' BDB_CFLAGS='-I${BDB_PREFIX}/include'"
+export BITCOIN_CONFIG="--enable-wallet --with-sanitizers=memory --disable-asm --disable-zmq --with-asm=no --prefix=${BASE_ROOT_DIR}/depends/x86_64-pc-linux-gnu/ CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
export USE_MEMORY_SANITIZER="true"
export RUN_FUNCTIONAL_TESTS="false"
diff --git a/ci/test/05_before_script.sh b/ci/test/05_before_script.sh
index 17a97e22f..368550452 100755
--- a/ci/test/05_before_script.sh
+++ b/ci/test/05_before_script.sh
@@ -15,10 +15,6 @@ fi
DOCKER_EXEC mkdir -p ${DEPENDS_DIR}/SDKs ${DEPENDS_DIR}/sdk-sources
-if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then
- DOCKER_EXEC "contrib/install_db4.sh \$(pwd) --enable-umrw CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
-fi
-
if [ -n "$OSX_SDK" ] && [ ! -f ${DEPENDS_DIR}/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then
curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o ${DEPENDS_DIR}/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz
fi
Issue encountered:
CXXLD bitcoin-wallet
AR libtest_util.a
CXXLD bitcoind
CXXLD test/test_bitcoin
CXXLD bench/bench_bitcoin
libbitcoin_wallet.a(libbitcoin_wallet_a-db.o): In function `BerkeleyEnvironment::Verify(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)':
/home/travis/build/practicalswift/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/wallet/db.cpp:277: undefined reference to `Db::verify(char const*, char const*, std::__1::basic_ostream<char, std::__1::char_traits<char> >*, unsigned int)'
libbitcoin_wallet.a(libbitcoin_wallet_a-salvage.o): In function `RecoverDatabaseFile(boost::filesystem::path const&)':
/home/travis/build/practicalswift/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/wallet/salvage.cpp:54: undefined reference to `Db::verify(char const*, char const*, std::__1::basic_ostream<char, std::__1::char_traits<char> >*, unsigned int)'
/home/travis/build/practicalswift/bitcoin/depends/x86_64-pc-linux-gnu/share/../lib/libdb_cxx-4.8.a(cxx_db.o): In function `_verify_callback_c':
cxx_db.cpp:(.text+0x25e9): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
cxx_db.cpp:(.text+0x2603): undefined reference to `std::basic_ios<char, std::char_traits<char> >::fail() const'
/home/travis/build/practicalswift/bitcoin/depends/x86_64-pc-linux-gnu/share/../lib/libdb_cxx-4.8.a(cxx_db.o): In function `__cxx_global_var_init':
cxx_db.cpp:(.text.startup+0x10): undefined reference to `std::ios_base::Init::Init()'
cxx_db.cpp:(.text.startup+0x17): undefined reference to `std::ios_base::Init::~Init()'
…