2112
Legendary
Offline
Activity: 2128
Merit: 1068
|
|
July 11, 2013, 03:43:53 PM |
|
I guess this would have to be applied to all dependency builds, too? oh boy.
Of course. May I suggest that you try your differencing approach on some simpler project? Gavin had mentioned libfaketime.so; which is not applicable to build that is hosted on Windows. But you still need to develop a methodology for effectively ignoring the time stamps that get incorporated into the binaries.
|
|
|
|
|
|
|
|
|
In order to achieve higher forum ranks, you need both activity points and merit points.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
|
phelix (OP)
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
July 12, 2013, 11:51:38 AM |
|
Issues with OpenSSL seem to be fixed (it always worked for me but know I got confirmation from someone where it did not work before).
|
|
|
|
phelix (OP)
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
July 17, 2013, 08:49:37 AM |
|
Somebody has written a build script before: https://bitcointalk.org/index.php?topic=28782.0 [Automatic] Building windows bitcoin client from sources The download via .vbs works on my system so it might be possible to make the whole process fully automatic.
|
|
|
|
phelix (OP)
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
July 20, 2013, 08:10:06 AM |
|
Out now: v0.2 https://github.com/phelixbtc/bitcoinThe binary hash seems to work for the Qt executable. At least for the two machines I tested on with different Windows version and bits. It would be nice if somebody could post his result. Could not get it to work with bitcoind.exe so far, any idea appreciated. Also the way I use to get around the timestamp is quite inefficient and I am not sure if it is secure: echo Hash sha256 of disassembly [may take a while]: objdump -d $1 | shasum -a 256
At least it is a start and should make simple binary verification by multiple people possible without having to dive into Gitian. Hash of Qt binary [experimental]... File hash sha256: bb3759f90601a092e6d6bc87f3fdfaba1a2507b6b631d3506052f37f517370a9 *../release/bit coin-qt.exe
Hash sha256 of disassembly [may take a while]: 7e1f2a6f435cedca4304640d58ca663212b8a2ca4267e6a5ca865ce28d90dc6a -
phelix got: 7e1f2a6f435cedca4304640d58ca663212b8a2ca4267e6a5ca865ce28d90dc6a
|
|
|
|
Palmdetroit
Legendary
Offline
Activity: 910
Merit: 1000
PHS 50% PoS - Stop mining start minting
|
|
July 20, 2013, 08:07:53 PM |
|
Worked for me win7 64
Saved me lots of time, thanks!
|
|
|
|
Gavin Andresen
Legendary
Offline
Activity: 1652
Merit: 2216
Chief Scientist
|
|
July 31, 2013, 12:04:05 AM |
|
So, one thought:
Instead of "staging" all of the dependencies and then modifying the makefile/.pro to look for the dependencies in six different places, it would be cleaner to configure with --prefix=<somewhere> and then 'make install' to put all the dependency libraries/include files in one spot. Ideally, none of the makefiles/.pro files would contain specific version numbers for anything.
Specific notes as I worked through doing that on a Windows system, putting dependencies in C:\deps :
Openssl: /bin/perl Configure --prefix=/c/deps mingw ...etc
BDB: ../dist/configure --prefix=/c/deps ...etc
Boost: b2.exe --layout=system --prefix=C:\deps link=static threading=multi runtime-link=static toolset=gcc ...etc
Qt: configure.exe -prefix=C:\deps -I "C:\deps\include" -L "C:\deps\lib" ...etc
|
How often do you get the chance to work on a potentially world-changing project?
|
|
|
phelix (OP)
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
July 31, 2013, 07:58:06 AM |
|
So, one thought:
Instead of "staging" all of the dependencies and then modifying the makefile/.pro to look for the dependencies in six different places, it would be cleaner to configure with --prefix=<somewhere> and then 'make install' to put all the dependency libraries/include files in one spot. Ideally, none of the makefiles/.pro files would contain specific version numbers for anything.
Specific notes as I worked through doing that on a Windows system, putting dependencies in C:\deps :
Openssl: /bin/perl Configure --prefix=/c/deps mingw ...etc
BDB: ../dist/configure --prefix=/c/deps ...etc
Boost: b2.exe --layout=system --prefix=C:\deps link=static threading=multi runtime-link=static toolset=gcc ...etc
Qt: configure.exe -prefix=C:\deps -I "C:\deps\include" -L "C:\deps\lib" ...etc
Thanks for the configure lines. You are saying that it is cleaner to throw all the libraries into one folder? To be frank that sounds somewhat messy to me. I would see an advantage in putting each dependency's libs into separate folder of the same structure, e.g. "C:\deps\libboost", C:\deps\libminiupnpc. But first I want to make sure the disassembly binary verifying is working.
|
|
|
|
Vitalicus
Full Member
Offline
Activity: 467
Merit: 100
DIA | Data infrastructure for DeFi
|
|
July 31, 2013, 09:08:30 PM |
|
Will EasyWinBuilder compile litecoin ?
|
|
|
|
phelix (OP)
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
August 01, 2013, 08:18:33 AM |
|
I'm starting to lose my patience. I pay 0.3 BTC each person that successfully explains to me: how to build a litecoin-qt client on a windows system. ->From the first download up to the final "ctrl-B command" in the Qt Creator. * Download your favorite Litecoin version: https://github.com/litecoin-project/litecoin and extract it. * Download https://github.com/phelixbtc/bitcoin/archive/0.8.3-EasyWinBuilder-v0.2.zip and copy the easywinbuilder folder into the litecoin folder (so that it is next to src, doc, ...) * In the easywinbuilder folder edit set_vars.bat: @set COINNAME=bitcoin ---> @set COINNAME=litecoin * In the easywinbuilder folder double click __all_easywinbuilder.bat * Follow instructions unfortunately, the script crashs after some times. I will try this on an other windows machine in a few hours. but thanks anyway If you like send me the output by pm or here https://bitcointalk.org/index.php?topic=252931 and I will look into it. The script crash after thees errors:
c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: cannot fin d -lboost_system-mgw44-mt-s-1_53 c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: cannot fin d -lboost_filesystem-mgw44-mt-s-1_53 c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: cannot fin d -lboost_program_options-mgw44-mt-s-1_53 c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: cannot fin d -lboost_thread-mgw44-mt-s-1_53 c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: cannot fin d -lssl c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: cannot fin d -lcrypto
collect2.exe: Fehler: ld gab 1 als Ende-Status zurück
the debug and release folders are empty
Just tested and it worked with a single double click on __everything_but_environment_easywinbuilder.bat (because I already have the correct mingw and qt installed). Problem seems to be that it does not find the dependencies... I assume you got this file: https://github.com/litecoin-project/litecoin/archive/master-0.8.zipDirectory structure should look like this before you start the batch file: C:\....\litecoin-master-0.8 - contrib - doc - easywinbuilder - libs - share - src Within the libs folder the scripts will download dependency archives, unpack them to some folders. If it fails you can take a look in there to see if everything is in the right place (archives, directories named like archives). Hash of Qt binary [experimental]... File hash sha256: 4bbcd56ae2f2da598a31ffdbfa3df01a47d8531fdff5c200761f8bc9ed8b5810 *../release/[b]litecoin[/b]-qt.exe
Hash sha256 of disassembly [may take a while]: 93701842a5c1d85b80880e18675696d16eda10c4ac8931e2cf6e460467d27300 -
The second hash should be the same for you.
|
|
|
|
phelix (OP)
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
August 01, 2013, 08:23:45 AM |
|
Will EasyWinBuilder compile litecoin ?
yes: * Download the latest Litecoin version https://github.com/litecoin-project/litecoin/archive/master-0.8.zip and extract it * Download https://github.com/phelixbtc/bitcoin/archive/0.8.3-EasyWinBuilder-v0.2.zip and copy ONLY the easywinbuilder folder into the litecoin folder like this: C:\....\litecoin-master-0.8 - contrib - doc - easywinbuilder - libs - share - src * In the easywinbuilder folder edit set_vars.bat: @set COINNAME=bitcoin ---> @set COINNAME=litecoin * In the easywinbuilder folder double click __all_easywinbuilder.bat * Follow instructions * Post the hash it prints out at the end here to help me improve file verification (as I did in the post above)
|
|
|
|
|
Vitalicus
Full Member
Offline
Activity: 467
Merit: 100
DIA | Data infrastructure for DeFi
|
|
August 04, 2013, 10:19:06 PM |
|
My litecoin compiling stop at:
make: Nothing to be done for "all" openssl... Operating system: i686-watether-mingw
|
|
|
|
phelix (OP)
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
August 05, 2013, 10:21:15 AM |
|
I guess your intention is saving alot people right now and will in the future Great Job! hehe, thanks. My litecoin compiling stop at:
make: Nothing to be done for "all" openssl... Operating system: i686-watether-mingw
Thanks for the hint. On some systems the openssl config stalled like that - seems to be a bug in MSYS with redirects when called from a batch file. Luckily yesterday I got my hands on a system with this problem (win7, 32bit). I added a workaround so you can give it another try if you like (to speed things up you should be able to overwrite the easywinbuilder directory with the new version and continue with __everything_from_after_unpack_easywinbuilder.bat or go through the steps manually starting with 3b). Binary verification via disassembly hashAlso the disassembly hash for Qt matched on this third system so I think the principle of binary verification via disassembly hashes could work. If you have an opinion on the security of this verification method or a better way to get rid of the timestamp on windows / MinGW please let me know. It might be necessary to add some objdump output to the hash to make it more secure.
|
|
|
|
Viriatto
Newbie
Offline
Activity: 33
Merit: 0
|
|
August 05, 2013, 10:29:04 PM |
|
Im trying to get test done under a fresh Windows XP. It all runs fine until 4a(Building Daemon part), returning the following error: c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_system-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_filesystem-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_program_options-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_thread-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_chrono_options-mgw45-mt-s-1_50 collect2: ld returned 1 exit status mingw32-make: *** [litecoind.exe] Error 1 (I've also tried without enviromnent)
|
|
|
|
phelix (OP)
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
August 06, 2013, 09:00:19 AM |
|
Im trying to get test done under a fresh Windows XP. It all runs fine until 4a(Building Daemon part), returning the following error: c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_system-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_filesystem-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_program_options-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_thread-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_chrono_options-mgw45-mt-s-1_50 collect2: ld returned 1 exit status mingw32-make: *** [litecoind.exe] Error 1 (I've also tried without enviromnent) It can not find the boost libraries... try the build boost batch (is there an error?) and then build daemon / build qt
|
|
|
|
Vitalicus
Full Member
Offline
Activity: 467
Merit: 100
DIA | Data infrastructure for DeFi
|
|
August 06, 2013, 10:18:49 PM |
|
From 3b_run_build_dep.bat does not work > "rxvt" - is not a file or command.
|
|
|
|
Viriatto
Newbie
Offline
Activity: 33
Merit: 0
|
|
August 07, 2013, 01:03:29 AM |
|
Im trying to get test done under a fresh Windows XP. It all runs fine until 4a(Building Daemon part), returning the following error: c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_system-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_filesystem-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_program_options-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_thread-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_chrono_options-mgw45-mt-s-1_50 collect2: ld returned 1 exit status mingw32-make: *** [litecoind.exe] Error 1 (I've also tried without enviromnent) It can not find the boost libraries... try the build boost batch (is there an error?) and then build daemon / build qt Giving you my feedback under this subject, i found out your batchs are not friendly with "spaces" on folder names, like "Program Files". Managed to workit out by moving my coin folder to c:\, yet some other stuff happened i will try to fix it and repost feedback.
|
|
|
|
phelix (OP)
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
August 07, 2013, 09:34:13 AM |
|
From 3b_run_build_dep.bat does not work > "rxvt" - is not a file or command.
Sorry forgot about that: You will have to start over from __everything_but_environment.bat or manually run this command from a mingw msys shell: mingw-get install msys-rxvt
Im trying to get test done under a fresh Windows XP. It all runs fine until 4a(Building Daemon part), returning the following error: c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_system-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_filesystem-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_program_options-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_thread-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_chrono_options-mgw45-mt-s-1_50 collect2: ld returned 1 exit status mingw32-make: *** [litecoind.exe] Error 1 (I've also tried without enviromnent) It can not find the boost libraries... try the build boost batch (is there an error?) and then build daemon / build qt Giving you my feedback under this subject, i found out your batchs are not friendly with "spaces" on folder names, like "Program Files". Managed to workit out by moving my coin folder to c:\, yet some other stuff happened i will try to fix it and repost feedback. Thanks for the info. For now it is only meant to work with default directories.
|
|
|
|
phelix (OP)
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
September 03, 2013, 12:34:26 PM |
|
From 3b_run_build_dep.bat does not work > "rxvt" - is not a file or command.
Sorry forgot about that: You will have to start over from __everything_but_environment.bat or manually run this command from a mingw msys shell: mingw-get install msys-rxvt
Im trying to get test done under a fresh Windows XP. It all runs fine until 4a(Building Daemon part), returning the following error: c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_system-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_filesystem-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_program_options-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_thread-mgw45-mt-s-1_50 c:/ming/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_chrono_options-mgw45-mt-s-1_50 collect2: ld returned 1 exit status mingw32-make: *** [litecoind.exe] Error 1 (I've also tried without enviromnent) It can not find the boost libraries... try the build boost batch (is there an error?) and then build daemon / build qt Giving you my feedback under this subject, i found out your batchs are not friendly with "spaces" on folder names, like "Program Files". Managed to workit out by moving my coin folder to c:\, yet some other stuff happened i will try to fix it and repost feedback. Thanks for the info. For now it is only meant to work with default directories. There is a newer version with variable directories and automatic COINNAME detection here: https://github.com/phelixnmc/namecoin-qt - this is Namecoin but can be copy pasted to Bitcoin/Altcoins. Also I moved the easywinbuilder folder into contrib.
|
|
|
|
worldspace
Newbie
Offline
Activity: 18
Merit: 0
|
|
September 05, 2013, 02:20:46 PM |
|
all seemed to be right, but i got this error message: In file included from c:\deps\boost_1_54_0/boost/system/system_error.hpp:14:0, from c:\deps\boost_1_54_0/boost/thread/exceptions.hpp:22, from c:\deps\boost_1_54_0/boost/thread/win32/thread_primitives. hpp:16, from c:\deps\boost_1_54_0/boost/thread/win32/basic_timed_mutex. hpp:14, from c:\deps\boost_1_54_0/boost/thread/win32/mutex.hpp:9, from c:\deps\boost_1_54_0/boost/thread/mutex.hpp:14, from src\allocators.h:10, from src\serialize.h:22, from src\netbase.h:10, from src\net.h:19, from src\rpcnet.cpp:5: c:\deps\boost_1_54_0/boost/system/error_code.hpp:222:36: Warnung: »boost::system ::posix_category« definiert, aber nicht verwendet [-Wunused-variable] c:\deps\boost_1_54_0/boost/system/error_code.hpp:223:36: Warnung: »boost::system ::errno_ecat« definiert, aber nicht verwendet [-Wunused-variable] c:\deps\boost_1_54_0/boost/system/error_code.hpp:224:36: Warnung: »boost::system ::native_ecat« definiert, aber nicht verwendet [-Wunused-variable] Makefile.Release:1791: recipe for target 'build/rpcnet.o' failed mingw32-make: *** [build/rpcnet.o] Error 1 i think this happens somewhere in the last bitcoin compile step i used the standard code, no changes
|
|
|
|
|