```
$ 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.
unsigned long nSize = 0;
    const size_t nMaxSize = 10000000; 
    while (true) {
        nSize = vData.size();
        ret = RegQueryValueExA(HKEY_PERFORMANCE_DATA, "Global", nullptr, nullptr, vData.data(), &nSize);
        if (ret != ERROR_MORE_DATA || vData.size() >= nMaxSize)
            break;
        vData.resize(std::min((vData.size() * 3) / 2, nMaxSize)); 
    }
    RegCloseKey(HKEY_PERFORMANCE_DATA);
    if (ret == ERROR_SUCCESS) {
        hasher.Write(vData.data(), nSize);
        memory_cleanse(vData.data(), nSize);
    } else {
        
        
        
        
        
        
    }
#endif
}
/** Helper to easily feed data into a CSHA512.
 *
 * Note that this does not serialize the passed object (like stream.h's << operators do).
 * Its raw memory representation is used directly.
 */
template<typename T>
CSHA512& operator<<(CSHA512& hasher, const T& data) {