--enable-fuzz fails in combination with --enable-wallet, --with-miniupnpc or --enable-zmq.
$ git clone https://github.com/bitcoin/bitcoin
$ cd bitcoin
$ ./autogen.sh
$ ./configure --disable-wallet --without-miniupnpc --disable-zmq --enable-fuzz
$ make
$ echo $?
0
$ make clean
$ ./configure --with-incompatible-bdb --without-miniupnpc --disable-zmq --enable-fuzz
$ make
…
CXXLD test/fuzz/address_deserialize
libbitcoin_server.a(libbitcoin_server_a-init.o): In function `WalletInit::Construct(InitInterfaces&) const':
/…/src/wallet/init.cpp:139: undefined reference to `interfaces::MakeWalletClient(interfaces::Chain&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:4862: recipe for target 'test/fuzz/address_deserialize' failed
$ make clean
$ ./configure --disable-wallet --with-miniupnpc --disable-zmq --enable-fuzz
$ make
…
CXXLD test/fuzz/address_deserialize
libbitcoin_server.a(libbitcoin_server_a-net.o): In function `ThreadMapPort()':
/…/src/net.cpp:1412: undefined reference to `upnpDiscover'
/…/src/net.cpp:1423: undefined reference to `UPNP_GetValidIGD'
/…/src/net.cpp:1428: undefined reference to `UPNP_GetExternalIPAddress'
/…/src/net.cpp:1473: undefined reference to `freeUPNPDevlist'
/…/src/net.cpp:1475: undefined reference to `FreeUPNPUrls'
/…/src/net.cpp:1455: undefined reference to `UPNP_AddPortMapping'
/…/src/net.cpp:1461: undefined reference to `strupnperror'
/…/src/net.cpp:1467: undefined reference to `UPNP_DeletePortMapping'
/…/src/net.cpp:1469: undefined reference to `freeUPNPDevlist'
/…/src/net.cpp:1470: undefined reference to `FreeUPNPUrls'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
$ make clean
$ ./configure --disable-wallet --without-miniupnpc --enable-zmq --enable-fuzz
$ make
…
CXXLD test/fuzz/address_deserialize
libbitcoin_server.a(libbitcoin_server_a-init.o): In function `Shutdown(InitInterfaces&)':
/…/src/init.cpp:290: undefined reference to `g_zmq_notification_interface'
libbitcoin_server.a(libbitcoin_server_a-init.o): In function `SetupServerArgs()':
/…/src/init.cpp:469: undefined reference to `CZMQAbstractNotifier::DEFAULT_ZMQ_SNDHWM'
/…/src/init.cpp:470: undefined reference to `CZMQAbstractNotifier::DEFAULT_ZMQ_SNDHWM'
/…/src/init.cpp:471: undefined reference to `CZMQAbstractNotifier::DEFAULT_ZMQ_SNDHWM'
/…/src/init.cpp:472: undefined reference to `CZMQAbstractNotifier::DEFAULT_ZMQ_SNDHWM'
libbitcoin_server.a(libbitcoin_server_a-init.o): In function `AppInitMain(InitInterfaces&)':
/…/src/init.cpp:1317: undefined reference to `RegisterZMQRPCCommands(CRPCTable&)'
/…/src/init.cpp:1440: undefined reference to `CZMQNotificationInterface::Create()'
/…/src/init.cpp:1440: undefined reference to `g_zmq_notification_interface'
clang: error: linker command failed with exit code 1 (use -v to see invocation)