Sunday, December 22, 2024

bitcoin core – Construct part fails with undefined reference to `evhttp_uridecode` – Bitcoin Stack Change

I attempt to construct Bitcoin Core on my Ubuntu 23.10 machine utilizing the “Construct Unix” documentation web page but it surely fails with undefined reference to evhttp_uridecode.

Listed here are the small print:

I began by cloning the repo domestically and utilizing the v26.0 tag:

git clone [email protected]:bitcoin/bitcoin.git
cd bitcoin
git checkout v26.0

Then put in the mandatory packages:

sudo apt replace && sudo apt improve -y
sudo apt set up -y build-essential libtool autotools-dev automake pkg-config bsdmainutils python3
sudo apt set up -y libevent-dev libboost-dev
sudo apt set up -y libzmq3-dev systemtap-sdt-dev

I am not fascinated with constructing the pockets, however simply the P2P protocol, so I skipped the opposite installs.

Then begins the construct part:

./autogen.sh
./configure --disable-bench --disable-fuzz-binary --enable-debug --without-gui 
            --enable-suppress-external-warnings --disable-wallet
make -j 4

This final make instructions returns an error after a while:

...
  CXXLD    libbitcoinconsensus.la
  AR       libbitcoin_util.a
  CXXLD    bitcoin-cli
  CXXLD    bitcoin-tx
  CXXLD    bitcoin-util
/usr/bin/ld: libbitcoin_common.a(libbitcoin_common_a-url.o): in perform `urlDecode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/house/hassen/Workspace/OpenSource/bitcoin/src/widespread/url.cpp:15:(.textual content+0x61): undefined reference to `evhttp_uridecode'
/usr/bin/ld: libbitcoin_common.a(libbitcoin_common_a-url.o): in perform `urlDecode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/house/hassen/Workspace/OpenSource/bitcoin/src/widespread/url.cpp:15:(.textual content+0x61): undefined reference to `evhttp_uridecode'
collect2: error: ld returned 1 exit standing
make[2]: *** [Makefile:7407: bitcoin-util] Error 1
make[2]: *** Ready for unfinished jobs....
collect2: error: ld returned 1 exit standing
make[2]: *** [Makefile:7403: bitcoin-tx] Error 1
make[2]: Leaving listing '/house/hassen/Workspace/OpenSource/bitcoin/src'
make[1]: *** [Makefile:20138: all-recursive] Error 1
make[1]: Leaving listing '/house/hassen/Workspace/OpenSource/bitcoin/src'
make: *** [Makefile:814: all-recursive] Error 1

It appears like the problem is that evhttp_uridecode just isn’t discovered. Nonetheless I am fairly certain I put in all the mandatory packages.

If this may help, working uname -a on my machine returns:

Linux XPS-machine 6.5.0-14-generic #14-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 14 14:59:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Thanks in your assist.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles