Pages:
Author

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

hero member
Activity: 490
Merit: 500
Im using qt5 creator and im getting this error.

build_config.mk no such file or directory

 Huh
sr. member
Activity: 260
Merit: 251
is it possible to expand your guide to include building the qt client?

Bitcoin-qt build instrunctions added Smiley

Hello nitrogenetics

Finally, after two months of studying and testing, on and off in spare moments, I have found what was keeping me from compiling bitcoin-qt on windows, for windows!

What I discovered was, was that in step 4.3 of your wonderful guide,
qmake "USE_UPNP=-" bitcoin-qt.pro
creates the Makefile.Release for the next step, and it makes an (at least one) error in doing it! What I found was that when the next step is run
mingw32-make -f Makefile.Release
the linker loader part (looking at Makefile.Release) at the end of the process, attempts to link
QtGui4  and QtCore4, which are .dll's in the bin directory, not the lib directory!

So I added a piece to the LIBS directive at line 18 of Makefile.Release:
it was
LIBS        =      -L"c:\Qt\4.8.4\lib" -lmingwthrd -lmingw32 -lqtmain build\bitcoin-qt_res.o D:/BTCversions/version_0_8_1/src/src/leveldb/libleveldb.a D:/BTCversions/version_0_8_1/src/src/leveldb/libmemenv.a -lshlwapi -LC:\boost_1_53_0\stage\lib -Lc:/db-4.8.30.NC/build_unix -Lc:/openssl-1.0.1e -lssl -lcrypto -ldb_cxx -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32 -lboost_system-mgw46-mt-sd-1_53 -lboost_filesystem-mgw46-mt-sd-1_53 -lboost_program_options-mgw46-mt-sd-1_53 -lboost_thread-mgw46-mt-sd-1_53 -lboost_chrono-mgw46-mt-sd-1_53 -lQtGui4 -lQtCore4

and it becomes
LIBS        =        -L"c:\Qt\4.8.4\bin" -L"c:\Qt\4.8.4\lib" -lmingwthrd -lmingw32 -lqtmain build\bitcoin-qt_res.o D:/BTCversions/version_0_8_1/src/src/leveldb/libleveldb.a D:/BTCversions/version_0_8_1/src/src/leveldb/libmemenv.a -lshlwapi -LC:\boost_1_53_0\stage\lib -Lc:/db-4.8.30.NC/build_unix -Lc:/openssl-1.0.1e -lssl -lcrypto -ldb_cxx -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32 -lboost_system-mgw46-mt-sd-1_53 -lboost_filesystem-mgw46-mt-sd-1_53 -lboost_program_options-mgw46-mt-sd-1_53 -lboost_thread-mgw46-mt-sd-1_53 -lboost_chrono-mgw46-mt-sd-1_53 -lQtGui4 -lQtCore4

Then it links, and bitcoin-qt.exe works so far, in the various tests I have given it.

Interestingly, the messages referred to that are emitted when qmake creates Makefile.Release from bitcoin-qt.pro suggest that it is turning uPnP back on and off and on, even with the flag saying no, off.  I think the QtGui4 & QtCore dlls are that uPnp part which somehow crept into the link from bitcoin-qt.pro

Perhaps the .pro file can be "fixed" but I think the problem may be more in the "less than robust" parser in qmake?

I am now off to giving the wallet.dat its own path, like bitcoin.conf can have. The only tricky code is at startup in AppInit2(), step 5, where the "Verifying wallet integrity..." code is, covering -salvagewallet and bitdb.Verify(...)

But I don't think it is too difficult.

I think there is a boatload of good programmers out there that are on the windows platform, that can improve the UI of bitcoin-qt and the internals too, and make it so tempting that many more (non technical) people will jump on the Bitcoin bandwagon...

All windows VC6, VC++Express 2005, 2008, 2010, 2012 (all free IDE BTW) users, let's contribute.

Getting off soapbox now Lips sealed

Ron

If this is of any help, small fragments may be donated to my profile btc $, 1DPvP6WoZzaNQ9Nxzd64hjYad1kyQzTTbx, thereby rounding up your wallet  Wink

It was about a year ago... well there is now a MSVS bitcoind.exe

Ron
sr. member
Activity: 260
Merit: 251
Hello all,

Here is a live pix worth 1K words.

There is a lot in there.

Notice the 5 transactions hi-lighted in color on blockchain.info and hi-lighted on the running MSVC++ bitcoind.exe.  Also the ~117MB being used by bitcoind.exe according to procexp.exe.  Another bitcoind.exe just RPC quizzed the MSVC++ version for getblockcount, actually getblockcountt.  I added a command to give the block number and its blocktime so I could see easily how the "catch-up" was going. And on the right is MSVC++ Express having just compiled 3 of the files and linked them in 1:52 (1 minute and 52 seconds) to produce the program that is running.  I just commented (//) out a few printf()s to quiet the printtoconsole output a little so that I could capture the transactions as they go scrolling by.  If one looks closely one can see this forum open in another browser window in the background. Smiley

Ron
Hi all,

I couldn't wait any longer... Yes there are a few faux pas etc. but I think the ideas are clear.  Here is the video series on building bitcoind.exe and YACoind.exe using MSVS and C++ on windows:
https://www.youtube.com/playlist?list=PLFnWb0ttBBMLyUuniLp3PJ5Mn4tVUlliZ
there are 4 static library building videos, all short, and a two part finale  Smiley

Hope this helps those that are "gcc desperate"  Grin  I'm just offering an alternative to the current methods.  It passes the unit test too, BTW.

Ron
legendary
Activity: 996
Merit: 1013
Working fine out of the box for me. Could you post your gcc -v output?

Not sure if this was addressed to me, but here it is.

Code:
$ gcc -v
Using built-in specs.
COLLECT_GCC=c:\mingw32\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.8.2/lto-wrapper.exe
Target: i686-w64-mingw32
Configured with: ../../../src/gcc-4.8.2/configure --host=i686-w64-mingw32 --build=i686-w64-mingw32 --target=i686-w64-min
gw32 --prefix=/mingw32 --with-sysroot=/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32 --with-gxx-include-dir=/mingw3
2/i686-w64-mingw32/include/c++ --enable-shared --enable-static --disable-multilib --enable-languages=ada,c,c++,fortran,o
bjc,obj-c++,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --en
able-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-s
jlj-exceptions --with-dwarf2 --disable-isl-version-check --disable-cloog-version-check --disable-libstdcxx-pch --disable
-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-sy
mvers --with-gnu-as --with-gnu-ld --with-arch=i686 --with-tune=generic --with-libiconv --with-system-zlib --with-gmp=/c/
mingw482/prerequisites/i686-w64-mingw32-static --with-mpfr=/c/mingw482/prerequisites/i686-w64-mingw32-static --with-mpc=
/c/mingw482/prerequisites/i686-w64-mingw32-static --with-isl=/c/mingw482/prerequisites/i686-w64-mingw32-static --with-cl
oog=/c/mingw482/prerequisites/i686-w64-mingw32-static --enable-cloog-backend=isl --with-pkgversion='i686-posix-dwarf-rev
3, Built by MinGW-W64 project' --with-bugurl=http://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -I/c/mingw482/i
686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/include -I/c/mingw482/prerequisites/i686-zlib-static/include -I/c/mingw482/pr
erequisites/i686-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -I/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/o
pt/include -I/c/mingw482/prerequisites/i686-zlib-static/include -I/c/mingw482/prerequisites/i686-w64-mingw32-static/incl
ude' CPPFLAGS= LDFLAGS='-pipe -L/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/lib -L/c/mingw482/prerequisites/
i686-zlib-static/lib -L/c/mingw482/prerequisites/i686-w64-mingw32-static/lib -Wl,--large-address-aware'
Thread model: posix
gcc version 4.8.2 (i686-posix-dwarf-rev3, Built by MinGW-W64 project)

I get the strange "Archive has no index" error that I described above. Running ranlib on archive does not help.
newbie
Activity: 11
Merit: 0

Thanks for the guide. I am finally able to compile but I'm still struggling with building qrencode. libpng builds just fine, but when I make qrencode this is what I get:

Code:
./.libs/libqrencode.a(qrspec.o): In function `QRspec_newFrame':
c:\deps\qrencode/qrspec.c:530: undefined reference to `_imp__pthread_mutex_lock'

c:\deps\qrencode/qrspec.c:536: undefined reference to `_imp__pthread_mutex_unloc
k'
./.libs/libqrencode.a(qrspec.o): In function `QRspec_clearCache':
c:\deps\qrencode/qrspec.c:553: undefined reference to `_imp__pthread_mutex_lock'

c:\deps\qrencode/qrspec.c:560: undefined reference to `_imp__pthread_mutex_unloc
k'

I found some advice that said to add -lpthread to CFLAGS in the Makefile but the change is overwritten when I configure
o3u
sr. member
Activity: 393
Merit: 250
Money comes, money goes
Code:
C:/mingw32/i686-w64-mingw32/include/pthread.h:196:19: error: 'pthread_t' has a p
revious declaration as 'typedef uintptr_t pthread_t'
 typedef uintptr_t pthread_t;
                   ^
 
   src/util.h:578:12: error: invalid conversion from 'HANDLE {aka void*}' to 'pthre
ad_t {aka unsigned int}' [-fpermissive]
     return hthread;
            ^

src/util.h:555:16: error: conflicting declaration 'typedef void* pthread_t'
 typedef HANDLE pthread_t;


See: https://github.com/laanwj/bitcoin/commit/61d85071405b99c3734606eed31ea8f615c0c77a

that fixed the first problem, then i had it complaining about :
Code:
c:\deps\boost_1_53_0/boost/system/error_code.hpp:214:36: warning: 'boost::system
::posix_category' defined but not used [-Wunused-variable]
     static const error_category &  posix_category = generic_category();
                                    ^
c:\deps\boost_1_53_0/boost/system/error_code.hpp:215:36: warning: 'boost::system
::errno_ecat' defined but not used [-Wunused-variable]
     static const error_category &  errno_ecat     = generic_category();
                                    ^
c:\deps\boost_1_53_0/boost/system/error_code.hpp:216:36: warning: 'boost::system
::native_ecat' defined but not used [-Wunused-variable]
     static const error_category &  native_ecat    = system_category();


(i copied this from other thread, i'm on boost version 1.55)

which i fixed using this: -Wno-unused-variables
and now this:
Code:
src\main.cpp: In function 'void GenerateBitcoins(bool, CWallet*)':
src\main.cpp:3824:58: error: cannot convert 'void (*)(void*)' to 'LPSECURITY_ATT
RIBUTES {aka _SECURITY_ATTRIBUTES*}' for argument '1' to 'void* CreateThread(LPS
ECURITY_ATTRIBUTES, SIZE_T, LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD)'
             if (!CreateThread(ThreadBitcoinMiner, pwallet))
                                                          ^
Makefile.Release:951: recipe for target 'build/main.o' failed
mingw32-make: *** [build/main.o] Error 1

i'm at a loss here.


edit:

Code:
             ^
src\init.cpp: In function 'void Shutdown(void*)':
src\init.cpp:81:39: error: cannot convert 'void (*)(void*)' to 'LPSECURITY_ATTRI
BUTES {aka _SECURITY_ATTRIBUTES*}' for argument '1' to 'void* CreateThread(LPSEC
URITY_ATTRIBUTES, SIZE_T, LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD)'
         CreateThread(ExitTimeout, NULL);
                                       ^
src\init.cpp: In function 'bool AppInit2()':
src\init.cpp:767:38: error: cannot convert 'void (*)(void*)' to 'LPSECURITY_ATTR
IBUTES {aka _SECURITY_ATTRIBUTES*}' for argument '1' to 'void* CreateThread(LPSE
CURITY_ATTRIBUTES, SIZE_T, LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD)'
     if (!CreateThread(StartNode, NULL))
                                      ^
src\init.cpp:771:43: error: cannot convert 'void (*)(void*)' to 'LPSECURITY_ATTR
IBUTES {aka _SECURITY_ATTRIBUTES*}' for argument '1' to 'void* CreateThread(LPSE
CURITY_ATTRIBUTES, SIZE_T, LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD)'
         CreateThread(ThreadRPCServer, NULL);
                                           ^
Makefile.Release:984: recipe for target 'build/init.o' failed
mingw32-make: *** [build/init.o] Error 1


edit: a simple mistake eluded me! your fix was correct thanks
full member
Activity: 131
Merit: 108
Code:
C:/mingw32/i686-w64-mingw32/include/pthread.h:196:19: error: 'pthread_t' has a p
revious declaration as 'typedef uintptr_t pthread_t'
 typedef uintptr_t pthread_t;
                   ^
   
   src/util.h:578:12: error: invalid conversion from 'HANDLE {aka void*}' to 'pthre
ad_t {aka unsigned int}' [-fpermissive]
     return hthread;
            ^

src/util.h:555:16: error: conflicting declaration 'typedef void* pthread_t'
 typedef HANDLE pthread_t;


See: https://github.com/laanwj/bitcoin/commit/61d85071405b99c3734606eed31ea8f615c0c77a
o3u
sr. member
Activity: 393
Merit: 250
Money comes, money goes
the no system include is already in my DEFINES, i dont know why it does include it anyway.

Code:
c:\deps\xxxxx>mingw32-make -f Makefile.Release
g++ -c -pipe -msse2 -O2 -frtti -fexceptions -mthreads -fdiagnostics-show-option
-Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector
 -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT
_THREADSAFE -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN[color=red] -D__NO_SYSTEM_IN
CLUDES[/color] -DUSE_IPV6=1 -DWIN32 -D_MT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_
HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THRE
AD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\Qt\4.8.4\include\QtCore" -I"..\..\Qt\4.8.4\
include\QtGui" -I"..\..\Qt\4.8.4\include" -I"src" -I"src\json" -I"src\qt" -I"..\
boost_1_55_0" -I"..\db-4.8.30.NC\build_unix" -I"..\openssl-1.0.1g\include" -I"..
\..\Qt\4.8.4\include\ActiveQt" -I"build" -I"build" -I"..\..\Qt\4.8.4\mkspecs\def
ault" -o build\bitcoin.o src\qt\bitcoin.cpp
In file included from ..\boost_1_55_0/boost/bind/bind.hpp:29:0,
                 from ..\boost_1_55_0/boost/bind.hpp:22,
                 from ..\boost_1_55_0/boost/thread/detail/thread.hpp:29,
                 from ..\boost_1_55_0/boost/thread/thread_only.hpp:22,
                 from ..\boost_1_55_0/boost/thread/thread.hpp:12,
                 from ..\boost_1_55_0/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:

i tried removing it from there, doesnt work, commenting out the conflict in the code, and that gives me type casting errors.
I'm going to start over and reinstall  otherwise i might try vs
sr. member
Activity: 260
Merit: 251
Quote
The first error I see in that long text capture is in regard loop.  To that end, see message # 1 in this forum:
https://bitcointalksearch.org/topic/m.1587734.  Towards the end of that message you will find provisos on the deficiencies of the Qt make system (?) vis a vis C style macros.  You have to fix them one at a time.  So fix that and recompile-make-whatever and chase the next error.

Or come over to the dark side and build using MSVS Roll Eyes

Ron


whoops, this is actually the error i'm getting:

Code:
c:\deps\xxxxx>mingw32-make -f Makefile.Release
g++ -c -pipe -msse2 -O2
... -I"..\..\Qt\4.8.4\mkspecs\default" -o build\bitcoin.o src\qt\bitcoin.cpp
...
src/util.h:555:16: error: conflicting declaration 'typedef void* pthread_t'
 typedef HANDLE pthread_t;
                ^
In file included from C:/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/b
its/gthr-default.h:35:0,
...               
these are the errors i see:
Code:
C:/mingw32/i686-w64-mingw32/include/pthread.h:196:19: error: 'pthread_t' has a p
revious declaration as 'typedef uintptr_t pthread_t'
 typedef uintptr_t pthread_t;
                   ^
   src/util.h:578:12: error: invalid conversion from 'HANDLE {aka void*}' to 'pthre
ad_t {aka unsigned int}' [-fpermissive]
     return hthread;
            ^
src/util.h:555:16: error: conflicting declaration 'typedef void* pthread_t'
 typedef HANDLE pthread_t;
maybe i need to install pthread someway? what package is that included in
See message # 34 in this forum:
https://bitcointalksearch.org/topic/m.2144659
on too many p-threads defined!

Ron
o3u
sr. member
Activity: 393
Merit: 250
Money comes, money goes
Quote
The first error I see in that long text capture is in regard loop.  To that end, see message # 1 in this forum:
https://bitcointalksearch.org/topic/m.1587734.  Towards the end of that message you will find provisos on the deficiencies of the Qt make system (?) vis a vis C style macros.  You have to fix them one at a time.  So fix that and recompile-make-whatever and chase the next error.

Or come over to the dark side and build using MSVS Roll Eyes

Ron


whoops, this is actually the error i'm getting:

Code:
c:\deps\xxxxx>mingw32-make -f Makefile.Release
g++ -c -pipe -msse2 -O2 -frtti -fexceptions -mthreads -fdiagnostics-show-option
-Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector
 -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT
_THREADSAFE -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -D__NO_SYSTEM_IN
CLUDES -DUSE_IPV6=1 -DWIN32 -D_MT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_
HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THRE
AD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\Qt\4.8.4\include\QtCore" -I"..\..\Qt\4.8.4\
include\QtGui" -I"..\..\Qt\4.8.4\include" -I"src" -I"src\json" -I"src\qt" -I"..\
boost_1_55_0" -I"..\db-4.8.30.NC\build_unix" -I"..\openssl-1.0.1g\include" -I"..
\..\Qt\4.8.4\include\ActiveQt" -I"build" -I"build" -I"..\..\Qt\4.8.4\mkspecs\def
ault" -o build\bitcoin.o src\qt\bitcoin.cpp
In file included from ..\boost_1_55_0/boost/bind/bind.hpp:29:0,
                 from ..\boost_1_55_0/boost/bind.hpp:22,
                 from ..\boost_1_55_0/boost/thread/detail/thread.hpp:29,
                 from ..\boost_1_55_0/boost/thread/thread_only.hpp:22,
                 from ..\boost_1_55_0/boost/thread/thread.hpp:12,
                 from ..\boost_1_55_0/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
..\boost_1_55_0/boost/bind/arg.hpp: In constructor 'boost::arg::arg(const T&)
':
..\boost_1_55_0/boost/bind/arg.hpp:37:22: warning: typedef 'T_must_be_placeholde
r' locally defined but not used [-Wunused-local-typedefs]
         typedef char T_must_be_placeholder[ I == is_placeholder::value? 1: -
1 ];
                      ^
In file included from ..\boost_1_55_0/boost/tuple/tuple.hpp:33:0,
                 from ..\boost_1_55_0/boost/thread/detail/async_func.hpp:37,
                 from ..\boost_1_55_0/boost/thread/future.hpp:22,
                 from ..\boost_1_55_0/boost/thread.hpp:24,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
..\boost_1_55_0/boost/tuple/detail/tuple_basic.hpp: In function 'typename boost:
:tuples::access_traits, TT> >::type>::const_type boost::tuples::get(const boost::tuples::cons&
)':
..\boost_1_55_0/boost/tuple/detail/tuple_basic.hpp:228:45: warning: typedef 'con
s_element' locally defined but not used [-Wunused-local-typedefs]
   typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
                                             ^
In file included from src/bignum.h:13:0,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
src/util.h: At global scope:
src/util.h:555:16: error: conflicting declaration 'typedef void* pthread_t'
 typedef HANDLE pthread_t;
                ^
In file included from C:/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/b
its/gthr-default.h:35:0,
                 from C:/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/b
its/gthr.h:148,
                 from C:/mingw32/i686-w64-mingw32/include/c++/ext/atomicity.h:35
,
                 from C:/mingw32/i686-w64-mingw32/include/c++/bits/basic_string.
h:39,
                 from C:/mingw32/i686-w64-mingw32/include/c++/string:52,
                 from ..\..\Qt\4.8.4\include/QtCore/../../src/corelib/tools/qstr
ing.h:54,
                 from ..\..\Qt\4.8.4\include/QtCore/qstring.h:1,
                 from ..\..\Qt\4.8.4\include/QtCore/../../src/corelib/kernel/qob
ject.h:48,
                 from ..\..\Qt\4.8.4\include/QtCore/qobject.h:1,
                 from ..\..\Qt\4.8.4\include/QtGui/../../src/gui/kernel/qwidget.
h:46,
                 from ..\..\Qt\4.8.4\include/QtGui/qwidget.h:1,
                 from ..\..\Qt\4.8.4\include\QtGui/../../src/gui/widgets/qmainwi
ndow.h:45,
                 from ..\..\Qt\4.8.4\include\QtGui/qmainwindow.h:1,
                 from ..\..\Qt\4.8.4\include\QtGui/QMainWindow:1,
                 from src\qt\bitcoingui.h:4,
                 from src\qt\bitcoin.cpp:4:
C:/mingw32/i686-w64-mingw32/include/pthread.h:196:19: error: 'pthread_t' has a p
revious declaration as 'typedef uintptr_t pthread_t'
 typedef uintptr_t pthread_t;
                   ^
In file included from src/bignum.h:13:0,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
src/util.h: In function 'pthread_t CreateThread(void (*)(void*), void*, bool)':
src/util.h:578:12: error: invalid conversion from 'HANDLE {aka void*}' to 'pthre
ad_t {aka unsigned int}' [-fpermissive]
     return hthread;
            ^
In file included from ..\boost_1_55_0/boost/interprocess/errors.hpp:37:0,
                 from ..\boost_1_55_0/boost/interprocess/exceptions.hpp:20,
                 from ..\boost_1_55_0/boost/interprocess/shared_memory_object.hp
p:17,
                 from ..\boost_1_55_0/boost/interprocess/ipc/message_queue.hpp:1
7,
                 from src\qt\bitcoin.cpp:23:
..\boost_1_55_0/boost/interprocess/detail/win32_api.hpp: At global scope:
..\boost_1_55_0/boost/interprocess/detail/win32_api.hpp:903:116: warning: declar
ation of 'void* boost::interprocess::winapi::CreateMutexA(boost::interprocess::w
inapi::interprocess_security_attributes*, int, const char*)' with C language lin
kage [enabled by default]
 extern "C" __declspec(dllimport) void * __stdcall CreateMutexA(interprocess_sec
urity_attributes*, int, const char *);

                                    ^
In file included from ..\boost_1_55_0/boost/thread/win32/thread_data.hpp:11:0,
                 from ..\boost_1_55_0/boost/thread/thread_only.hpp:15,
                 from ..\boost_1_55_0/boost/thread/thread.hpp:12,
                 from ..\boost_1_55_0/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
..\boost_1_55_0/boost/thread/win32/thread_primitives.hpp:144:55: warning: confli
cts with previous declaration 'void* boost::detail::win32::CreateMutexA(boost::d
etail::win32::_SECURITY_ATTRIBUTES*, int, const char*)' [enabled by default]
                 __declspec(dllimport) void* __stdcall CreateMutexA(_SECURITY_AT
TRIBUTES*,int,char const*);
                                                       ^
In file included from ..\boost_1_55_0/boost/interprocess/errors.hpp:37:0,
                 from ..\boost_1_55_0/boost/interprocess/exceptions.hpp:20,
                 from ..\boost_1_55_0/boost/interprocess/shared_memory_object.hp
p:17,
                 from ..\boost_1_55_0/boost/interprocess/ipc/message_queue.hpp:1
7,
                 from src\qt\bitcoin.cpp:23:
..\boost_1_55_0/boost/interprocess/detail/win32_api.hpp:908:127: warning: declar
ation of 'void* boost::interprocess::winapi::CreateSemaphoreA(boost::interproces
s::winapi::interprocess_security_attributes*, long int, long int, const char*)'
with C language linkage [enabled by default]
 extern "C" __declspec(dllimport) void * __stdcall CreateSemaphoreA(interprocess
_security_attributes*, long, long, const char *);

                                               ^
In file included from ..\boost_1_55_0/boost/thread/win32/thread_data.hpp:11:0,
                 from ..\boost_1_55_0/boost/thread/thread_only.hpp:15,
                 from ..\boost_1_55_0/boost/thread/thread.hpp:12,
                 from ..\boost_1_55_0/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
..\boost_1_55_0/boost/thread/win32/thread_primitives.hpp:145:55: warning: confli
cts with previous declaration 'void* boost::detail::win32::CreateSemaphoreA(boos
t::detail::win32::_SECURITY_ATTRIBUTES*, long int, long int, const char*)' [enab
led by default]
                 __declspec(dllimport) void* __stdcall CreateSemaphoreA(_SECURIT
Y_ATTRIBUTES*,long,long,char const*);
                                                       ^
In file included from ..\boost_1_55_0/boost/interprocess/detail/windows_intermod
ule_singleton.hpp:26:0,
                 from ..\boost_1_55_0/boost/interprocess/detail/tmp_dir_helpers.
hpp:22,
                 from ..\boost_1_55_0/boost/interprocess/shared_memory_object.hp
p:22,
                 from ..\boost_1_55_0/boost/interprocess/ipc/message_queue.hpp:1
7,
                 from src\qt\bitcoin.cpp:23:
..\boost_1_55_0/boost/interprocess/detail/intermodule_singleton_common.hpp: In i
nstantiation of 'static ThreadSafeGlobalMap& boost::interprocess::ipcdetail::int
ermodule_singleton_common::get_map() [with ThreadSafeGlobal
Map = boost::interprocess::ipcdetail::intermodule_singleton_helpers::windows_sem
aphore_based_map]':
..\boost_1_55_0/boost/interprocess/detail/intermodule_singleton_common.hpp:126:4
8:   required from 'static void boost::interprocess::ipcdetail::intermodule_sing
leton_common::initialize_singleton_logic(void*&, volatile u
int32_t&, void* (*)(ThreadSafeGlobalMap&), bool) [with ThreadSafeGlobalMap = boo
st::interprocess::ipcdetail::intermodule_singleton_helpers::windows_semaphore_ba
sed_map; uint32_t = unsigned int; boost::interprocess::ipcdetail::intermodule_si
ngleton_common::singleton_constructor_t = void*(boost::inte
rprocess::ipcdetail::intermodule_singleton_helpers::windows_semaphore_based_map&
)]'
..\boost_1_55_0/boost/interprocess/detail/intermodule_singleton_common.hpp:337:1
03:   required from 'static void boost::interprocess::ipcdetail::intermodule_sin
gleton_impl::atentry_work() [with C =
 boost::interprocess::ipcdetail::windows_bootstamp; bool LazyInit = true; bool P
hoenix = true; ThreadSafeGlobalMap = boost::interprocess::ipcdetail::intermodule
_singleton_helpers::windows_semaphore_based_map]'
..\boost_1_55_0/boost/interprocess/detail/intermodule_singleton_common.hpp:326:2
6:   required from 'static C& boost::interprocess::ipcdetail::intermodule_single
ton_impl::get() [with C = boost::inte
rprocess::ipcdetail::windows_bootstamp; bool LazyInit = true; bool Phoenix = tru
e; ThreadSafeGlobalMap = boost::interprocess::ipcdetail::intermodule_singleton_h
elpers::windows_semaphore_based_map]'
..\boost_1_55_0/boost/interprocess/detail/tmp_dir_helpers.hpp:45:97:   required
from here
..\boost_1_55_0/boost/interprocess/detail/intermodule_singleton_common.hpp:205:9
3: warning: dereferencing type-punned pointer will break strict-aliasing rules [
-Wstrict-aliasing]
       return *static_cast(static_cast(&mem_holde
r.map_mem[0]));

             ^
In file included from ..\boost_1_55_0/boost/system/system_error.hpp:14:0,
                 from ..\boost_1_55_0/boost/thread/exceptions.hpp:22,
                 from ..\boost_1_55_0/boost/thread/win32/thread_primitives.hpp:1
6,
                 from ..\boost_1_55_0/boost/thread/win32/thread_data.hpp:11,
                 from ..\boost_1_55_0/boost/thread/thread_only.hpp:15,
                 from ..\boost_1_55_0/boost/thread/thread.hpp:12,
                 from ..\boost_1_55_0/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
..\boost_1_55_0/boost/system/error_code.hpp:222:36: warning: 'boost::system::pos
ix_category' defined but not used [-Wunused-variable]
     static const error_category &  posix_category = generic_category();
                                    ^
..\boost_1_55_0/boost/system/error_code.hpp:223:36: warning: 'boost::system::err
no_ecat' defined but not used [-Wunused-variable]
     static const error_category &  errno_ecat     = generic_category();
                                    ^
..\boost_1_55_0/boost/system/error_code.hpp:224:36: warning: 'boost::system::nat
ive_ecat' defined but not used [-Wunused-variable]
     static const error_category &  native_ecat    = system_category();
                                    ^
Makefile.Release:685: recipe for target 'build/bitcoin.o' failed
mingw32-make: *** [build/bitcoin.o] Error 1

c:\deps\xxxr>


these are the errors i see:

Code:
C:/mingw32/i686-w64-mingw32/include/pthread.h:196:19: error: 'pthread_t' has a p
revious declaration as 'typedef uintptr_t pthread_t'
 typedef uintptr_t pthread_t;
                   ^
   
   src/util.h:578:12: error: invalid conversion from 'HANDLE {aka void*}' to 'pthre
ad_t {aka unsigned int}' [-fpermissive]
     return hthread;
            ^

src/util.h:555:16: error: conflicting declaration 'typedef void* pthread_t'
 typedef HANDLE pthread_t;

maybe i need to install pthread someway? what package is that included in
sr. member
Activity: 260
Merit: 251
hi,
i have this problem when doing mingw32-make Makefile.release on the modified small change clone:
Code:
c:\Users\XXX>mingw32-make -f Make
file.Release
g++ -c ... src\qt\bitcoin.cpp
...
..\..\..\..\..\Qt\5.2.1\qtbase-opensource-src-5.2.1\include/QtCore/../../src/cor
elib/kernel/qeventloop.h: At global scope:
src/util.h:39:29: error: expected ',' or '...' before 'for'
 #define loop                for (;;)
                             ^
..\..\..\..\..\Qt\5.2.1\qtbase-opensource-src-5.2.1\include/QtCore/../../src/cor
elib/kernel/qeventloop.h:96:43: note: in expansion of macro 'loop'
     explicit QEventLoopLocker(QEventLoop *loop);
                                           ^
src/util.h:39:34: error: expected ')' before ';' token
 #define loop                for (;;)
                                  ^
...
I noticed someone else had it earlier in the thread but no solution was mentioned, has anyone had this and solved it?
The first error I see in that long text capture is in regard loop.  To that end, see message # 1 in this forum:
https://bitcointalksearch.org/topic/m.1587734.  Towards the end of that message you will find provisos on the deficiencies of the Qt make system (?) vis a vis C style macros.  You have to fix them one at a time.  So fix that and recompile-make-whatever and chase the next error.

Or come over to the dark side and build using MSVS Roll Eyes

Ron
o3u
sr. member
Activity: 393
Merit: 250
Money comes, money goes
hi,

i have this problem when doing mingw32-make Makefile.release on the modified small change clone:

Code:
c:\Users\XXX>mingw32-make -f Make
file.Release
g++ -c -pipe -fno-keep-inline-dllexport -O2 -frtti -fdiagnostics-show-option -Wa
ll -Wextra -Wformat -Wformat-security -Wno-unused-parameter -fexceptions -mthrea
ds -DUNICODE -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_IPV
6 -DUSE_UPNP=1 -DSTATICLIB -DWIN32 -D_MT -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI
_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"src" -I"src\json" -I"src\qt" -I"..\..\..\
..\..\deps" -I"..\..\..\..\..\deps\boost" -I"..\..\..\..\..\deps\db-4.8.30.NC\bu
ild_unix" -I"..\..\..\..\..\deps\openssl-1.0.1e\include" -I"..\..\..\..\..\Qt\5.
2.1\qtbase-opensource-src-5.2.1\include" -I"..\..\..\..\..\Qt\5.2.1\qtbase-opens
ource-src-5.2.1\include\QtWidgets" -I"..\..\..\..\..\Qt\5.2.1\qtbase-opensource-
src-5.2.1\include\QtGui" -I"..\..\..\..\..\Qt\5.2.1\qtbase-opensource-src-5.2.1\
include\QtCore" -I"build" -I"build" -I"..\..\..\..\..\Qt\5.2.1\qtbase-opensource
-src-5.2.1\mkspecs\win32-g++" -o build\bitcoin.o src\qt\bitcoin.cpp
In file included from ..\..\..\..\..\deps\boost/boost/bind/bind.hpp:29:0,
                 from ..\..\..\..\..\deps\boost/boost/bind.hpp:22,
                 from ..\..\..\..\..\deps\boost/boost/thread/detail/thread.hpp:2
9,
                 from ..\..\..\..\..\deps\boost/boost/thread/thread_only.hpp:22,

                 from ..\..\..\..\..\deps\boost/boost/thread/thread.hpp:12,
                 from ..\..\..\..\..\deps\boost/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
..\..\..\..\..\deps\boost/boost/bind/arg.hpp: In constructor 'boost::arg::arg
(const T&)':
..\..\..\..\..\deps\boost/boost/bind/arg.hpp:37:22: warning: typedef 'T_must_be_
placeholder' locally defined but not used [-Wunused-local-typedefs]
         typedef char T_must_be_placeholder[ I == is_placeholder::value? 1: -
1 ];
                      ^
In file included from ..\..\..\..\..\deps\boost/boost/tuple/tuple.hpp:33:0,
                 from ..\..\..\..\..\deps\boost/boost/thread/detail/async_func.h
pp:37,
                 from ..\..\..\..\..\deps\boost/boost/thread/future.hpp:22,
                 from ..\..\..\..\..\deps\boost/boost/thread.hpp:24,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
..\..\..\..\..\deps\boost/boost/tuple/detail/tuple_basic.hpp: In function 'typen
ame boost::tuples::access_traitss::cons >::type>::const_type boost::tuples::get(const boost::tuples::con
s&)':
..\..\..\..\..\deps\boost/boost/tuple/detail/tuple_basic.hpp:228:45: warning: ty
pedef 'cons_element' locally defined but not used [-Wunused-local-typedefs]
   typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
                                             ^
In file included from src/bignum.h:13:0,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
..\..\..\..\..\Qt\5.2.1\qtbase-opensource-src-5.2.1\include/QtCore/../../src/cor
elib/kernel/qeventloop.h: At global scope:
src/util.h:39:29: error: expected ',' or '...' before 'for'
 #define loop                for (;;)
                             ^
..\..\..\..\..\Qt\5.2.1\qtbase-opensource-src-5.2.1\include/QtCore/../../src/cor
elib/kernel/qeventloop.h:96:43: note: in expansion of macro 'loop'
     explicit QEventLoopLocker(QEventLoop *loop);
                                           ^
src/util.h:39:34: error: expected ')' before ';' token
 #define loop                for (;;)
                                  ^
..\..\..\..\..\Qt\5.2.1\qtbase-opensource-src-5.2.1\include/QtCore/../../src/cor
elib/kernel/qeventloop.h:96:43: note: in expansion of macro 'loop'
     explicit QEventLoopLocker(QEventLoop *loop);
                                           ^
src/util.h:39:36: error: expected unqualified-id before ')' token
 #define loop                for (;;)
                                    ^
..\..\..\..\..\Qt\5.2.1\qtbase-opensource-src-5.2.1\include/QtCore/../../src/cor
elib/kernel/qeventloop.h:96:43: note: in expansion of macro 'loop'
     explicit QEventLoopLocker(QEventLoop *loop);
                                           ^
In file included from ..\..\..\..\..\deps\boost/boost/interprocess/errors.hpp:37
:0,
                 from ..\..\..\..\..\deps\boost/boost/interprocess/exceptions.hp
p:20,
                 from ..\..\..\..\..\deps\boost/boost/interprocess/shared_memory
_object.hpp:17,
                 from ..\..\..\..\..\deps\boost/boost/interprocess/ipc/message_q
ueue.hpp:17,
                 from src\qt\bitcoin.cpp:23:
..\..\..\..\..\deps\boost/boost/interprocess/detail/win32_api.hpp:903:116: warni
ng: declaration of 'void* boost::interprocess::winapi::CreateMutexA(boost::inter
process::winapi::interprocess_security_attributes*, int, const char*)' with C la
nguage linkage [enabled by default]
 extern "C" __declspec(dllimport) void * __stdcall CreateMutexA(interprocess_sec
urity_attributes*, int, const char *);

                                    ^
In file included from ..\..\..\..\..\deps\boost/boost/thread/win32/thread_data.h
pp:11:0,
                 from ..\..\..\..\..\deps\boost/boost/thread/thread_only.hpp:15,

                 from ..\..\..\..\..\deps\boost/boost/thread/thread.hpp:12,
                 from ..\..\..\..\..\deps\boost/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
..\..\..\..\..\deps\boost/boost/thread/win32/thread_primitives.hpp:144:55: warni
ng: conflicts with previous declaration 'void* boost::detail::win32::CreateMutex
A(boost::detail::win32::_SECURITY_ATTRIBUTES*, int, const char*)' [enabled by de
fault]
                 __declspec(dllimport) void* __stdcall CreateMutexA(_SECURITY_AT
TRIBUTES*,int,char const*);
                                                       ^
In file included from ..\..\..\..\..\deps\boost/boost/interprocess/errors.hpp:37
:0,
                 from ..\..\..\..\..\deps\boost/boost/interprocess/exceptions.hp
p:20,
                 from ..\..\..\..\..\deps\boost/boost/interprocess/shared_memory
_object.hpp:17,
                 from ..\..\..\..\..\deps\boost/boost/interprocess/ipc/message_q
ueue.hpp:17,
                 from src\qt\bitcoin.cpp:23:
..\..\..\..\..\deps\boost/boost/interprocess/detail/win32_api.hpp:908:127: warni
ng: declaration of 'void* boost::interprocess::winapi::CreateSemaphoreA(boost::i
nterprocess::winapi::interprocess_security_attributes*, long int, long int, cons
t char*)' with C language linkage [enabled by default]
 extern "C" __declspec(dllimport) void * __stdcall CreateSemaphoreA(interprocess
_security_attributes*, long, long, const char *);

                                               ^
In file included from ..\..\..\..\..\deps\boost/boost/thread/win32/thread_data.h
pp:11:0,
                 from ..\..\..\..\..\deps\boost/boost/thread/thread_only.hpp:15,

                 from ..\..\..\..\..\deps\boost/boost/thread/thread.hpp:12,
                 from ..\..\..\..\..\deps\boost/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
..\..\..\..\..\deps\boost/boost/thread/win32/thread_primitives.hpp:145:55: warni
ng: conflicts with previous declaration 'void* boost::detail::win32::CreateSemap
horeA(boost::detail::win32::_SECURITY_ATTRIBUTES*, long int, long int, const cha
r*)' [enabled by default]
                 __declspec(dllimport) void* __stdcall CreateSemaphoreA(_SECURIT
Y_ATTRIBUTES*,long,long,char const*);
                                                       ^
src\qt\bitcoin.cpp: In function 'int qMain(int, char**)':
src\qt\bitcoin.cpp:150:5: error: 'setCodecForTr' is not a member of 'QTextCodec'

     QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
     ^
src\qt\bitcoin.cpp:151:5: error: 'setCodecForCStrings' is not a member of 'QText
Codec'
     QTextCodec::setCodecForCStrings(QTextCodec::codecForTr());
     ^
src\qt\bitcoin.cpp:151:37: error: 'codecForTr' is not a member of 'QTextCodec'
     QTextCodec::setCodecForCStrings(QTextCodec::codecForTr());
                                     ^
In file included from ..\..\..\..\..\deps\boost/boost/thread/shared_mutex.hpp:18
:0,
                 from ..\..\..\..\..\deps\boost/boost/thread/detail/thread_group
.hpp:9,
                 from ..\..\..\..\..\deps\boost/boost/thread/thread.hpp:13,
                 from ..\..\..\..\..\deps\boost/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
..\..\..\..\..\deps\boost/boost/thread/win32/shared_mutex.hpp: In instantiation
of 'T boost::shared_mutex::interlocked_compare_exchange(T*, T, T) [with T = boos
t::shared_mutex::state_data]':
..\..\..\..\..\deps\boost/boost/thread/win32/shared_mutex.hpp:124:103:   require
d from here
..\..\..\..\..\deps\boost/boost/thread/win32/shared_mutex.hpp:52:99: warning: de
referencing type-punned pointer will break strict-aliasing rules [-Wstrict-alias
ing]
                                                               *reinterpret_cast
(&comparand));

                   ^
..\..\..\..\..\deps\boost/boost/thread/win32/shared_mutex.hpp:52:99: warning: de
referencing type-punned pointer will break strict-aliasing rules [-Wstrict-alias
ing]
..\..\..\..\..\deps\boost/boost/thread/win32/shared_mutex.hpp:53:52: warning: de
referencing type-punned pointer will break strict-aliasing rules [-Wstrict-alias
ing]
             return *reinterpret_cast(&res);
                                                    ^
..\..\..\..\..\deps\boost/boost/thread/win32/shared_mutex.hpp:53:52: warning: de
referencing type-punned pointer will break strict-aliasing rules [-Wstrict-alias
ing]
In file included from ..\..\..\..\..\deps\boost/boost/interprocess/detail/window
s_intermodule_singleton.hpp:26:0,
                 from ..\..\..\..\..\deps\boost/boost/interprocess/detail/tmp_di
r_helpers.hpp:22,
                 from ..\..\..\..\..\deps\boost/boost/interprocess/shared_memory
_object.hpp:22,
                 from ..\..\..\..\..\deps\boost/boost/interprocess/ipc/message_q
ueue.hpp:17,
                 from src\qt\bitcoin.cpp:23:
..\..\..\..\..\deps\boost/boost/interprocess/detail/intermodule_singleton_common
.hpp: In instantiation of 'static ThreadSafeGlobalMap& boost::interprocess::ipcd
etail::intermodule_singleton_common::get_map() [with Thread
SafeGlobalMap = boost::interprocess::ipcdetail::intermodule_singleton_helpers::w
indows_semaphore_based_map]':
..\..\..\..\..\deps\boost/boost/interprocess/detail/intermodule_singleton_common
.hpp:126:48:   required from 'static void boost::interprocess::ipcdetail::interm
odule_singleton_common::initialize_singleton_logic(void*&,
volatile uint32_t&, void* (*)(ThreadSafeGlobalMap&), bool) [with ThreadSafeGloba
lMap = boost::interprocess::ipcdetail::intermodule_singleton_helpers::windows_se
maphore_based_map; uint32_t = unsigned int; boost::interprocess::ipcdetail::inte
rmodule_singleton_common::singleton_constructor_t = void*(b
oost::interprocess::ipcdetail::intermodule_singleton_helpers::windows_semaphore_
based_map&)]'
..\..\..\..\..\deps\boost/boost/interprocess/detail/intermodule_singleton_common
.hpp:337:103:   required from 'static void boost::interprocess::ipcdetail::inter
module_singleton_impl::atentry_work()
 [with C = boost::interprocess::ipcdetail::windows_bootstamp; bool LazyInit = tr
ue; bool Phoenix = true; ThreadSafeGlobalMap = boost::interprocess::ipcdetail::i
ntermodule_singleton_helpers::windows_semaphore_based_map]'
..\..\..\..\..\deps\boost/boost/interprocess/detail/intermodule_singleton_common
.hpp:326:26:   required from 'static C& boost::interprocess::ipcdetail::intermod
ule_singleton_impl::get() [with C = b
oost::interprocess::ipcdetail::windows_bootstamp; bool LazyInit = true; bool Pho
enix = true; ThreadSafeGlobalMap = boost::interprocess::ipcdetail::intermodule_s
ingleton_helpers::windows_semaphore_based_map]'
..\..\..\..\..\deps\boost/boost/interprocess/detail/tmp_dir_helpers.hpp:45:97:
 required from here
..\..\..\..\..\deps\boost/boost/interprocess/detail/intermodule_singleton_common
.hpp:205:93: warning: dereferencing type-punned pointer will break strict-aliasi
ng rules [-Wstrict-aliasing]
       return *static_cast(static_cast(&mem_holde
r.map_mem[0]));

             ^
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_primit
ives.hpp:16,
                 from ..\..\..\..\..\deps\boost/boost/thread/win32/thread_data.h
pp:11,
                 from ..\..\..\..\..\deps\boost/boost/thread/thread_only.hpp:15,

                 from ..\..\..\..\..\deps\boost/boost/thread/thread.hpp:12,
                 from ..\..\..\..\..\deps\boost/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
..\..\..\..\..\deps\boost/boost/system/error_code.hpp: At global scope:
..\..\..\..\..\deps\boost/boost/system/error_code.hpp:222:36: warning: 'boost::s
ystem::posix_category' defined but not used [-Wunused-variable]
     static const error_category &  posix_category = generic_category();
                                    ^
..\..\..\..\..\deps\boost/boost/system/error_code.hpp:223:36: warning: 'boost::s
ystem::errno_ecat' defined but not used [-Wunused-variable]
     static const error_category &  errno_ecat     = generic_category();
                                    ^
..\..\..\..\..\deps\boost/boost/system/error_code.hpp:224:36: warning: 'boost::s
ystem::native_ecat' defined but not used [-Wunused-variable]
     static const error_category &  native_ecat    = system_category();
                                    ^
Makefile.Release:10542: recipe for target 'build/bitcoin.o' failed
mingw32-make: *** [build/bitcoin.o] Error 1

c:\Users\XXX>


I noticed someone else had it earlier in the thread but no solution was mentioned, has anyone had this and solved it?
member
Activity: 115
Merit: 10
Cryptocurrencies is future
Working fine out of the box for me. Could you post your gcc -v output?
sr. member
Activity: 260
Merit: 251
Excellent work Ron. This is really helpful to Windows developers. I don't have time now to review all videos, but I'll do that later after exams :-).
Hello Jori,

There are only four of them, ranging from ~2 minutes to less than 12 minutes.  All totaling less than 28 minutes.   They might even help your thought processes and thereby assist you at exam time Grin

Ron
newbie
Activity: 25
Merit: 0
...
Getting off the soapbox and high horse now... and going back to the nose to the grindstone, salt mine, dungeon...  Actually, to making the "how to build the libraries" video series for MSVC++.  Imagine a video game walk through Grin  GUI manipulation is much easier to understand by seeing rather than reading "how to".

Ron
Hello all,

I promised videos on MSVC++ static library building for bitcoind.exe & *coind.exe --
and here they are:
http://www.youtube.com/channel/UCytoaHvG3H1y9CnxZS819eQ

The links to the sources to build bitcoind.exe 0.8.6 are given in message # 43:
https://bitcointalksearch.org/topic/m.6284139

The last video on actually building bitcoind.exe and one other *coind.exe using those libraries is almost done, but those practiced in the art probably won't need it Grin

I would be interested in feedback.  And I would hope that this allows a stampeding herd of Windows developers to jump in and contribute to the bitcoin and other *coin projects.

Ron

Excellent work Ron. This is really helpful to Windows developers. I don't have time now to review all videos, but I'll do that later after exams :-).
legendary
Activity: 996
Merit: 1013
Have any of you got this?

Quote
/libmemenv.a: error adding symbols: Archive has no index; run ranlib to add one

 Tongue
sr. member
Activity: 260
Merit: 251
...
Getting off the soapbox and high horse now... and going back to the nose to the grindstone, salt mine, dungeon...  Actually, to making the "how to build the libraries" video series for MSVC++.  Imagine a video game walk through Grin  GUI manipulation is much easier to understand by seeing rather than reading "how to".

Ron
Hello all,

I promised videos on MSVC++ static library building for bitcoind.exe & *coind.exe --
and here they are:
http://www.youtube.com/channel/UCytoaHvG3H1y9CnxZS819eQ

The links to the sources to build bitcoind.exe 0.8.6 are given in message # 43:
https://bitcointalksearch.org/topic/m.6284139

The last video on actually building bitcoind.exe and one other *coind.exe using those libraries is almost done, but those practiced in the art probably won't need it Grin

I would be interested in feedback.  And I would hope that this allows a stampeding herd of Windows developers to jump in and contribute to the bitcoin and other *coin projects.

Ron
sr. member
Activity: 364
Merit: 250
I'm thinking about how to get it
sr. member
Activity: 336
Merit: 250
Any coin. Bitcoin 0.8.6, Dogecoin, etc. Personally I am trying to do KaChingCoin, but none of them are working.
Another developer told me boost 1.55 has issues, so I tried others.

Code:
please use "code" to post your errors :) It's much more readable. (its the # next to the quote ballon)
Looking at long list of errors i'd say it's not the boost version (ive build with 1.53 and 1.55 working)  but more of a link inside your makefile that refers to your dependency.

Personally i would recommend starting over. Not just for the dependencies but also for state of mind. Clear everything and start from scratch. Takes an hour or two but it will save you time in the end and lots of frustration. You've had some practice so shouldnt be that hard a 2nd/3rd or 4th time...
Follow the guide to the letter to make working version of bitcoin 0.8.6. first. If that works you will have spotted something you missed and are ready to start frustrating yourself with other coins. Bitcoin with this guide is by far the easiest. Make sure to have that down first
legendary
Activity: 1330
Merit: 1000
Blockchain Developer
error log with boost 55:

Is there any particular reason that you have mingw 4.6.2?  I think it should be 4.8.2
Pages:
Jump to:
© 2020, Bitcointalksearch.org