NghtRppr (OP)
|
|
April 15, 2011, 02:22:12 AM Last edit: April 16, 2011, 01:47:19 AM by bitcoin2cash |
|
I'm running Windows XP on VMWare with a clean install. I need a complete step-by-step guide for what I need to download, what commands I need to run, etc. I've tried it myself and read all the directions but I keep getting errors and a Google search doesn't tell me how to fix it. I'll pay 100 BTC to whoever enables me to build a working bitcoind binary from source.
|
|
|
|
dishwara
Legendary
Offline
Activity: 1855
Merit: 1016
|
|
April 15, 2011, 02:33:18 AM |
|
|
|
|
|
gjs278
Newbie
Offline
Activity: 32
Merit: 0
|
|
April 15, 2011, 03:23:02 AM |
|
you can also build the binary using mingw if you're more familar with linux
|
|
|
|
Matt Corallo
|
|
April 15, 2011, 06:00:42 PM |
|
Kind of sad that 100 BTC has to be offered for this, someone really needs to rewrite the build process. Oh well, here goes: Install:Download:Note that the reason for using the binary miniupnpc release is that I was unable to get it to build on my system. Add C:\MinGW\bin to your PATH environment variable (Google is your friend as it depends on your Windows Version). In the DOS Shell:wxWidgets: cd \wxWidgets-2.9.1-mgw\build\msw mingw32-make -f makefile.gcc Boost: cd \boost-1.43.0-mgw \bjam\bjam.exe toolset=gcc --build-type=complete stage In the msys Shell (MinGW shell in your start folder or C:\MinGW\msys\1.0\msys.bat):OpenSSL: cd /c/openssl-1.0.0c-mgw ./config make perl util/mkdef.pl 32 libeay enable-static-engine > libeay32.def dllwrap --dllname libeay32.dll --output-lib libeay32.a --def libeay32.def libcrypto.a -lws2_32 -lgdi32
Copy the libeay32.dll file to the folder where you are building/running bitcoin. Berkeley DB: cd /c/db-4.7.25.NC-mgw/build_unix sh ../dist/configure --enable-mingw --enable-cxx make BitcoinIf you wish to use git to pull keep a local repository, you'll have to download msgit from http://code.google.com/p/msysgit/downloads/detail?name=Git-1.7.4-preview20110204.exe&can=2&q=. Otherwise, you can download the latest zip of bitcoin from https://github.com/bitcoin/bitcoin/zipball/masterIn the msys shell, cd to the unzipped location and Run with ./bitcoin.exe (make sure you have the libeay32.dll in bitcoin folder)
|
|
|
|
NghtRppr (OP)
|
|
April 16, 2011, 01:46:47 AM |
|
|
|
|
|
dmp1ce
|
|
April 24, 2011, 03:49:36 PM |
|
@BlueMatt Thank you very much for the instructions, I'm following them to build Namecoin. Just a note, I'm building on Windows 7 64bit and I had to add the "address-module=32" parameters to the boost build in order for it to compile without error. \bjam\bjam.exe toolset=gcc address-model=32 --build-type=complete stage
|
|
|
|
Gallop
Newbie
Offline
Activity: 3
Merit: 0
|
|
April 27, 2011, 01:43:58 AM |
|
Nice work. So I followed the steps on an XP machine and during the final compilation of Bitcoin, I get this error message: g++ -mthreads -O2 -w -Wno-invalid-offsetof -Wformat -g -D__WXDEBUG__ -DWIN32 -D__WXMSW__ -D_WINDOWS -DNOPCH -DSTATICLIB -DUSE_UPNP=0 -I"C:\boost-1.43.0-mgw" -I"C:\db-4.7.25.NC-mgw\build_unix" -I"C:\openssl-1.0.0c-mgw\include" -I"C:\wxWidget s-2.9.1-mgw\lib\gcc_lib\mswud" -I"C:\wxWidgets-2.9.1-mgw\include" -I"C:\upnpc-exe-win32-20110215" -mwindows -Wl,--subsys tem,windows -o bitcoin.exe -L"C:\boost-1.43.0-mgw\stage\lib" -L"C:\db-4.7.25.NC-mgw\build_unix" -L"C:\openssl-1.0.0c-mgw " -L"C:\wxWidgets-2.9.1-mgw\lib\gcc_lib" -L"C:\upnpc-exe-win32-20110215" obj/util.o obj/script.o obj/db.o obj/net.o obj/ irc.o obj/main.o obj/rpc.o obj/init.o cryptopp/obj/sha.o cryptopp/obj/cpu.o obj/ui.o obj/uibase.o obj/ui_res.o -l wxmsw2 9ud_html -l wxmsw29ud_core -l wxmsw29ud_adv -l wxbase29ud -l wxtiffd -l wxjpegd -l wxpngd -l wxzlibd -l boost_system-mgw 45-mt-s-1_43 -l boost_filesystem-mgw45-mt-s-1_43 -l boost_program_options-mgw45-mt-s-1_43 -l boost_thread-mgw45-mt-s-1_4 3 -l db_cxx -l eay32 -l miniupnpc -l iphlpapi -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l shlwapi c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot find -ldb_cxx collect2: ld returned 1 exit status make: *** [bitcoin.exe] Error 1 Probably something fishy with Berkeley DB, but I'm not clear how to fix this. Thanks for any help.
|
|
|
|
Matt Corallo
|
|
April 27, 2011, 09:08:25 AM |
|
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot find -ldb_cxx
Don't know, never seen it. Make sure you have a libdb_cxx.a in C:\db-4.7.25.NC-mgw\build_unix.
|
|
|
|
Gallop
Newbie
Offline
Activity: 3
Merit: 0
|
|
April 27, 2011, 10:16:12 PM |
|
Don't know, never seen it. Make sure you have a libdb_cxx.a in C:\db-4.7.25.NC-mgw\build_unix.
There was no libdb_cxx.a indeed. I recompiled C:\db-4.7.25.NC-mgw\ and the file was there now. Not sure what happened. Anyway, the good news is that it compiled successfully! Thanks. 90MB .exe but it seems to work fine.
|
|
|
|
Matt Corallo
|
|
April 27, 2011, 10:22:23 PM |
|
90MB .exe but it seems to work fine.
You should strip bitcoin.exe. That should help.
|
|
|
|
Gallop
Newbie
Offline
Activity: 3
Merit: 0
|
|
April 27, 2011, 10:49:17 PM |
|
You should strip bitcoin.exe. That should help.
Gotcha. A more manageable 7.5MB now. Cheers!
|
|
|
|
lulzplzkthx
|
|
May 01, 2011, 06:35:51 AM |
|
Just to let you know, I had to modify makefile.mingw and change the following lines: LIBS= \ -l boost_system-mgw45-mt-s-1_43 \ -l boost_filesystem-mgw45-mt-s-1_43 \ -l boost_program_options-mgw45-mt-s-1_43 \ -l boost_thread-mgw45-mt-s-1_43 \ -l db_cxx \ -l eay32 To: LIBS= \ -l boost_system-mgw44-mt-s-1_43 \ -l boost_filesystem-mgw44-mt-s-1_43 \ -l boost_program_options-mgw44-mt-s-1_43 \ -l boost_thread-mgw44-mt-s-1_43 \ -l db_cxx \ -l eay32 Also, like Gallop I had to recompile Berkley DB. Thank you for the wonderful guide, BlueMatt. ~lulzplzkthx
|
|
|
|
Alex Beckenham
|
|
May 27, 2011, 12:51:42 PM |
|
I went through all the steps and finally when I did make -f makefile.mingw I got this: In file included from util.cpp:5:0: headers.h:62:29: fatal error: boost/foreach.hpp: No such file or directory compilation terminated. make: *** [obj/util.o] Error 1
I tried copying the boost folder to the bitcoin src directory but got the same error... I don't know where I need to move it to in order for it to be found.
|
|
|
|
unfinishe
|
|
May 27, 2011, 08:44:16 PM |
|
I went through all the steps and finally when I did make -f makefile.mingw I got this: In file included from util.cpp:5:0: headers.h:62:29: fatal error: boost/foreach.hpp: No such file or directory compilation terminated. make: *** [obj/util.o] Error 1
I tried copying the boost folder to the bitcoin src directory but got the same error... I don't know where I need to move it to in order for it to be found. The makefile is looking for the boost folder at C:\boost-1.43.0-mgw . It's possible that there is a typo or something.
|
|
|
|
Alex Beckenham
|
|
May 27, 2011, 09:25:38 PM |
|
I went through all the steps and finally when I did make -f makefile.mingw I got this: In file included from util.cpp:5:0: headers.h:62:29: fatal error: boost/foreach.hpp: No such file or directory compilation terminated. make: *** [obj/util.o] Error 1
I tried copying the boost folder to the bitcoin src directory but got the same error... I don't know where I need to move it to in order for it to be found. The makefile is looking for the boost folder at C:\boost-1.43.0-mgw . It's possible that there is a typo or something. Wow you're right thanks, I didn't notice that until you mentioned it. I just extracted and added -mgw to the dir name without realising it's called boost_1_43_0-mgw.
|
|
|
|
Alex Beckenham
|
|
May 27, 2011, 09:42:29 PM Last edit: May 27, 2011, 11:03:59 PM by Alex Beckenham |
|
Awesome, that worked thanks @Unfinishe: Just sent you a coin using my new binary, plus an extra 1 for matt
|
|
|
|
unfinishe
|
|
May 28, 2011, 10:45:26 PM |
|
Awesome, that worked thanks @Unfinishe: Just sent you a coin using my new binary, plus an extra 1 for matt Thank you so much!
|
|
|
|
Matt Corallo
|
|
May 28, 2011, 11:09:14 PM |
|
@Unfinishe: Just sent you a coin using my new binary, plus an extra 1 for matt Thank you good sir.
|
|
|
|
grue
Legendary
Offline
Activity: 2058
Merit: 1434
|
|
June 23, 2011, 04:49:29 PM Last edit: June 23, 2011, 05:04:14 PM by grue |
|
great guide! thank you very much
|
|
|
|
vector76
Member
Offline
Activity: 70
Merit: 18
|
|
July 01, 2011, 11:36:53 PM |
|
Great guide! TY!
The makefile now appears to look for C:\openssl-1.0.0d-mgw instead of C:\openssl-1.0.0c-mgw and it was failing on that. But just a minor speed bump.
Again, thanks!
|
|
|
|
|