bitcoind without wxWidgets
(1/2) > >>
satoshi:
I replaced the last of the few wxBase dependencies in bitcoind.

bitcoind now compiles without wxWidgets or wxBase in SVN rev 112.

main(int argc, char* argv[]) is added to init.cpp.  CMyApp and the Startup folder stuff are moved to ui.cpp.  ui.cpp and uibase.cpp aren't linked by bitcoind.

The makefiles have -DGUI to control whether the GUI is used.

I test compiled MinGW, VC and Ubuntu.  I don't know if I broke the Mac OSX build, someone will need to check that.
jgarzik:

Fantastic, thanks!

Now if only Fedora would ship elliptic curve crypto, it would build on Fedora.  (Fedora excises that due to patent encumbrace)
rodin:
Anyone else tried building on Ubuntu? I get a weird linker error with the boost_threads library. It has nothing to do with Bitcoin per se, except that the client now uses boost threads and my boost installation is being weird. Can anyone else reproduce while I sit here feeling like an idiot?


g++ -O2 -Wno-invalid-offsetof -Wformat -g -D__WXDEBUG__ -D__WXGTK__ -DNOPCH -I"/usr/include" -I"/usr/local/include/wx-2.9" -I"/usr/local/lib/wx/include/gtk2-unicode-debug-static-2.9" -o bitcoind -L"/usr/lib" -L"/usr/local/lib" obj/nogui/util.o obj/nogui/script.o obj/nogui/db.o obj/nogui/net.o obj/nogui/irc.o obj/nogui/main.o obj/nogui/rpc.o obj/nogui/init.o obj/sha.o -Wl,-Bstatic -l boost_system -l boost_filesystem -l boost_program_options -l boost_thread -l db_cxx -l crypto -Wl,-Bdynamic -l gthread-2.0
/usr/bin/ld: cannot find -lboost_thread
collect2: ld returned 1 exit status
make: *** [bitcoind] Error 1


It looks like libboostthread is missing. But:


~/dev/bitcoin/trunk$ locate libboost_thread
/usr/local/lib/libboost_thread.so
/usr/local/lib/libboost_thread.so.1.40.0
ArtForz:
Quote from: rodin on July 26, 2010, 06:22:51 PM


g++ -O2 -Wno-invalid-offsetof -Wformat -g -D__WXDEBUG__ -D__WXGTK__ -DNOPCH -I"/usr/include" -I"/usr/local/include/wx-2.9" -I"/usr/local/lib/wx/include/gtk2-unicode-debug-static-2.9" -o bitcoind -L"/usr/lib" -L"/usr/local/lib" obj/nogui/util.o obj/nogui/script.o obj/nogui/db.o obj/nogui/net.o obj/nogui/irc.o obj/nogui/main.o obj/nogui/rpc.o obj/nogui/init.o obj/sha.o -Wl,-Bstatic -l boost_system -l boost_filesystem -l boost_program_options -l boost_thread -l db_cxx -l crypto -Wl,-Bdynamic -l gthread-2.0
/usr/bin/ld: cannot find -lboost_thread
collect2: ld returned 1 exit status
make: *** [bitcoind] Error 1


It looks like libboostthread is missing. But:

~/dev/bitcoin/trunk$ locate libboost_thread
/usr/local/lib/libboost_thread.so
/usr/local/lib/libboost_thread.so.1.40.0


notice the -l boost_thread comes after a -Bstatic
it's trying to link libboost_thread statically and can't find libboost_thread.a
rodin:
Quote from: ArtForz on July 26, 2010, 06:28:09 PM

notice the -l boost_thread comes after a -Bstatic
it's trying to link libboost_thread statically and can't find libboost_thread.a


D'oh. Thanks.
Navigation
Message Index
Next page