This error does not seem to happen under the linux builds, although both `src/Makefile`s contain the following line:
```
libbitcoinconsensus_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS)
```
On MacOS X removing `-no-undefined` from `src/Makefile.am` fixes the problem, or adding `uint256.h` and `uint256.cp`p to the `libbitcoinconsensus_a_SOURCES` variable.
Neither of these solutions seem particularly good. With the first, the sources are compiled twice and there may be duplicate symbols in some of the libraries. In the second case, the shared library may not be useful unless `libbitcoin_util.a` is also linked against.
The error is:
```
CXXLD libbitcoinconsensus.la
clang: warning: argument unused during compilation: '-pthread' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-pthread' [-Wunused-command-line-argument]
Undefined symbols for architecture x86_64:
"base_blob<256u>::ToString() const", referenced from:
CBlock::ToString() const in libbitcoinconsensus_la-block.o
COutPoint::ToString() const in libbitcoinconsensus_la-transaction.o
CTransaction::ToString() const in libbitcoinconsensus_la-transaction.o
"base_blob<256u>::GetHex() const", referenced from:
base_uint<256u>::GetHex() const in libbitcoinconsensus_la-arith_uint256.o
base_uint<256u>::ToString() const in libbitcoinconsensus_la-arith_uint256.o
"base_blob<256u>::SetHex(char const*)", referenced from:
base_uint<256u>::base_uint(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libbitcoinconsensus_la-arith_uint256.o
base_uint<256u>::SetHex(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libbitcoinconsensus_la-arith_uint256.o
base_uint<256u>::base_uint(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libbitcoinconsensus_la-arith_uint256.o
base_uint<256u>::SetHex(char const*) in libbitcoinconsensus_la-arith_uint256.o
SignatureHash(CScript const&, CTransaction const&, unsigned int, unsigned int, Amount, PrecomputedTransactionData const*, unsigned int) in libbitcoinconsensus_la-interpreter.o
ld: symbol(s) not found for architecture x86_64
```