Post
Topic
Board Development & Technical Discussion
Re: Building headless Bitcoin and Bitcoin-qt on Windows
by
Jori
on 22/04/2014, 09:29:06 UTC
Quote
Quote
...
Hello Jori,

A lot of "digital water" has flowed under the makefile "bridge" since nitrogenetics message # 1 in this forum! See
https://bitcointalk.org/index.php?topic=149479.msg1587734#msg1587734
He has updated that message many times since the original March 05, 2013 message.  I saved the original and still refer to it. Wink  And since it has been updated, the comments back and forth about it, in this forum, may not seem to make sense, since they (the comments) refer to an original message # 1 that you cannot see. Sad

But there are timeless comments (ahem!) on the art of compiling-linking software that should guide one to a working .exe file.  See messages # 45 (page 3), 68 & 75 (page 4), 85 (page 5), 102 (page 6) and bypassing all the bending over backwards that gcc qmake and makefile must do to run on or target Windows, message # 550 & 552 (page 28).  These last two answer all the issues I posed in message # 85 on July 13, 2013.  It's a fait accompli since I have now built working versions of 3 other *coind.exe's and bitcoind.exe (YACoind.exe, Auroracoind.exe and Maxcoind.exe) all on MSVC++ Express all using the same four static multi-threaded libraries: Boost 1.53, OpenSSL 1.0.1g (!), Berkeley DB 4.8.30 and levelDB 1.13.  It's pretty much build it (the libraries) and forget it.  Also it's very easy to swap out a library.  For example swapping out OpenSSL 1.0.1g for 1.0.1e or 1.0.1c was pretty much a no brainer.  Same for flavors of Boost.  Is 1.54 or 1.55 better than 1.53? Is level DB 1.16 better than 1.15, 1.13, 1.12 as far as bitcoin is concerned?  On Windows? 

Getting off the soapbox and high horse now... and going back to the nose to the grindstone, salt mine, dungeon...  Actually, to making the "how to build the libraries" video series for MSVC++.  Imagine a video game walk through Grin  GUI manipulation is much easier to understand by seeing rather than reading "how to".

Ron

Hi Ron,

OP = Original Poster and I was referring to nitrogenetics original message (post #1).

I really appreciate your time and help, but I did not find anything similar to the problems I'm having (i.e. libleveldb.a and libmemenv.a are available but do not get linked).

One thing I thought of yesterday: maybe the files were compiled and archived successfully, but do not contain all necessary content. It could be that while making leveldb, some essential files for bitcoin were skipped. Running ar tv libmemenv.a and ar tv libleveldb.a reveals:

Code:
rw-rw-rw- 0/0 432255 Apr 15 16:56 2014 memenv.o

and

Code:
rw-rw-rw- 0/0  21322 Apr 15 16:56 2014 port_win.o

respectively. Could you verify if you have similar output?

Thanks in advance,
Jori.