[Bitcoin-development] Unit tests

Matt Corallo bitcoin-list at bluematt.me
Sun Jul 31 12:24:10 UTC 2011


On Sun, 2011-07-31 at 11:21 +0000, John Smith wrote:
> 
> BTW, talking about the unit testframework: It doesn't build here by
> default:
> 
> $ make -f makefile.unix test_bitcoin  USE_UPNP=
> 
> g++ -static  -o test_bitcoin  obj/test/test_bitcoin.o -Wl,-Bstatic -l
> boost_system -l boost_filesystem -l boost_program_options -l
> boost_thread -l db_cxx -l ssl -l crypto -Wl,-Bdynamic -l gthread-2.0
> -l z -l dl -l pthread -lboost_unit_test_framework
> /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/crt1.o: In
> function `_start':
> (.text+0x20): undefined reference to `main'
> collect2: ld returned 1 exit status
> make: *** [test_bitcoin] Error 1
> 
> Two ways to fix this:
> 
> 1) Add #define BOOST_TEST_DYN_LINK  to the top of test_bitcoin.cpp.
> This is needed for dynamic linking.
> 
> 2) Link boost_unit_test_framework statically
> 
> test_bitcoin: obj/test/test_bitcoin.o
>         $(CXX) $(CFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) -Wl,-Bstatic
> -lboost_unit_test_framework -Wl,-Bdynamic
> 
> (yes, it needs the switch to dynamic again at the end, otherwise
> libgcc will be linked statically which results in an error ...)
> 
> JS

See pull 363 and 442 :)

Matt





More information about the bitcoin-dev mailing list