phelix
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
October 10, 2013, 04:19:08 PM |
|
I'm having some problems compiling. First, mingw-get-setup.exe doesn't have the option to select prepackaged repository catalogues so it installs gcc 4.8.1-3. I selected all from Basic setup. Then on the step where I compile OpenSSL: cd /c/deps/ tar xvfz openssl-1.0.1e.tar.gz cd openssl-1.0.1e ./config make all goes well until i type make and get these errors at the end: ... make[1]: gcc: Command not found make[1]: *** [cryptlib.o] Error 127 make[1]: Leaving directory '/c/deps/openssl-1.0.1e/crypto' make[1]: *** [build_crypto] Error 1 I've looked everywhere but witout any luck. Anyone know what the problem is? You got the wrong MinGW installer.... you need this one: http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe/downloadUnfortunately the file is currently not available Please eMail the MinGW guys to put it back up. Somebody uploaded it here if you dare: https://mega.co.nz/#!iAU1hCoB!aNfcHgZko8U49l3Yf1vXEDhLw2sC4547Odx6M0cn5eg I thought MinGW had a very bad setup experience before but their new installer is even worse.
|
|
|
|
Joni
Newbie
Offline
Activity: 8
Merit: 0
|
|
October 10, 2013, 04:27:11 PM |
|
I'm having some problems compiling. First, mingw-get-setup.exe doesn't have the option to select prepackaged repository catalogues so it installs gcc 4.8.1-3. I selected all from Basic setup. Then on the step where I compile OpenSSL: cd /c/deps/ tar xvfz openssl-1.0.1e.tar.gz cd openssl-1.0.1e ./config make all goes well until i type make and get these errors at the end: ... make[1]: gcc: Command not found make[1]: *** [cryptlib.o] Error 127 make[1]: Leaving directory '/c/deps/openssl-1.0.1e/crypto' make[1]: *** [build_crypto] Error 1 I've looked everywhere but witout any luck. Anyone know what the problem is? You got the wrong MinGW installer.... you need this one: http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe/downloadUnfortunately the file is currently not available Please eMail the MinGW guys to put it back up. Somebody uploaded it here if you dare: https://mega.co.nz/#!iAU1hCoB!aNfcHgZko8U49l3Yf1vXEDhLw2sC4547Odx6M0cn5eg I thought MinGW had a very bad setup experience before but their new installer is even worse. Thx i'll try that.
|
|
|
|
phelix
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
October 13, 2013, 10:23:38 AM |
|
Has anybody ever managed to build with gcc 4.8?
|
|
|
|
nitrogenetics (OP)
|
|
October 13, 2013, 12:26:37 PM |
|
|
BTC: 1NWQ4TarCCC7j1XY26KRFFEtLYbPP6S3DH XRP: rJkbeyRaUYDmcukEyLYVfn56QDM9VhybZG
|
|
|
nitrogenetics (OP)
|
|
October 13, 2013, 12:57:12 PM |
|
Here is the bitcoind release 0.8.5 exit running on a "pure" Windows 7 machine: Am I really the only one who ever exits bitcoind.exe on a windows machine, or shuts that machine down, or closes bitcoind.exe's window or ends the bitcoind.exe process (task manager, etc.)? There has to be someone who has seen this on bitcoind.exe 0.8.2, 0.8.3, 0.8.4, 0.8.5? Crashing for me too when not using bitcoind stop to stop the daemon (v0.8.5, gcc 4.8.1-release-posix-dwarf-rev5).
|
BTC: 1NWQ4TarCCC7j1XY26KRFFEtLYbPP6S3DH XRP: rJkbeyRaUYDmcukEyLYVfn56QDM9VhybZG
|
|
|
old c coder
|
|
October 13, 2013, 06:45:55 PM |
|
Here is the bitcoind release 0.8.5 exit running on a "pure" Windows 7 machine: Am I really the only one who ever exits bitcoind.exe on a windows machine, or shuts that machine down, or closes bitcoind.exe's window or ends the bitcoind.exe process (task manager, etc.)? There has to be someone who has seen this on bitcoind.exe 0.8.2, 0.8.3, 0.8.4, 0.8.5? Crashing for me too when not using bitcoind stop to stop the daemon (v0.8.5, gcc 4.8.1-release-posix-dwarf-rev5). Hello nitrogenetics, See message #164 or #176 in this thread. I have the missing code for windows bitcoind, that traps the control-c/control-break events on Win7 and in addition can trap the window close, user log off and windows shut down on XP and who knows what other versions, Vista, W2003, Win8,... Without this addition, for me anyway, almost every exit using stop or otherwise, of bitcoind on XP or Win7 would cause the CDBEnv::EnvShutdown exception (22) message and the popups shown. There are a few times when things appear to go smoothly. With the code, the opposite is the case, almost every exit via whatever means, is clean. And only rarely do I see the message and popups, even though the Shutdown() and cleanup destructors are running, as shown by -printtoconsole, etc. And I have still had no joy in trying to create static libraries in Qt in order to compile-link a version of Qt that doesn't need those 5 (or 6) .dlls in order to run. I tried http://falsinsoft.blogspot.com/2011/12/building-static-qt-on-windows-with.html but haven't gotten the last step to actually produce libraries that I can statically link too? I don't know what step I'm missing, or... The funny thing is though, having produced "new" dynamic libraries and creating a new bitcoin-qt.exe, I now rarely see the 5, 6 or 7 popups and the above popup when doing a normal exit from bitcoin-qt, on XP or Win7. I still get the compiler warnings (see message #191) when compiling bitcoin-qt. The warning messages that say: shared_mutex.hpp:53:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
Go figure? Ron
|
LTC: LUYiMVsrFQewUSPDasSKGzhyTPAkiTeSov BTC: 1DPvP6WoZzaNQ9Nxzd64hjYad1kyQzTTbx YAC: Y3ZggXDvnRJaRwtVGyGJwt6DMLN3EPQpQf The day is coming when a single carrot, freshly observed, will set off a revolution. Paul Cezanne
|
|
|
phelix
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
October 18, 2013, 03:01:38 PM |
|
gcc 4.8 How did you get around the winsock trouble? Replacing define WIN32 by WIN32_LEAN_AND_MEAN did the job for me. Bitcoind works but Bitcoin-Qt crashes on start with StackHash_5861 https://github.com/bitcoin/bitcoin/issues/2341Back to 4.6...
|
|
|
|
Joe_Bauers
|
|
October 18, 2013, 06:21:22 PM |
|
Replacing define WIN32 by WIN32_LEAN_AND_MEAN did the job for me.
It does the job [compiles] but causes weird errors (incorrect getbalance results, etc.), at least for yacoind.exe.
|
|
|
|
nitrogenetics (OP)
|
|
October 19, 2013, 04:55:22 PM |
|
Not crashing for me, at least on testnet. And I have still had no joy in trying to create static libraries in Qt in order to compile-link a version of Qt that doesn't need those 5 (or 6) .dlls in order to run.
First post updated, static version seems to build just fine. What errors do you get?
|
BTC: 1NWQ4TarCCC7j1XY26KRFFEtLYbPP6S3DH XRP: rJkbeyRaUYDmcukEyLYVfn56QDM9VhybZG
|
|
|
old c coder
|
|
October 19, 2013, 05:54:51 PM |
|
Not crashing for me, at least on testnet. And I have still had no joy in trying to create static libraries in Qt in order to compile-link a version of Qt that doesn't need those 5 (or 6) .dlls in order to run.
First post updated, static version seems to build just fine. What errors do you get? Hello nitrogenetics, If you are addressing me, I get no errors, I just don't get static libraries. I get the normal "dynamic" libraries. But your new "recipes" for Boost 1.54, Qt 5.1 and it seems a gcc 4.8.x are just what I need for bitcoin-qt, it seems. Ron
|
LTC: LUYiMVsrFQewUSPDasSKGzhyTPAkiTeSov BTC: 1DPvP6WoZzaNQ9Nxzd64hjYad1kyQzTTbx YAC: Y3ZggXDvnRJaRwtVGyGJwt6DMLN3EPQpQf The day is coming when a single carrot, freshly observed, will set off a revolution. Paul Cezanne
|
|
|
petrolefr
Member
Offline
Activity: 476
Merit: 10
|
|
October 21, 2013, 07:01:01 PM |
|
It s works also for litecoin?
|
|
|
|
phelix
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
October 21, 2013, 09:15:20 PM |
|
Replacing define WIN32 by WIN32_LEAN_AND_MEAN did the job for me.
It does the job [compiles] but causes weird errors (incorrect getbalance results, etc.), at least for yacoind.exe. I realized bitcoin codes relies on WIN32 quite a bit. Probably it's best to use both: WIN32 WIN32_LEAN_AND_MEAN But it's still crashing on me on startup... so this may not be a good way to go Not crashing for me, at least on testnet. Still having trouble with MinGW 4.8.... Did you not run into winsock.h/winsock2.h troubles with mingw-builds? This is driving me nuts.
|
|
|
|
phelix
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
October 24, 2013, 02:39:38 PM Last edit: October 24, 2013, 03:14:26 PM by phelix |
|
By now it is almost impossible to build Bitcoin on Windows using pre built Qt4.8... I just hope we will officially switch to Qt5 soon. Anybody have an idea when that is supposed to happen?
|
|
|
|
nitrogenetics (OP)
|
|
October 24, 2013, 08:07:42 PM |
|
Why don't you compile Qt 4.8? Download sources http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.zip then configure -release -opensource -confirm-license -no-opengl -no-vcproj -no-openssl -no-audio-backend -no-multimedia -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug mingw32-make
You'll still need ipv6 patch to compile on gcc 4.8 from mingwbuilds with ipv6 support enabled, but you can avoid qt5 specific patches.
|
BTC: 1NWQ4TarCCC7j1XY26KRFFEtLYbPP6S3DH XRP: rJkbeyRaUYDmcukEyLYVfn56QDM9VhybZG
|
|
|
phelix
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
October 24, 2013, 09:51:35 PM |
|
You scared me: Built Qt 5.1.0 (took ~3.5 hours
But yeah, probably better than the trouble to get the latest MinGW installer to properly install gcc 4.6.
|
|
|
|
nitrogenetics (OP)
|
|
October 24, 2013, 11:28:43 PM |
|
Well, that was probably an unoptimized full build, using the previous configuration options along with make -j switch it takes about 20-30 mins on a 3570k @ 4.2GHz
|
BTC: 1NWQ4TarCCC7j1XY26KRFFEtLYbPP6S3DH XRP: rJkbeyRaUYDmcukEyLYVfn56QDM9VhybZG
|
|
|
phelix
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
October 28, 2013, 08:19:52 AM |
|
yay, I finally manage to get mingw 4.6 working with the new mingw.org installer and once again build Bitcoin-Qt with Qt 4.8.5! Also: The makefile.mingw still contains an old multithreading flaw: https://github.com/bitcoin/bitcoin/pull/3121Not sure if it is a big problem but if you are looking for a stable bitcoind.exe you might want to consider patching it.
|
|
|
|
nitrogenetics (OP)
|
|
October 28, 2013, 07:09:48 PM |
|
The makefile.mingw still contains an old multithreading flaw: https://github.com/bitcoin/bitcoin/pull/3121Not sure if it is a big problem but if you are looking for a stable bitcoind.exe you might want to consider patching it. I tried the patch, but it seems it doesn't make any difference, the compiled binaries look identical (except header timestamp).
|
BTC: 1NWQ4TarCCC7j1XY26KRFFEtLYbPP6S3DH XRP: rJkbeyRaUYDmcukEyLYVfn56QDM9VhybZG
|
|
|
phelix
Legendary
Offline
Activity: 1708
Merit: 1020
|
|
October 29, 2013, 12:23:37 PM |
|
The makefile.mingw still contains an old multithreading flaw: https://github.com/bitcoin/bitcoin/pull/3121Not sure if it is a big problem but if you are looking for a stable bitcoind.exe you might want to consider patching it. I tried the patch, but it seems it doesn't make any difference, the compiled binaries look identical (except header timestamp). Interesting find... I just tried and got the same result. It was somewhat a deal back then: http://gavintech.blogspot.co.uk/2013/08/the-macro-economics-of-alt-coins.htmlThe official builds use something ancient like gcc 4.3 IIRC so maybe it is necessary with them but the newer compiler versions do it automatically... ?
|
|
|
|
old c coder
|
|
November 19, 2013, 02:02:58 PM |
|
Hello all I am down to only 2, yes 2 compile time errors, compiling bitcoind (0.8.5) on MSVC++ Express 2005! Here's a pix of one of them The other is the IMPLEMENT_SERIALIZE macro in class CAddrInfo, in addrman.h This is due among other unknown reasons, to microsoft's inability to "stomach" the extra layer of complexity (it seems) with the line: std::map<int, int> mapUnkIds;
in IMPLEMENT_SERIALIZE When I comment just that and the references to mapUnkIds, the file compiles, though the macro is certainly wrong. I don't even know if the code, when I do successfully compile it, will run, or run correctly, but you sure can debug it wonderfully in visual studio (express). And since it really does know the convoluted interconnectedness of the include files, it compiles only what is needed. Ah those include files! Can anyone shed some light on what gcc thinks that msvc can't figure out in the first case, and how the second might be tackled too? The full error in script.cpp is ------ Build started: Project: EmptyConsoleApp, Configuration: Debug Win32 ------ Compiling... script.cpp d:\program files\microsoft visual studio 8\vc\include\functional(149) : error C2678: binary '<' : no operator found which takes a left-hand operand of type 'const CSignatureCache::sigdata_type' (or there is no acceptable conversion) k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\uint256.h(229): could be 'bool operator <(const base_uint<BITS> &,const base_uint<BITS> &)' [found using argument-dependent lookup] with [ BITS=160 ] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\uint256.h(521): or 'bool operator <(const base_uint160 &,const uint160 &)' [found using argument-dependent lookup] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\uint256.h(533): or 'bool operator <(const uint160 &,const base_uint160 &)' [found using argument-dependent lookup] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\uint256.h(545): or 'bool operator <(const uint160 &,const uint160 &)' [found using argument-dependent lookup] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\uint256.h(229): or 'bool operator <(const base_uint<BITS> &,const base_uint<BITS> &)' [found using argument-dependent lookup] with [ BITS=256 ] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\uint256.h(636): or 'bool operator <(const base_uint256 &,const uint256 &)' [found using argument-dependent lookup] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\uint256.h(648): or 'bool operator <(const uint256 &,const base_uint256 &)' [found using argument-dependent lookup] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\uint256.h(660): or 'bool operator <(const uint256 &,const uint256 &)' [found using argument-dependent lookup] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\key.h(74): or 'bool operator <(const CPubKey &,const CPubKey &)' [found using argument-dependent lookup] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\netbase.h(99): or 'bool operator <(const CNetAddr &,const CNetAddr &)' [found using argument-dependent lookup] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\netbase.h(129): or 'bool operator <(const CService &,const CService &)' [found using argument-dependent lookup] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\bignum.h(607): or 'bool operator <(const CBigNum &,const CBigNum &)' [found using argument-dependent lookup] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\script.h(63): or 'bool operator <(const CNoDestination &,const CNoDestination &)' [found using argument-dependent lookup] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\protocol.h(125): or 'bool operator <(const CInv &,const CInv &)' [found using argument-dependent lookup] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\mruset.h(35): or 'bool mruset<T>::operator <(const mruset<T> &,const mruset<T> &)' [found using argument-dependent lookup] with [ T=CInv ] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\main.h(294): or 'bool operator <(const COutPoint &,const COutPoint &)' [found using argument-dependent lookup] while trying to match the argument list '(const CSignatureCache::sigdata_type, const CSignatureCache::sigdata_type)' d:\program files\microsoft visual studio 8\vc\include\functional(148) : while compiling class template member function 'bool std::less<_Ty>::operator ()(const _Ty &,const _Ty &) const' with [ _Ty=CSignatureCache::sigdata_type ] d:\program files\microsoft visual studio 8\vc\include\set(60) : see reference to class template instantiation 'std::less<_Ty>' being compiled with [ _Ty=CSignatureCache::sigdata_type ] d:\program files\microsoft visual studio 8\vc\include\xtree(26) : see reference to class template instantiation 'std::_Tset_traits<_Kty,_Pr,_Alloc,_Mfl>' being compiled with [ _Kty=CSignatureCache::sigdata_type, _Pr=std::less<CSignatureCache::sigdata_type>, _Alloc=std::allocator<CSignatureCache::sigdata_type>, _Mfl=false ] d:\program files\microsoft visual studio 8\vc\include\xtree(68) : see reference to class template instantiation 'std::_Tree_nod<_Traits>' being compiled with [ _Traits=std::_Tset_traits<CSignatureCache::sigdata_type,std::less<CSignatureCache::sigdata_type>,std::allocator<CSignatureCache::sigdata_type>,false> ] d:\program files\microsoft visual studio 8\vc\include\xtree(94) : see reference to class template instantiation 'std::_Tree_ptr<_Traits>' being compiled with [ _Traits=std::_Tset_traits<CSignatureCache::sigdata_type,std::less<CSignatureCache::sigdata_type>,std::allocator<CSignatureCache::sigdata_type>,false> ] d:\program files\microsoft visual studio 8\vc\include\xtree(112) : see reference to class template instantiation 'std::_Tree_val<_Traits>' being compiled with [ _Traits=std::_Tset_traits<CSignatureCache::sigdata_type,std::less<CSignatureCache::sigdata_type>,std::allocator<CSignatureCache::sigdata_type>,false> ] d:\program files\microsoft visual studio 8\vc\include\set(69) : see reference to class template instantiation 'std::_Tree<_Traits>' being compiled with [ _Traits=std::_Tset_traits<CSignatureCache::sigdata_type,std::less<CSignatureCache::sigdata_type>,std::allocator<CSignatureCache::sigdata_type>,false> ] k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\script.cpp(1061) : see reference to class template instantiation 'std::set<_Kty>' being compiled with [ _Kty=CSignatureCache::sigdata_type ] Build log was saved at "file://k:\Backups\Drive_d_backup\MS VC++ Express 2005 tests\EmptyConsoleApp\EmptyConsoleApp\Debug\BuildLog.htm" EmptyConsoleApp - 1 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== How's that for an explanation!? The compiler seems to be unsure which overloaded < operator it should use, somewhere? Anyone interested in a MSVC++ 2005, 2008, 2010, 2012, 2013 Express (or full) version of bitcoind? Ron
|
LTC: LUYiMVsrFQewUSPDasSKGzhyTPAkiTeSov BTC: 1DPvP6WoZzaNQ9Nxzd64hjYad1kyQzTTbx YAC: Y3ZggXDvnRJaRwtVGyGJwt6DMLN3EPQpQf The day is coming when a single carrot, freshly observed, will set off a revolution. Paul Cezanne
|
|
|
|