```
$ 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.
{
    return pnode && pnode->fSuccessfullyConnected && !pnode->fDisconnect;
}
void CConnman::PushMessage(CNode* pnode, CSerializedNetMsg&& msg)
{
    size_t nMessageSize = msg.data.size();
    LogPrint(BCLog::NET, "sending %s (%d bytes) peer=%d\n",  SanitizeString(msg.m_type), nMessageSize, pnode->GetId());
    if (gArgs.GetBoolArg("-capturemessages", false)) {
        CaptureMessage(pnode->addr, msg.m_type, msg.data,  false);
    }
    
    std::vector<unsigned char> serializedHeader;
    pnode->m_serializer->prepareForTransport(msg, serializedHeader);
    size_t nTotalSize = nMessageSize + serializedHeader.size();
    size_t nBytesSent = 0;
    {
        LOCK(pnode->cs_vSend);
        bool optimisticSend(pnode->vSendMsg.empty());
        
        pnode->mapSendBytesPerMsgCmd[msg.m_type] += nTotalSize;
        pnode->nSendSize += nTotalSize;
        if (pnode->nSendSize > nSendBufferMaxSize) pnode->fPauseSend = true;
        pnode->vSendMsg.push_back(std::move(serializedHeader));
        if (nMessageSize) pnode->vSendMsg.push_back(std::move(msg.data));
        
        if (optimisticSend) nBytesSent = SocketSendData(*pnode);
    }
    if (nBytesSent) RecordBytesSent(nBytesSent);
}
bool CConnman::ForNode(NodeId id, std::function<bool(CNode* pnode)> func)