Bitcoin Forum
May 09, 2024, 10:30:25 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 9 10 11 »  All
  Print  
Author Topic: [ANN] EasyWinBuilder - The Easy Way to Build Bitcoin on Windows  (Read 50064 times)
phelix (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1020



View Profile
July 09, 2013, 03:10:22 PM
Last edit: March 01, 2016, 09:11:32 AM by phelix
Merited by ABCbits (9), xandry (5)
 #1




Currently I don't have the time to properly support and improve EasyWinBuilder, sorry. Feel free to fork.


EasyWinBuilder v0.7 for Bitcoin Core
========================
(c) 2014-2015 phelix / blockchained.com - MIT license

Source: https://github.com/phelix/easywinbuilder
Download (source in a zip file): https://github.com/phelix/easywinbuilder/archive/master.zip
Forum: https://bitcointalk.org/index.php?topic=252931

Download environment software, all dependencies and build Bitcoin automatically. To run simply double click __all_easywinbuilder.bat or manually start the batch files in order.

If you have ever built Bitcoin on Windows you probably know it can be a pain. Hopefully these scripts will make things a little easier. Note that the official Windows binaries are cross compiled on Linux.

EasyWinBuilder can run on a mint windows system (e.g. a virtual machine) or a normal system. It might overwrite your MinGW or Qt installation, though. Please note the process takes about 1.5 hours (i3 with SSD) and will need about 3GB of hard drive space. All automatic downloads are now verified against included hashes.

Edit set_vars.bat to change the Bitcoin version or build similarly structured altcoins and to change directories and dependency versions. Also run downloadhashes_create.sh from within MSYS.

Based on build instructions by nitrogenetics (https://bitcointalk.org/index.php?topic=149479.0), Matt Corallo and others


I will only answer support requests publicly posted in this thread.
1715250625
Hero Member
*
Offline Offline

Posts: 1715250625

View Profile Personal Message (Offline)

Ignore
1715250625
Reply with quote  #2

1715250625
Report to moderator
1715250625
Hero Member
*
Offline Offline

Posts: 1715250625

View Profile Personal Message (Offline)

Ignore
1715250625
Reply with quote  #2

1715250625
Report to moderator
The forum strives to allow free discussion of any ideas. All policies are built around this principle. This doesn't mean you can post garbage, though: posts should actually contain ideas, and these ideas should be argued reasonably.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715250625
Hero Member
*
Offline Offline

Posts: 1715250625

View Profile Personal Message (Offline)

Ignore
1715250625
Reply with quote  #2

1715250625
Report to moderator
phelix (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1020



View Profile
July 09, 2013, 03:44:48 PM
 #2


Thanks for the hint - corrected. I first had to find github's default branch feature.  Cheesy
Zalfrin
Sr. Member
****
Offline Offline

Activity: 401
Merit: 250



View Profile
July 10, 2013, 03:05:22 AM
Last edit: July 10, 2013, 03:24:02 AM by Zalfrin
 #3

Great idea! This is extremely helpful. However... not yet fully working for me. I ran the __all... batch file from a command prompt and all went smoothly for a while, until at some point during the process, the command window exited on its own. I'm working on tracking down where it had problems.

Looks like something in build_dep.sh. memenv_test compile completes, but not much seems to have happened in the openssl folder, and nothing in the db folder.

I commented out "set -o errexit" in build_dep.sh, assuming that was what killed my command window due to an error somewhere. When I did that and run 3b.bat, I get as far as the openssl install, then I can see a bunch of windows for c:\MinGW\bin\cc.exe being launched and closed, until I kill the batch file.

I'll keep poking at it and see if I can learn any more about the issue.

EDIT:

running openssl ./config and make via mingw console seems to work fine. Not sure what the deal is with running via the .bat under windows command prompt instead...

I commented out the openssl compile from the .sh and am now continuing with the rest of the process.

The sed commands are throwing a permission denied error, but look to have successfully updated what they were supposed to anyways.
Zalfrin
Sr. Member
****
Offline Offline

Activity: 401
Merit: 250



View Profile
July 10, 2013, 03:39:58 AM
 #4

Warning this has a backdoor in it that sends the owner all the bitcoins

LOL. Care to point out where in the code this happens? OP provided a bunch of benign .bat files and unmodified 0.8.3 BTC source code. I encourage you to do your homework with any release published on the internet, but from having looked through all the batch files/shell scripts and run through the process myself, there doesn't look to be any funny business.
Zalfrin
Sr. Member
****
Offline Offline

Activity: 401
Merit: 250



View Profile
July 10, 2013, 03:50:11 AM
 #5

Other than the openssl installation issue, everything else went smoothly. I will try out the generated qt file on a machine with a fresh windows install.
cursednova
Full Member
***
Offline Offline

Activity: 136
Merit: 100


View Profile
July 10, 2013, 04:46:43 AM
 #6

oh god you have no idea how much I love you right now!
Gavin Andresen
Legendary
*
qt
Offline Offline

Activity: 1652
Merit: 2216


Chief Scientist


View Profile WWW
July 10, 2013, 06:14:47 AM
 #7

Nice work!

RE: gcc creating different binaries:

The gitian build does two main things to make builds reproducible:

1. Uses libfaketime.so so all calls to time()/etc during compilation return the same time.
 (I don't know if it is the compiler, linker, or archiver that likes to put timestamps in binaries)

2. Passes -frandom-seed=constant  to g++, so it doesn't create random names for generated methods.


How often do you get the chance to work on a potentially world-changing project?
anonppcoin
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
July 10, 2013, 03:45:31 PM
 #8

EDIT:

running openssl ./config and make via mingw console seems to work fine. Not sure what the deal is with running via the .bat under windows command prompt instead...

I commented out the openssl compile from the .sh and am now continuing with the rest of the process.

The sed commands are throwing a permission denied error, but look to have successfully updated what they were supposed to anyways.

Thanks for this tip, I had to do the same.
phelix (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1020



View Profile
July 10, 2013, 03:58:52 PM
 #9

Warning this has a backdoor in it that sends the owner all the bitcoins
no. Please give proof with accusations like that.

Everybody is invited to look at the files himself.
phelix (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1020



View Profile
July 10, 2013, 04:02:00 PM
 #10

EDIT:

running openssl ./config and make via mingw console seems to work fine. Not sure what the deal is with running via the .bat under windows command prompt instead...

I commented out the openssl compile from the .sh and am now continuing with the rest of the process.

The sed commands are throwing a permission denied error, but look to have successfully updated what they were supposed to anyways.

Thanks for this tip, I had to do the same.
do you guys happen to have Perl installed? To debug it helps to start the batch files from the command line (pause on error does not always work)
cursednova
Full Member
***
Offline Offline

Activity: 136
Merit: 100


View Profile
July 10, 2013, 04:20:10 PM
 #11

open ssl will not install and I cant figure out how to get past this error
cowanjeffrey93
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile
July 10, 2013, 04:24:59 PM
 #12

LOVIN IT, keep it up!
cursednova
Full Member
***
Offline Offline

Activity: 136
Merit: 100


View Profile
July 10, 2013, 05:04:33 PM
 #13

I would like to apologize about the last post because if I had was paying attention I would of read it needs perl now the openssl has no issues at all. I would like to thank you for letting me use your software much love <3
anonppcoin
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
July 10, 2013, 05:44:54 PM
 #14

EDIT:

running openssl ./config and make via mingw console seems to work fine. Not sure what the deal is with running via the .bat under windows command prompt instead...

I commented out the openssl compile from the .sh and am now continuing with the rest of the process.

The sed commands are throwing a permission denied error, but look to have successfully updated what they were supposed to anyways.

Thanks for this tip, I had to do the same.
do you guys happen to have Perl installed? To debug it helps to start the batch files from the command line (pause on error does not always work)

I had perl but I'm not sure if I had restarted (this is a number-crunching workstation) since adding it to the path. Retrying from scratch now.
2112
Legendary
*
Offline Offline

Activity: 2128
Merit: 1068



View Profile
July 10, 2013, 07:07:56 PM
 #15

Unfortunately it does not work as MinGW GCC is somewhat nondeterministic.
Have you tried
Code:
  -frandom-seed=<string>      Make compile reproducible using <string>
?

Please comment, critique, criticize or ridicule BIP 2112: https://bitcointalk.org/index.php?topic=54382.0
Long-term mining prognosis: https://bitcointalk.org/index.php?topic=91101.0
phelix (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1020



View Profile
July 10, 2013, 10:01:54 PM
 #16

Nice work!

RE: gcc creating different binaries:

The gitian build does two main things to make builds reproducible:

1. Uses libfaketime.so so all calls to time()/etc during compilation return the same time.
 (I don't know if it is the compiler, linker, or archiver that likes to put timestamps in binaries)

2. Passes -frandom-seed=constant  to g++, so it doesn't create random names for generated methods.


Unfortunately it does not work as MinGW GCC is somewhat nondeterministic.
Have you tried
Code:
  -frandom-seed=<string>      Make compile reproducible using <string>
?

Thanks for the suggestions, very much appreciated. I was about to filter the disassembly for commands and register names  Grin
phelix (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1020



View Profile
July 10, 2013, 10:19:41 PM
 #17

EDIT:

running openssl ./config and make via mingw console seems to work fine. Not sure what the deal is with running via the .bat under windows command prompt instead...

I commented out the openssl compile from the .sh and am now continuing with the rest of the process.

The sed commands are throwing a permission denied error, but look to have successfully updated what they were supposed to anyways.

Thanks for this tip, I had to do the same.
do you guys happen to have Perl installed? To debug it helps to start the batch files from the command line (pause on error does not always work)

I had perl but I'm not sure if I had restarted (this is a number-crunching workstation) since adding it to the path. Retrying from scratch now.

The batch files install msys-perl themselves so it should be better NOT to have Perl installed beforehand. Theoretically it should not matter, though so maybe there is another problem. For me it runs fine (just tested again on Primecoin).

Maybe you could launch 3b_run_build_dep.bat (and the following if there is no problem) from the command line and post if you can then see a problem. The scripts should pause on error but it does not seem to work in this case.

sed will always cry about permissions but it does the job.
Zalfrin
Sr. Member
****
Offline Offline

Activity: 401
Merit: 250



View Profile
July 10, 2013, 10:34:18 PM
 #18

I don't have Perl installed on this machine. I have been running from a command prompt, not double-clicking the .bat. Wink

As I said, when 3b.bat gets to installing openssl, either .config or (more likely) make is going off in the weeds... Window after window of instances of cc.exe open and close. My best guess is the compiler is being invoked incorrectly somehow. Should cc.exe even be getting invoked?  Huh

Anyhow, all the details of the problem are in my 1st post above. I was able to work around it, so not a huge deal. Thanks for releasing this, overall it's excellent. Wink I will toss you a donation the next time I open my wallet.
phelix (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1020



View Profile
July 10, 2013, 10:50:31 PM
 #19

I don't have Perl installed on this machine. I have been running from a command prompt, not double-clicking the .bat. Wink

As I said, when 3b.bat gets to installing openssl, either .config or (more likely) make is going off in the weeds... Window after window of instances of cc.exe open and close. My best guess is the compiler is being invoked incorrectly somehow. Should cc.exe even be getting invoked?  Huh

Anyhow, all the details of the problem are in my 1st post above. I was able to work around it, so not a huge deal. Thanks for releasing this, overall it's excellent. Wink I will toss you a donation the next time I open my wallet.
Sorry, I had missed your report. Atm I am lost on this one Huh 

I have tested on Win8 and XP btw.
phelix (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1020



View Profile
July 11, 2013, 03:05:07 PM
 #20

[...]

2. Passes -frandom-seed=constant  to g++, so it doesn't create random names for generated methods.


Unfortunately it does not work as MinGW GCC is somewhat nondeterministic.
Have you tried
Code:
  -frandom-seed=<string>      Make compile reproducible using <string>
?
I guess this would have to be applied to all dependency builds, too? oh boy.
Pages: [1] 2 3 4 5 6 7 8 9 10 11 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!