Pages:
Author

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

newbie
Activity: 42
Merit: 0


Which Boost version are you running? Also what are you trying to compile latest Bitcoin?
legendary
Activity: 882
Merit: 1000
Code:
In file included from ..\deps\boost/boost/tuple/tuple.hpp:33:0,
                 from src/serialize.h:18,
                 from src/netbase.h:10,
                 from src/net.h:18,
                 from src/emessage.h:9,
                 from src\qt\messagemodel.h:8,
                 from src\qt\bitcoin.cpp:7:
..\deps\boost/boost/tuple/detail/tuple_basic.hpp: In function 'typename boost::tuples::access_traitsles::element >::type>::const_type boost::tuples::get(const boost::tuples::cons&)'
:
..\deps\boost/boost/tuple/detail/tuple_basic.hpp:228:45: warning: typedef 'cons_element' locally defined but not used [-
Wunused-local-typedefs]
   typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
                                             ^
In file included from src/netbase.h:11:0,
                 from src/net.h:18,
                 from src/emessage.h:9,
                 from src\qt\messagemodel.h:8,
                 from src\qt\bitcoin.cpp:7:
src/compat.h: At global scope:
src/compat.h:27:15: error: conflicting declaration 'typedef u_int SOCKET'
 typedef u_int SOCKET;
               ^
In file included from C:/mingw64/x86_64-w64-mingw32/include/winsock2.h:55:0,
                 from src/compat.h:14,
                 from src/netbase.h:11,
                 from src/net.h:18,
                 from src/emessage.h:9,
                 from src\qt\messagemodel.h:8,
                 from src\qt\bitcoin.cpp:7:
C:/mingw64/x86_64-w64-mingw32/include/psdk_inc/_socket_types.h:11:18: note: previous declaration as 'typedef UINT_PTR SO
CKET'
 typedef UINT_PTR SOCKET;
                  ^
In file included from src/addrman.h:9:0,
                 from src/net.h:20,
                 from src/emessage.h:9,
                 from src\qt\messagemodel.h:8,
                 from src\qt\bitcoin.cpp:7:
src/util.h:15:13: error: conflicting declaration 'typedef int pid_t'
 typedef int pid_t; /* define for Windows compatibility */
             ^
In file included from C:/mingw64/x86_64-w64-mingw32/include/pthread.h:64:0,
                 from C:/mingw64/x86_64-w64-mingw32/include/c++/x86_64-w64-mingw32/bits/gthr-default.h:35,
                 from C:/mingw64/x86_64-w64-mingw32/include/c++/x86_64-w64-mingw32/bits/gthr.h:148,
                 from C:/mingw64/x86_64-w64-mingw32/include/c++/ext/atomicity.h:35,
                 from C:/mingw64/x86_64-w64-mingw32/include/c++/bits/basic_string.h:39,
                 from C:/mingw64/x86_64-w64-mingw32/include/c++/string:52,
                 from ..\Qt\5.3.1\include/QtCore/../../src/corelib/tools/qstring.h:50,
                 from ..\Qt\5.3.1\include/QtCore/qstring.h:1,
                 from ..\Qt\5.3.1\include/QtCore/../../src/corelib/kernel/qobject.h:49,
                 from ..\Qt\5.3.1\include/QtCore/qobject.h:1,
                 from ..\Qt\5.3.1\include/QtWidgets/../../src/widgets/kernel/qwidget.h:46,
                 from ..\Qt\5.3.1\include/QtWidgets/qwidget.h:1,
                 from ..\Qt\5.3.1\include\QtWidgets/../../src/widgets/widgets/qmainwindow.h:45,
                 from ..\Qt\5.3.1\include\QtWidgets/qmainwindow.h:1,
                 from ..\Qt\5.3.1\include\QtWidgets/QMainWindow:1,
                 from src\qt\bitcoingui.h:4,
                 from src\qt\bitcoin.cpp:4:
C:/mingw64/x86_64-w64-mingw32/include/sys/types.h:68:16: note: previous declaration as 'typedef _pid_t pid_t'
 typedef _pid_t pid_t;
                ^
In file included from ..\deps\boost/boost/system/system_error.hpp:14:0,
                 from ..\deps\boost/boost/thread/exceptions.hpp:22,
                 from ..\deps\boost/boost/thread/win32/thread_primitives.hpp:16,
                 from ..\deps\boost/boost/thread/win32/basic_timed_mutex.hpp:14,
                 from ..\deps\boost/boost/thread/win32/mutex.hpp:9,
                 from ..\deps\boost/boost/thread/mutex.hpp:14,
                 from src/allocators.h:10,
                 from src\qt\walletmodel.h:8,
                 from src\qt\bitcoin.cpp:6:
..\deps\boost/boost/system/error_code.hpp:222:36: warning: 'boost::system::posix_category' defined but not used [-Wunuse
d-variable]
     static const error_category &  posix_category = generic_category();
                                    ^
..\deps\boost/boost/system/error_code.hpp:223:36: warning: 'boost::system::errno_ecat' defined but not used [-Wunused-va
riable]
     static const error_category &  errno_ecat     = generic_category();
                                    ^
..\deps\boost/boost/system/error_code.hpp:224:36: warning: 'boost::system::native_ecat' defined but not used [-Wunused-v
ariable]
     static const error_category &  native_ecat    = system_category();
                                    ^
Makefile.Release:17581: recipe for target 'build/bitcoin.o' failed
mingw32-make: *** [build/bitcoin.o] Error 1

Anyone have an idea how to beat that?
newbie
Activity: 42
Merit: 0
Trying to compile an alt coin using this guide.

When I build altcoind.exe it works without error(although the exe crashes when I try altcoin.exe -daemon) but building the Qt fails big time.

Does anyone know what this means:
Quote
duplicate section `.rdata [...] libboost_program_options-mgw49-mt-s-1_55,a(cmdline.o) has different size

I can hardly find any information on google.. Huh

Which alt-coin are you trying to compile? Have you checked all makefiles / qt.pro?
sr. member
Activity: 260
Merit: 251
Trying to compile an alt coin using this guide.

When I build altcoind.exe it works without error(although the exe crashes when I try altcoin.exe -daemon) but building the Qt fails big time.

Does anyone know what this means:
Quote
duplicate section `.rdata [...] libboost_program_options-mgw49-mt-s-1_55,a(cmdline.o) has different size

I can hardly find any information on google.. Huh
Hello ?

Perhaps
https://www.google.com/?gws_rd=ssl#q=gcc+duplicate+section+has+different+size
and see for example:
http://stackoverflow.com/questions/11635485/regex-boost-library-linking-in-release-mode-warns-duplicate-section-has-differe

Which *coin?  BitcoinDark perhaps?  Wink

Ron

sr. member
Activity: 266
Merit: 250
Trying to compile an alt coin using this guide.

When I build altcoind.exe it works without error(although the exe crashes when I try altcoin.exe -daemon) but building the Qt fails big time.

Does anyone know what this means:
Quote
duplicate section `.rdata [...] libboost_program_options-mgw49-mt-s-1_55,a(cmdline.o) has different size

I can hardly find any information on google.. Huh
newbie
Activity: 59
Merit: 0
You can ship libwinpthread-1.dll along with the executable or compile a statically linked executable by adding the -static flag to QMAKE_LFLAGS, eg:
Code:
win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static
Thanks
full member
Activity: 131
Merit: 108
You can ship libwinpthread-1.dll along with the executable or compile a statically linked executable by adding the -static flag to QMAKE_LFLAGS, eg:
Code:
win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static
newbie
Activity: 59
Merit: 0
I am getting this error when launching my wallet.

Quote
The program can't start because libwinpthread-1.dll is missing from your computer. Try reinstalling the program to fix this problem.

http://www.absoluteefficiency.com/images/cat/catcoin_wallet_build_windows.pdf

They fixed the problem here by adding -lpthread to LIBS variable in Makefile.Release but this did not work for me. Has anyone else experienced this? The qt-wallet runs fine on my VM (windows xp 32-bit) but I get this error when launching wallet from my PC (windows 7 64-bit).
hero member
Activity: 1456
Merit: 608
Vave.com - Crypto Casino
Code:
  CXXLD  qt/bitcoin-qt.exe
d:/BTC/Dev/qrencode-3.4.3/.libs/libqrencode.a(qrspec.o): In function `QRspec_new
Frame':
d:\BTC\Dev\qrencode-3.4.3/qrspec.c:530: undefined reference to `_imp__pthread_mu
tex_lock'
d:\BTC\Dev\qrencode-3.4.3/qrspec.c:536: undefined reference to `_imp__pthread_mu
tex_unlock'
d:/BTC/Dev/qrencode-3.4.3/.libs/libqrencode.a(qrspec.o): In function `QRspec_cle
arCache':
d:\BTC\Dev\qrencode-3.4.3/qrspec.c:553: undefined reference to `_imp__pthread_mu
tex_lock'
d:\BTC\Dev\qrencode-3.4.3/qrspec.c:560: undefined reference to `_imp__pthread_mu
tex_unlock'
d:/BTC/Dev/qrencode-3.4.3/.libs/libqrencode.a(rscode.o): In function `init_rs':
d:\BTC\Dev\qrencode-3.4.3/rscode.c:217: undefined reference to `_imp__pthread_mu
tex_lock'
d:\BTC\Dev\qrencode-3.4.3/rscode.c:237: undefined reference to `_imp__pthread_mu
tex_unlock'
d:/BTC/Dev/qrencode-3.4.3/.libs/libqrencode.a(rscode.o): In function `free_rs_ca
che':
d:\BTC\Dev\qrencode-3.4.3/rscode.c:256: undefined reference to `_imp__pthread_mu
tex_lock'
d:\BTC\Dev\qrencode-3.4.3/rscode.c:266: undefined reference to `_imp__pthread_mu
tex_unlock'
d:/BTC/Dev/qrencode-3.4.3/.libs/libqrencode.a(mqrspec.o): In function `MQRspec_n
ewFrame':
d:\BTC\Dev\qrencode-3.4.3/mqrspec.c:248: undefined reference to `_imp__pthread_m
utex_lock'
d:\BTC\Dev\qrencode-3.4.3/mqrspec.c:254: undefined reference to `_imp__pthread_m
utex_unlock'
d:/BTC/Dev/qrencode-3.4.3/.libs/libqrencode.a(mqrspec.o): In function `MQRspec_c
learCache':
d:\BTC\Dev\qrencode-3.4.3/mqrspec.c:271: undefined reference to `_imp__pthread_m
utex_lock'
d:\BTC\Dev\qrencode-3.4.3/mqrspec.c:278: undefined reference to `_imp__pthread_m
utex_unlock'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [qt/bitcoin-qt.exe] Error 1
make[1]: Leaving directory `/d/btc/dev/bitcoin-master/src'
make: *** [all-recursive] Error 1

how to fix ?




Try to compare and if needed change this variables in files on first page of this topic:

QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.4
QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.4/.libs

newbie
Activity: 31
Merit: 0
Code:
  CXXLD  qt/bitcoin-qt.exe
d:/BTC/Dev/qrencode-3.4.3/.libs/libqrencode.a(qrspec.o): In function `QRspec_new
Frame':
d:\BTC\Dev\qrencode-3.4.3/qrspec.c:530: undefined reference to `_imp__pthread_mu
tex_lock'
d:\BTC\Dev\qrencode-3.4.3/qrspec.c:536: undefined reference to `_imp__pthread_mu
tex_unlock'
d:/BTC/Dev/qrencode-3.4.3/.libs/libqrencode.a(qrspec.o): In function `QRspec_cle
arCache':
d:\BTC\Dev\qrencode-3.4.3/qrspec.c:553: undefined reference to `_imp__pthread_mu
tex_lock'
d:\BTC\Dev\qrencode-3.4.3/qrspec.c:560: undefined reference to `_imp__pthread_mu
tex_unlock'
d:/BTC/Dev/qrencode-3.4.3/.libs/libqrencode.a(rscode.o): In function `init_rs':
d:\BTC\Dev\qrencode-3.4.3/rscode.c:217: undefined reference to `_imp__pthread_mu
tex_lock'
d:\BTC\Dev\qrencode-3.4.3/rscode.c:237: undefined reference to `_imp__pthread_mu
tex_unlock'
d:/BTC/Dev/qrencode-3.4.3/.libs/libqrencode.a(rscode.o): In function `free_rs_ca
che':
d:\BTC\Dev\qrencode-3.4.3/rscode.c:256: undefined reference to `_imp__pthread_mu
tex_lock'
d:\BTC\Dev\qrencode-3.4.3/rscode.c:266: undefined reference to `_imp__pthread_mu
tex_unlock'
d:/BTC/Dev/qrencode-3.4.3/.libs/libqrencode.a(mqrspec.o): In function `MQRspec_n
ewFrame':
d:\BTC\Dev\qrencode-3.4.3/mqrspec.c:248: undefined reference to `_imp__pthread_m
utex_lock'
d:\BTC\Dev\qrencode-3.4.3/mqrspec.c:254: undefined reference to `_imp__pthread_m
utex_unlock'
d:/BTC/Dev/qrencode-3.4.3/.libs/libqrencode.a(mqrspec.o): In function `MQRspec_c
learCache':
d:\BTC\Dev\qrencode-3.4.3/mqrspec.c:271: undefined reference to `_imp__pthread_m
utex_lock'
d:\BTC\Dev\qrencode-3.4.3/mqrspec.c:278: undefined reference to `_imp__pthread_m
utex_unlock'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [qt/bitcoin-qt.exe] Error 1
make[1]: Leaving directory `/d/btc/dev/bitcoin-master/src'
make: *** [all-recursive] Error 1

how to fix ?
full member
Activity: 131
Merit: 108
Same here, it compiles when using -fpermissive though.
I would stick with boost 1.55 anyway.
hero member
Activity: 1456
Merit: 608
Vave.com - Crypto Casino
Probably due to bugs in boost_1_56_0 i can't compile Quark v0.8.3 wallet nor Bitcoin v0.9.2.1 wallet with that version of boost.

from:
  boost_1_56_0/interprocess/errors.hpp:37:0
  boost_1_56_0/interprocess/exceptions.hpp:20,
  boost_1_56_0/interprocess/file_lock.hpp:20,
  init.cpp:36,

problem is here:
  boost_1_56_0/interprocess/detail/win32_api.hpp:1614:20
  boost_1_56_0/interprocess/detail/win32_api.hpp:1541:31

  return FunctionAdresses[id] ;



Is there some configuration solution?

sr. member
Activity: 260
Merit: 251
Hello YarkoL,

Hello YarkoL,

What bitcoin Qt version &/or what part of the build is giving trouble?

My woe is summarized succinctly in this post
https://bitcointalksearch.org/topic/m.6980520
If that's a Qt build thing, I find that having built libleveldb.a and libmemenv.a for the daemon, I don't need to do it again when building Qt.  Maybe something like this message might help?https://bitcointalksearch.org/topic/m.6339803

I've got quite limited resources since my other machine died. I'm on ubuntu
with whopping 2GB memory, so I wonder if your way would work on VM
with XP and VS 2005
All I can say is that I run XP on a 1.8GHz AMD Athlon 3200+ CPU with the maximum 3GB of ram available for XP and it works fine. Sometimes I'll have 3 or 4 IDE's open, sometimes 5 browser windows open on ~300 web pages (yikes!) and I can still run Bitcoind or Qt, make videos, etc.  So I think you can do it too!
Quote

Ron
legendary
Activity: 996
Merit: 1013
There's some new alts coming out with tor integration. In order to compile using mingw you will need to build libevent from https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz


You don't need event lib on windows. (blah blah...)

Came back later to edit this shameful memorial of my
ignorance.

The above instruction ^ about building libevent in windows is correct.
hero member
Activity: 750
Merit: 500
There's some new alts coming out with tor integration. In order to compile using mingw you will need to build libevent from https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

Should be able to link using
Code:
LIBEVENT_INCLUDE_PATH=C:/deps/libevent-2.0.21-stable/include
LIBEVENT_LIB_PATH=C:/deps/libevent-2.0.21-stable/.libs

otherwise you can add the following under LIBS in Makefile.Release
Code:
-lcrypt32 C:/deps/libevent-2.0.21-stable/.deps/libevent.a C:/deps/libevent-2.0.21-stable/.deps/libevent.dll.a -lws2_32
legendary
Activity: 996
Merit: 1013

Hello YarkoL,

What bitcoin Qt version &/or what part of the build is giving trouble?


My woe is summarized succinctly in this post
https://bitcointalksearch.org/topic/m.6980520

In addition, I have been able to build a wallet that issues a flurry of little panels with
error messages on shutdown.

I've got quite limited resources since my other machine died. I'm on ubuntu
with whopping 2GB memory, so I wonder if your way would work on VM
with XP and VS 2005
sr. member
Activity: 260
Merit: 251
Hello Amph,

I don't understand your English.

can i use the libraries of your video plus qt creator instead of vs10?
I don't use VS2010, so I don't understand what you are referring to?  I don't show Qt-creator at all and I don't build any Qt version, except in a different video for an alternate crypto currency.

The Libraries I show being built are all MS Windows versions. Now what can they be used for?  The can be used to create any program built using MSVS, obviously!  That includes Bitcoin and lots of other crypto currencies and many other programs too!

I don't know where Qt-creator fits into this discussion?  And I think you are asking if you can use VS2010 instead of VS2005?  Yes, you can use any VS you want!  There is a nice video (not mine) of Boost 1.37 (I think?) being made with VS2010!

Are you mixing up my videos with Claire's, where she shows the Qt-creator plug-in for VS2012 (the commercial version) being used to make Bitcoin 0.8.6 and/or Litecoin, I think?
Quote
there is a difference for any other coin?
Are you asking: Is there a difference between crypto currencies in their build proccesses? If you watched my other video, you would have seen that the build process is identical.  The libraries are identical.  The difference is the source code.  But isn't that pretty much true for all the crypto currencies?  The all have pretty much the same gcc make file for the daemon, and pretty much the same gcc make file for the Qt version?
Quote
i need something else?
I don't know what you are asking here?

Ron
legendary
Activity: 3248
Merit: 1070
you really need to install all those thing, toget this to work? isn't just qt creator+mingw enough?

Rember when installing bitcoin on Linux you need to have several dependencies - libboost, libels etc. windows simply has a much, much more complex and irritating installation procedure.

Not so,

See message # 1 in this forum, and for really easy on Windows, see
http://www.youtube.com/playlist?list=PLFnWb0ttBBMLyUuniLp3PJ5Mn4tVUlliZ

I have been compiling successfully, and running Bitcoind & BitcoinQt on Windows (using gcc and MSVC++) for over a year. Version 0.8.1, 0.8.2, 0.8.3, 0.8.5, 0.8.6, 0.9.x

See message # 517 in this forum,
https://bitcointalksearch.org/topic/m.5937160
or # 615 in this forum,
https://bitcointalksearch.org/topic/m.6645385
or # 630 in this forum,
https://bitcointalksearch.org/topic/m.6755454

and I'm not the first!

Ron


can i use the libraries of your video plus qt creator instead of vs10?

there is a difference for any other coin? i need something else?
sr. member
Activity: 260
Merit: 251
See message # 1 in this forum, and for really easy on Windows, see
http://www.youtube.com/playlist?list=PLFnWb0ttBBMLyUuniLp3PJ5Mn4tVUlliZ

I have been compiling successfully, and running Bitcoind & BitcoinQt on Windows (using gcc and MSVC++) for over a year. Version 0.8.1, 0.8.2, 0.8.3, 0.8.5, 0.8.6, 0.9.x


I think I'll try this route as QT really hates me..

Does the VS version matter?
Hello YarkoL,

What bitcoin Qt version &/or what part of the build is giving trouble?

For bitcoin-qt see
https://bitcointalk.org/index.php?topic=349094.0;all
If you want to "Qt-create" in MSVS then you will need the MSVS appropriate to the Qt-creator you are using.  Which would be probably VS 2012?  I can't speak to the Qt versions, I refer you to the forum mentioned above. 

I build bitcoin-qt only with gcc on Windows, as per Nitrogenetics message # 1.  The # 1 that existed last spring and summer (2013), that is, when bitcoin was versions 0.8.1 to 0.8.6.  I have "upped" the OpenSSL (1.0.1h) and levelDB (1.15) libraries but I still use Boost 1.53, BerkeleyDB 4.8.30 for bitcoind.exe (gcc & MSVS) and bitcoin-qt.exe (gcc). 

If you are thinking bitcoind, then any "modern" MSVS ( >= VS 2005) will work. I build with MSVS Express 2005, so VS 2008, 2010, etc. all can import from the previous version, etc. Of course one would have to build one's 4 static libraries, but that is what my videos show.  It is quite easy to build the libraries, so the process becomes quite simple.  It's all in the short videos.

Ron
full member
Activity: 160
Merit: 100
For anyone experiencing make freezing during parallel (-j) builds - I'd recommend using MSYS2 (http://sourceforge.net/projects/msys2/) as the shell because it doesn't have the bug.
Pages:
Jump to: