```
$ bmake
=> Bootstrap dependency digest>=20010302: found digest-20190127
===> Building for bitcoin-0.20.1nb3
Making all in src
gmake[1]: Entering directory '/home/pbulk/build/finance/bitcoin/work/bitcoin-0.20.1/src'
gmake[2]: Entering directory '/home/pbulk/build/finance/bitcoin/work/bitcoin-0.20.1/src'
gmake[3]: Entering directory '/home/pbulk/build/finance/bitcoin/work/bitcoin-0.20.1'
gmake[3]: Leaving directory '/home/pbulk/build/finance/bitcoin/work/bitcoin-0.20.1'
  CXXLD    bitcoin-tx
Undefined                       first referenced
 symbol                             in file
freeifaddrs                         libbitcoin_util.a(libbitcoin_util_a-randomenv.o)
getifaddrs                          libbitcoin_util.a(libbitcoin_util_a-randomenv.o)
ld: fatal: symbol referencing errors. No output written to .libs/bitcoin-tx
collect2: error: ld returned 1 exit status
gmake[2]: *** [Makefile:7355: bitcoin-tx] Error 1
gmake[2]: Leaving directory '/home/pbulk/build/finance/bitcoin/work/bitcoin-0.20.1/src'
gmake[1]: *** [Makefile:17263: all-recursive] Error 1
gmake[1]: Leaving directory '/home/pbulk/build/finance/bitcoin/work/bitcoin-0.20.1/src'
gmake: *** [Makefile:782: all-recursive] Error 1
*** Error code 2

Stop.
bmake[1]: stopped in /data/pkgsrc/finance/bitcoin
*** Error code 1
```

I found [this](https://github.com/pydron/ifaddr/issues/23), which seems to be the same issue, but on a Python context.

Previous issues with compiling on Illumos seem to have been sorted out (#15708 & more), but now it's stuck here.
{
    
    std::optional<CNetMessage> msg(std::move(vRecv));
    
    msg->m_command = hdr.GetCommand();
    msg->m_time = time;
    msg->m_message_size = hdr.nMessageSize;
    msg->m_raw_message_size = hdr.nMessageSize + CMessageHeader::HEADER_SIZE;
    uint256 hash = GetMessageHash();
    
    RandAddEvent(ReadLE32(hash.begin()));
    
    if (memcmp(hash.begin(), hdr.pchChecksum, CMessageHeader::CHECKSUM_SIZE) != 0) {
        LogPrint(BCLog::NET, "CHECKSUM ERROR (%s, %u bytes), expected %s was %s, peer=%d\n",
                 SanitizeString(msg->m_command), msg->m_message_size,
                 HexStr(Span<uint8_t>(hash.begin(), hash.begin() + CMessageHeader::CHECKSUM_SIZE)),
                 HexStr(hdr.pchChecksum),
                 m_node_id);
        out_err_raw_size = msg->m_raw_message_size;
        msg = std::nullopt;
    } else if (!hdr.IsCommandValid()) {
        LogPrint(BCLog::NET, "HEADER ERROR - COMMAND (%s, %u bytes), peer=%d\n",
                 hdr.GetCommand(), msg->m_message_size, m_node_id);
        out_err_raw_size = msg->m_raw_message_size;
        msg.reset();
    }
    
    Reset();
    return msg;