Pages:
Author

Topic: Building headless Bitcoin and Bitcoin-qt on Windows - page 49. (Read 419389 times)

sr. member
Activity: 260
Merit: 251
Down to 1 error (& 2 warnings). I was able to get MSVC to "digest" IMPLEMENT_SERIALIZE(), but
this last one...

Code:
------ Rebuild All started: Project: EmptyConsoleApp, Configuration: Debug Win32 ------
Deleting intermediate and output files for project 'EmptyConsoleApp', configuration 'Debug|Win32'
Compiling...
addrman.cpp
alert.cpp
bitcoinrpc.cpp
k:\backups\boost_1_53_0\boost\iostreams\detail\streambuf\indirect_streambuf.hpp(249) : warning C4996: ...
k:\backups\boost_1_53_0\boost\algorithm\string\detail\classification.hpp(102) : warning C4996: ...
bloom.cpp
checkpoints.cpp
crypter.cpp
db.cpp
hash.cpp
init.cpp
key.cpp
keystore.cpp
leveldb.cpp
main.cpp
net.cpp
netbase.cpp
noui.cpp
protocol.cpp
rpcblockchain.cpp
rpcdump.cpp
rpcmining.cpp
rpcnet.cpp
rpcrawtransaction.cpp
rpcwallet.cpp
script.cpp
d:\program files\microsoft visual studio 8\vc\include\functional(149) : error C2678: ...
sync.cpp
txdb.cpp
util.cpp
version.cpp
wallet.cpp
walletdb.cpp
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), 2 warning(s)

If anyone has insight into script.cpp => CSignatureCache::sigdata_type and an < overloaded operator on
const types, you will get attribution in the code Grin

It would be nice to get rid of that warning in bitcoinrpc.cpp too!

Ron

I found it, the script.cpp needs another boost include file, that's all. Now on to the linking with all the libraries...

I may need some help there too! LevelDB is being a bit uncooperative Cheesy

Ron
legendary
Activity: 1708
Merit: 1020
What is the advantage of using a different compiler? What about accidental forks?
hero member
Activity: 802
Merit: 1003
GCVMMWH
Bump ^^^  Maybe one of the core Bitcoin devs can weigh in on the issues posted by old c coder?
sr. member
Activity: 260
Merit: 251
Down to 1 error (& 2 warnings). I was able to get MSVC to "digest" IMPLEMENT_SERIALIZE(), but
this last one...

Code:
------ Rebuild All started: Project: EmptyConsoleApp, Configuration: Debug Win32 ------
Deleting intermediate and output files for project 'EmptyConsoleApp', configuration 'Debug|Win32'
Compiling...
addrman.cpp
alert.cpp
bitcoinrpc.cpp
k:\backups\boost_1_53_0\boost\iostreams\detail\streambuf\indirect_streambuf.hpp(249) : warning C4996: 'std::char_traits::move': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
        d:\program files\microsoft visual studio 8\vc\include\iosfwd(470) : see declaration of 'std::char_traits::move'
        k:\backups\boost_1_53_0\boost\iostreams\detail\streambuf\indirect_streambuf.hpp(237) : while compiling class template member function 'int boost::iostreams::detail::indirect_streambuf::underflow(void)'
        with
        [
            T=SSLIOStreamDevice,
            Tr=std::char_traits,
            Alloc=std::allocator,
            Mode=boost::iostreams::detail::io_mode_impl<3>::type
        ]
        k:\backups\boost_1_53_0\boost\iostreams\stream_buffer.hpp(66) : see reference to class template instantiation 'boost::iostreams::detail::indirect_streambuf' being compiled
        with
        [
            T=SSLIOStreamDevice,
            Tr=std::char_traits,
            Alloc=std::allocator,
            Mode=boost::iostreams::detail::io_mode_impl<3>::type
        ]
        k:\backups\boost_1_53_0\boost\utility\base_from_member.hpp(69) : see reference to class template instantiation 'boost::iostreams::stream_buffer' being compiled
        with
        [
            T=SSLIOStreamDevice,
            Tr=std::char_traits,
            Alloc=std::allocator
        ]
        k:\backups\boost_1_53_0\boost\iostreams\stream.hpp(75) : see reference to class template instantiation 'boost::base_from_member' being compiled
        with
        [
            MemberType=boost::iostreams::stream_buffer,std::char_traits,std::allocator>
        ]
        k:\backups\boost_1_53_0\boost\iostreams\stream.hpp(112) : see reference to class template instantiation 'boost::iostreams::detail::stream_base' being compiled
        with
        [
            Device=SSLIOStreamDevice,
            Tr=std::char_traits,
            Alloc=std::allocator
        ]
        k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\bitcoinrpc.cpp(1338) : see reference to class template instantiation 'boost::iostreams::stream' being compiled
        with
        [
            Device=SSLIOStreamDevice
        ]
k:\backups\boost_1_53_0\boost\algorithm\string\detail\classification.hpp(102) : warning C4996: 'std::copy': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
        d:\program files\microsoft visual studio 8\vc\include\xutility(2370) : see declaration of 'std::copy'
        k:\backups\boost_1_53_0\boost\algorithm\string\classification.hpp(206) : see reference to function template instantiation 'boost::algorithm::detail::is_any_ofF::is_any_ofF>(const RangeT &)' being compiled
        with
        [
            CharT=char,
            IteratorT=const char *,
            RangeT=boost::iterator_range
        ]
        k:\backups\drive_d_backup\ms vc++ express 2005 tests\emptyconsoleapp\emptyconsoleapp\bitcoinrpc.cpp(644) : see reference to function template instantiation 'boost::algorithm::detail::is_any_ofF boost::algorithm::is_any_of(RangeT (&))' being compiled
        with
        [
            CharT=char,
            RangeT=const char [2]
        ]
bloom.cpp
checkpoints.cpp
crypter.cpp
db.cpp
hash.cpp
init.cpp
key.cpp
keystore.cpp
leveldb.cpp
main.cpp
net.cpp
netbase.cpp
noui.cpp
protocol.cpp
rpcblockchain.cpp
rpcdump.cpp
rpcmining.cpp
rpcnet.cpp
rpcrawtransaction.cpp
rpcwallet.cpp
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 &,const base_uint &)' [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 &,const base_uint &)' [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::operator <(const mruset &,const mruset &)' [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,
            _Alloc=std::allocator,
            _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,std::allocator,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,std::allocator,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,std::allocator,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,std::allocator,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
        ]
sync.cpp
txdb.cpp
util.cpp
version.cpp
wallet.cpp
walletdb.cpp
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), 2 warning(s)

If anyone has insight into script.cpp => CSignatureCache::sigdata_type and an < overloaded operator on
const types, you will get attribution in the code Grin

It would be nice to get rid of that warning in bitcoinrpc.cpp too!

Ron
sr. member
Activity: 260
Merit: 251
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:
Code:
std::map 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
 
Code:
------ 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 &,const base_uint &)' [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 &,const base_uint &)' [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::operator <(const mruset &,const mruset &)' [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,
            _Alloc=std::allocator,
            _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,std::allocator,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,std::allocator,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,std::allocator,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,std::allocator,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? Huh

Anyone interested in a MSVC++ 2005, 2008, 2010, 2012, 2013 Express (or full) version of bitcoind?

Ron
legendary
Activity: 1708
Merit: 1020
The makefile.mingw still contains an old multithreading flaw: https://github.com/bitcoin/bitcoin/pull/3121
Not 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.html

The 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... ?
full member
Activity: 131
Merit: 108
The makefile.mingw still contains an old multithreading flaw: https://github.com/bitcoin/bitcoin/pull/3121
Not 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).
legendary
Activity: 1708
Merit: 1020
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/3121
Not sure if it is a big problem but if you are looking for a stable bitcoind.exe you might want to consider patching it.
full member
Activity: 131
Merit: 108
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 Wink
legendary
Activity: 1708
Merit: 1020
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
Code:
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.

You scared me:
Quote from: nitrogenetics
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.
full member
Activity: 131
Merit: 108
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
Code:
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.
legendary
Activity: 1708
Merit: 1020
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?
legendary
Activity: 1708
Merit: 1020
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 Undecided


Bitcoind works but Bitcoin-Qt crashes on start with StackHash_5861  https://github.com/bitcoin/bitcoin/issues/2341
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.
member
Activity: 476
Merit: 10
It s works also for litecoin?
sr. member
Activity: 260
Merit: 251
Bitcoind works but Bitcoin-Qt crashes on start with StackHash_5861  https://github.com/bitcoin/bitcoin/issues/2341
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
full member
Activity: 131
Merit: 108
Bitcoind works but Bitcoin-Qt crashes on start with StackHash_5861  https://github.com/bitcoin/bitcoin/issues/2341
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?
hero member
Activity: 802
Merit: 1003
GCVMMWH
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.
legendary
Activity: 1708
Merit: 1020
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/2341

Back to 4.6...
sr. member
Activity: 260
Merit: 251
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
Code:
mingw32-make sub-src
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:
Code:
shared_mutex.hpp:53:52:
warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
Go figure?

Ron
full member
Activity: 131
Merit: 108
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).
Pages:
Jump to: