Pages:
Author

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

member
Activity: 112
Merit: 10
anyway you can add how to compile Webkit as well? one of the altcoins i am trying to build a wallet for requires webkitwidgets?
I have looked around but im lost on how to compile ruby, icu, and the other dependencies for mingw
sr. member
Activity: 260
Merit: 250
Code:
./build\bitcoin.o:bitcoin.cpp:(.text+0x20da): undefined reference to `MessageMod
el::MessageModel(CWallet*, WalletModel*, QObject*)'
./build\bitcoin.o:bitcoin.cpp:(.text+0x21d8): undefined reference to `MessageMod
el::~MessageModel()'
./build\bitcoin.o:bitcoin.cpp:(.text+0x233d): undefined reference to `MessageMod
el::~MessageModel()'
C:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bi
n/ld.exe: ./build\bitcoin.o: bad reloc address 0x2 in section `.text$_ZN5boost6d
etail17sp_counted_impl_pINS_8signals26detail12signal0_implIvNS2_19optional_last_
valueIvEEiSt4lessIiENS_8functionIFvvEEENS9_IFvRKNS2_10connectionEEEENS2_5mutexEE
16invocation_stateEED1Ev[__ZN5boost6detail17sp_counted_impl_pINS_8signals26detai
l12signal0_implIvNS2_19optional_last_valueIvEEiSt4lessIiENS_8functionIFvvEEENS9_
IFvRKNS2_10connectionEEEENS2_5mutexEE16invocation_stateEED1Ev]'
collect2.exe: error: ld returned 1 exit status

this error
how to fix it?
legendary
Activity: 1876
Merit: 1014
We have been unsuccessful at compiling a new wallet and were wondering if anybody is willing to help us out. We have an outstanding bounty of 1000QB for this: https://bitcointalksearch.org/topic/m.9005442
newbie
Activity: 5
Merit: 0
Excellent tutorial. I'm able to compile Bitcoin 0.8.6 & 0.9.x based coins without a hassle.

I only have problems trying to compile coins that use scrypt-sse2. It gives me errors each time i try to compile one, i must be overseeing something Sad
I know SSE2 is an instruction set, first i tried it in a VM for a clean working environment and then i tried it on my host just to be sure. Both Win7, VM=x32, host=x64.

My CPU is a Intel Xeon E3 1270 supporting instructions: MMX, SSE, SSE2, SSSE3, SSE4.1, SSE4.2, EM64t, VT-x, AES, AVX.

Can someone take a look and point me in the right direction? This thing has me going for days now Sad


                                                ^
Code:
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1188:1: error: inlin
ing failed in call to always_inline '__m128i _mm_srli_epi32(__m128i, int)': targ
et specific option mismatch
 _mm_srli_epi32 (__m128i __A, int __B)
 ^
scrypt-sse2.cpp:62:47: error: called from here
   X0 = _mm_xor_si128(X0, _mm_srli_epi32(T, 14));
                                               ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1266:1: error: inlin
ing failed in call to always_inline '__m128i _mm_xor_si128(__m128i, __m128i)': t
arget specific option mismatch
 _mm_xor_si128 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:62:48: error: called from here
   X0 = _mm_xor_si128(X0, _mm_srli_epi32(T, 14));
                                                ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1395:1: error: inlin
ing failed in call to always_inline '__m128i _mm_shuffle_epi32(__m128i, int)': t
arget specific option mismatch
 _mm_shuffle_epi32 (__m128i __A, const int __mask)
 ^
scrypt-sse2.cpp:65:35: error: called from here
   X1 = _mm_shuffle_epi32(X1, 0x93);
                                   ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1395:1: error: inlin
ing failed in call to always_inline '__m128i _mm_shuffle_epi32(__m128i, int)': t
arget specific option mismatch
 _mm_shuffle_epi32 (__m128i __A, const int __mask)
 ^
scrypt-sse2.cpp:66:35: error: called from here
   X2 = _mm_shuffle_epi32(X2, 0x4E);
                                   ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1395:1: error: inlin
ing failed in call to always_inline '__m128i _mm_shuffle_epi32(__m128i, int)': t
arget specific option mismatch
 _mm_shuffle_epi32 (__m128i __A, const int __mask)
 ^

 ^
scrypt-sse2.cpp:67:35: error: called from here
   X3 = _mm_shuffle_epi32(X3, 0x39);
                                   ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1019:1: error: inlin
ing failed in call to always_inline '__m128i _mm_add_epi32(__m128i, __m128i)': t
arget specific option mismatch
 _mm_add_epi32 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:70:28: error: called from here
   T = _mm_add_epi32(X0, X1);
                            ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1139:1: error: inlin
ing failed in call to always_inline '__m128i _mm_slli_epi32(__m128i, int)': targ
et specific option mismatch
 _mm_slli_epi32 (__m128i __A, int __B)
 ^
scrypt-sse2.cpp:71:46: error: called from here
   X3 = _mm_xor_si128(X3, _mm_slli_epi32(T, 7));
                                              ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1266:1: error: inlin
ing failed in call to always_inline '__m128i _mm_xor_si128(__m128i, __m128i)': t
arget specific option mismatch
 _mm_xor_si128 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:71:47: error: called from here
   X3 = _mm_xor_si128(X3, _mm_slli_epi32(T, 7));
                                               ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1188:1: error: inlin
ing failed in call to always_inline '__m128i _mm_srli_epi32(__m128i, int)': targ
et specific option mismatch
 _mm_srli_epi32 (__m128i __A, int __B)
 ^
scrypt-sse2.cpp:72:47: error: called from here
   X3 = _mm_xor_si128(X3, _mm_srli_epi32(T, 25));
                                               ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1266:1: error: inlin
ing failed in call to always_inline '__m128i _mm_xor_si128(__m128i, __m128i)': t
arget specific option mismatch
 _mm_xor_si128 (__m128i __A, __m128i __B)
 ^

                                                ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1019:1: error: inlin
ing failed in call to always_inline '__m128i _mm_add_epi32(__m128i, __m128i)': t
arget specific option mismatch
 _mm_add_epi32 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:73:28: error: called from here
   T = _mm_add_epi32(X3, X0);
                            ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1139:1: error: inlin
ing failed in call to always_inline '__m128i _mm_slli_epi32(__m128i, int)': targ
et specific option mismatch
 _mm_slli_epi32 (__m128i __A, int __B)
 ^
scrypt-sse2.cpp:74:46: error: called from here
   X2 = _mm_xor_si128(X2, _mm_slli_epi32(T, 9));
                                              ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1266:1: error: inlin
ing failed in call to always_inline '__m128i _mm_xor_si128(__m128i, __m128i)': t
arget specific option mismatch
 _mm_xor_si128 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:74:47: error: called from here
   X2 = _mm_xor_si128(X2, _mm_slli_epi32(T, 9));
                                               ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1188:1: error: inlin
ing failed in call to always_inline '__m128i _mm_srli_epi32(__m128i, int)': targ
et specific option mismatch
 _mm_srli_epi32 (__m128i __A, int __B)
 ^
scrypt-sse2.cpp:75:47: error: called from here
   X2 = _mm_xor_si128(X2, _mm_srli_epi32(T, 23));
                                               ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1266:1: error: inlin
ing failed in call to always_inline '__m128i _mm_xor_si128(__m128i, __m128i)': t
arget specific option mismatch
 _mm_xor_si128 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:75:48: error: called from here
   X2 = _mm_xor_si128(X2, _mm_srli_epi32(T, 23));
                                                ^

                                                ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1019:1: error: inlin
ing failed in call to always_inline '__m128i _mm_add_epi32(__m128i, __m128i)': t
arget specific option mismatch
 _mm_add_epi32 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:73:28: error: called from here
   T = _mm_add_epi32(X3, X0);
                            ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1139:1: error: inlin
ing failed in call to always_inline '__m128i _mm_slli_epi32(__m128i, int)': targ
et specific option mismatch
 _mm_slli_epi32 (__m128i __A, int __B)
 ^
scrypt-sse2.cpp:74:46: error: called from here
   X2 = _mm_xor_si128(X2, _mm_slli_epi32(T, 9));
                                              ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1266:1: error: inlin
ing failed in call to always_inline '__m128i _mm_xor_si128(__m128i, __m128i)': t
arget specific option mismatch
 _mm_xor_si128 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:74:47: error: called from here
   X2 = _mm_xor_si128(X2, _mm_slli_epi32(T, 9));
                                               ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1188:1: error: inlin
ing failed in call to always_inline '__m128i _mm_srli_epi32(__m128i, int)': targ
et specific option mismatch
 _mm_srli_epi32 (__m128i __A, int __B)
 ^
scrypt-sse2.cpp:75:47: error: called from here
   X2 = _mm_xor_si128(X2, _mm_srli_epi32(T, 23));
                                               ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1266:1: error: inlin
ing failed in call to always_inline '__m128i _mm_xor_si128(__m128i, __m128i)': t
arget specific option mismatch
 _mm_xor_si128 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:75:48: error: called from here
   X2 = _mm_xor_si128(X2, _mm_srli_epi32(T, 23));
                                                ^
                                   ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1019:1: error: inlin
ing failed in call to always_inline '__m128i _mm_add_epi32(__m128i, __m128i)': t
arget specific option mismatch
 _mm_add_epi32 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:89:31: error: called from here
  B[0] = _mm_add_epi32(B[0], X0);
                               ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1019:1: error: inlin
ing failed in call to always_inline '__m128i _mm_add_epi32(__m128i, __m128i)': t
arget specific option mismatch
 _mm_add_epi32 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:90:31: error: called from here
  B[1] = _mm_add_epi32(B[1], X1);
                               ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1019:1: error: inlin
ing failed in call to always_inline '__m128i _mm_add_epi32(__m128i, __m128i)': t
arget specific option mismatch
 _mm_add_epi32 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:91:31: error: called from here
  B[2] = _mm_add_epi32(B[2], X2);
                               ^
In file included from scrypt-sse2.cpp:36:0:
c:/MinGW/lib/gcc/i686-w64-mingw32/4.9.1/include/emmintrin.h:1019:1: error: inlin
ing failed in call to always_inline '__m128i _mm_add_epi32(__m128i, __m128i)': t
arget specific option mismatch
 _mm_add_epi32 (__m128i __A, __m128i __B)
 ^
scrypt-sse2.cpp:92:31: error: called from here
  B[3] = _mm_add_epi32(B[3], X3);
                               ^
make[3]: *** [scrypt-sse2.o] Error 1
make[3]: Leaving directory `/c/temp/DigiByteProject-master/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/c/temp/DigiByteProject-master/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/c/temp/DigiByteProject-master/src'
make: *** [all-recursive] Error 1
legendary
Activity: 882
Merit: 1000
qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" bitcoin-qt.pro
mingw32-make -f Makefile.Release

"USE_UPNP=-"
legendary
Activity: 882
Merit: 1000
I am compiling bitcoin-0.9.3, I have some undefined reference about UPNP. But I had made miniupnpc-1.9.

make[3]: Entering directory `/D/BTC/Dev/bitcoin-0.9.3/src'
  CXXLD  bitcoind.exe
  libbitcoin_server.a(net.o): In function `Z13ThreadMapPortv':
d:\BTC\Dev\bitcoin-0.9.3\src/net.cpp:1066: undefined reference to `_imp__upnpDiscover'
d:\BTC\Dev\bitcoin-0.9.3\src/net.cpp:1073: undefined reference to `_imp__UPNP_GetValidIGD'

Try using miniupnpc-1.9.20140610 or later, see https://github.com/bitcoin/bitcoin/commit/9f7f504efca27c7d390f121410846b45c1732761

Tried this, no luck...

bump

anyone?
legendary
Activity: 882
Merit: 1000
Finally made some progress

but now i get stuck here EmbarrassedCode:
obj/net.o: In function `ThreadMapPort2(void*)':
c:\NoirShares\src/net.cpp:1052: undefined reference to `__imp_upnpDiscover'
c:\NoirShares\src/net.cpp:1059: undefined reference to `__imp_UPNP_GetValidIGD'
c:\NoirShares\src/net.cpp:1129: undefined reference to `__imp_freeUPNPDevlist'
c:\NoirShares\src/net.cpp:1064: undefined reference to `__imp_UPNP_GetExternalIP
Address'
c:\NoirShares\src/net.cpp:1087: undefined reference to `__imp_UPNP_AddPortMappin
g'
c:\NoirShares\src/net.cpp:1092: undefined reference to `__imp_strupnperror'
c:\NoirShares\src/net.cpp:1120: undefined reference to `__imp_strupnperror'
c:\NoirShares\src/net.cpp:1100: undefined reference to `__imp_UPNP_DeletePortMap
ping'
c:\NoirShares\src/net.cpp:1102: undefined reference to `__imp_freeUPNPDevlist'
c:\NoirShares\src/net.cpp:1103: undefined reference to `__imp_FreeUPNPUrls'
c:\NoirShares\src/net.cpp:1131: undefined reference to `__imp_FreeUPNPUrls'

Any ideas?

Code:
ifndef USE_UPNP
override USE_UPNP = -
endif
ifneq (${USE_UPNP}, -)
 LIBS += -l miniupnpc -l iphlpapi
 DEFS += -DMINIUPNP_STATICLIB -DUSE_UPNP=$(USE_UPNP)
endif

Code:
INCLUDEPATHS= \
 -I"$(CURDIR)" \
 -I"/c/deps/boost_1_55_0" \
 -I"/c/deps/db-4.8.30.NC/build_unix" \
 -I"/c/deps/openssl-1.0.1i/include" \
 -I"/c/deps/miniupnpc"
 
LIBPATHS= \
 -L"$(CURDIR)/leveldb" \
 -L"/c/deps/boost_1_55_0/stage/lib" \
 -L"/c/deps/db-4.8.30.NC/build_unix" \
 -L"/c/deps/openssl-1.0.1i" \
 -L"/c/deps/miniupnpc"
full member
Activity: 131
Merit: 108
I am compiling bitcoin-0.9.3, I have some undefined reference about UPNP. But I had made miniupnpc-1.9.

make[3]: Entering directory `/D/BTC/Dev/bitcoin-0.9.3/src'
  CXXLD  bitcoind.exe
  libbitcoin_server.a(net.o): In function `Z13ThreadMapPortv':
d:\BTC\Dev\bitcoin-0.9.3\src/net.cpp:1066: undefined reference to `_imp__upnpDiscover'
d:\BTC\Dev\bitcoin-0.9.3\src/net.cpp:1073: undefined reference to `_imp__UPNP_GetValidIGD'

Try using miniupnpc-1.9.20140610 or later, see https://github.com/bitcoin/bitcoin/commit/9f7f504efca27c7d390f121410846b45c1732761
newbie
Activity: 32
Merit: 0
though i am interested in building this, i can see that you are really a nerd, nice!
newbie
Activity: 13
Merit: 0
i thought boost 1_56_0 was not compatable ?

I suggest we  wait for nitrogenetics before trying that....


If you are building it with VS, it builds and runs just fine.

Under MinGW it requires patch described in this bug report: https://svn.boost.org/trac/boost/ticket/10325

newbie
Activity: 31
Merit: 0
I am compiling bitcoin-0.9.3, I have some undefined reference about UPNP. But I had made miniupnpc-1.9.

make[3]: Entering directory `/D/BTC/Dev/bitcoin-0.9.3/src'
  CXXLD  bitcoind.exe
  libbitcoin_server.a(net.o): In function `Z13ThreadMapPortv':
d:\BTC\Dev\bitcoin-0.9.3\src/net.cpp:1066: undefined reference to `_imp__upnpDiscover'
d:\BTC\Dev\bitcoin-0.9.3\src/net.cpp:1073: undefined reference to `_imp__UPNP_GetValidIGD'
hero member
Activity: 546
Merit: 500
Perhaps slightly off topic but perhaps someone could help me.

How to run python generate-seeds.py ?

https://github.com/bitcoin/bitcoin/blob/master/share/seeds/generate-seeds.py

When i run cmd command: "python generate-seeds.py" I get nothing but  "Usage: generate-seeds.py " printed on my screen. What am i missing?

Thanks!


OK, i figured it out myself by reading the error and the description given inside the script. It was confusing to say at least.
In order to run successfully, it needs a full path to those text files as a command line argument.
legendary
Activity: 1148
Merit: 1018
It's about time -- All merrit accepted !!!
i thought boost 1_56_0 was not compatable ?

I suggest we  wait for nitrogenetics before trying that....

Hey guys

Sorry if this was already covered in this thread but I can’t really read all 37 pages.
I just created few scripts to build bitcoin on Windows with MinGW with latest openssl and boost 1.56
You don't need to deal with distribution files because all dependencies are git sub modules.

Not a big deal but perhaps someone could find it useful.

https://github.com/ENikS/bitcoin-dev-mingw

legendary
Activity: 1148
Merit: 1018
It's about time -- All merrit accepted !!!
newbie
Activity: 13
Merit: 0
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?

Reading last few messages I am not sure if you ever fixed this issue but it looks like it has been reported here:
https://svn.boost.org/trac/boost/ticket/10325

Workaround is included as well...
hero member
Activity: 546
Merit: 500
Perhaps slightly off topic but perhaps someone could help me.

How to run python generate-seeds.py ?

https://github.com/bitcoin/bitcoin/blob/master/share/seeds/generate-seeds.py

When i run cmd command: "python generate-seeds.py" I get nothing but  "Usage: generate-seeds.py " printed on my screen. What am i missing?

Thanks!
newbie
Activity: 13
Merit: 0
Hey guys

Sorry if this was already covered in this thread but I can’t really read all 37 pages.
I just created few scripts to build bitcoin on Windows with MinGW with latest openssl and boost 1.56
You don't need to deal with distribution files because all dependencies are git sub modules.

Not a big deal but perhaps someone could find it useful.

https://github.com/ENikS/bitcoin-dev-mingw
sr. member
Activity: 260
Merit: 251
Can someone please just put load a file with all the dependencies for x64 already compiled, leaving only the paths to be set. 
Hello ?

No pain, no gain as they say!  If you want all the libraries built for you, you might try this angle:
https://bitcointalk.org/index.php?topic=349094.0;all

And if you want what I think is the easiest way to make a bitcoind daemon for Windows, see my channel,
https://www.youtube.com/channel/UCytoaHvG3H1y9CnxZS819eQ/videos

The library building is the easiest part.  Done once and forget about it,  except for chasing OpenSSL updates Grin  But even that is easy!

Ron
legendary
Activity: 882
Merit: 1000
Can someone please just put load a file with all the dependencies for x64 already compiled, leaving only the paths to be set. 
legendary
Activity: 882
Merit: 1000


Which Boost version are you running? Also what are you trying to compile latest Bitcoin?

boost 1_55_0 and no it's for an altcoin.

Pages:
Jump to: