Pages:
Author

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

full member
Activity: 131
Merit: 108
But my question is:
If i need another version in future of mingw,or openssl,or berkeley etc etc, i have to recompile also QT?
Or just the respective deps?

When changing the toolchain it is usually safer to recompile everything, when updating the dependencies you will need to recompile what depends on them (after updating openssl recompile qt and bitcoin).


i have everything installed up to step 3, just not sure how to compile the windows qt when you using a coin that doesnt have an autogen.sh, but does have a -qt.pro file.

See "Additional notes for older Bitcoin 0.8.6".
sr. member
Activity: 350
Merit: 250
My last question!
I was dreaming of finally after days of reading variuos tutorial,to compile my first wallet, and at the final stage i stuck here:


./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x569): undefined reference to `l
eveldb::DB::Open(leveldb::Options const&, std::string const&, leveldb::DB**)'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x6af): undefined reference to `l
eveldb::Status::ToString() const'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x8a6): undefined reference to `l
eveldb::WriteBatch::~WriteBatch()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x8fb): undefined reference to `l
eveldb::WriteBatch::WriteBatch()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x961): undefined reference to `l
eveldb::WriteBatch::~WriteBatch()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x984): undefined reference to `l
eveldb::Status::ToString() const'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0xb45): undefined reference to `l
eveldb::WriteBatch::Iterate(leveldb::WriteBatch::Handler*) const'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0xb72): undefined reference to `l
eveldb::WriteBatch::Handler::~Handler()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0xba9): undefined reference to `l
eveldb::WriteBatch::Handler::~Handler()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0xbca): undefined reference to `l
eveldb::Status::ToString() const'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x154e): undefined reference to `
leveldb::Status::ToString() const'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x16e7): undefined reference to `
leveldb::Options::Options()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x1771): undefined reference to `
leveldb::Options::Options()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x17cc): undefined reference to `
leveldb::NewLRUCache(unsigned int)'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x17db): undefined reference to `
leveldb::NewBloomFilterPolicy(int)'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x1833): undefined reference to `
leveldb::NewBloomFilterPolicy(int)'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x1acd): undefined reference to `
leveldb::WriteBatch::~WriteBatch()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x3135): undefined reference to `
leveldb::WriteBatch::Delete(leveldb::Slice const&)'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x5f16): undefined reference to `
leveldb::WriteBatch::~WriteBatch()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x5f46): undefined reference to `
leveldb::WriteBatch::~WriteBatch()'
C:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.1/../../../../i686-w64-mingw32/bi
n/ld.exe: ./build\txdb-leveldb.o: bad reloc address 0x7 in section `.text$_ZN5bo
ost6detail17sp_counted_impl_pINS_16exception_detail10clone_implINS2_14bad_excep t
ion_EEEED0Ev[__ZN5boost6detail17sp_counted_impl_pINS_16exception_detail10clone_i
mplINS2_14bad_exception_EEEED0Ev]'
C:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.1/../../../../i686-w64-mingw32/bi
n/ld.exe: final link failed: Invalid operation
collect2.exe: error: ld returned 1 exit status
Makefile.Release:304: recipe for target 'release\test-qt.exe' failed
mingw32-make[1]: *** [release\test-qt.exe] Error 1
mingw32-make[1]: Leaving directory 'C:/test'
Makefile:34: recipe for target 'release' failed
mingw32-make: *** [release] Error 2

which coin are you compiling?
have you already compiled leveldb like stated in this tutorial?
hero member
Activity: 868
Merit: 1000
My last question!
I was dreaming of finally after days of reading variuos tutorial,to compile my first wallet, and at the final stage i stuck here:


./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x569): undefined reference to `l
eveldb::DB::Open(leveldb::Options const&, std::string const&, leveldb::DB**)'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x6af): undefined reference to `l
eveldb::Status::ToString() const'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x8a6): undefined reference to `l
eveldb::WriteBatch::~WriteBatch()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x8fb): undefined reference to `l
eveldb::WriteBatch::WriteBatch()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x961): undefined reference to `l
eveldb::WriteBatch::~WriteBatch()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x984): undefined reference to `l
eveldb::Status::ToString() const'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0xb45): undefined reference to `l
eveldb::WriteBatch::Iterate(leveldb::WriteBatch::Handler*) const'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0xb72): undefined reference to `l
eveldb::WriteBatch::Handler::~Handler()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0xba9): undefined reference to `l
eveldb::WriteBatch::Handler::~Handler()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0xbca): undefined reference to `l
eveldb::Status::ToString() const'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x154e): undefined reference to `
leveldb::Status::ToString() const'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x16e7): undefined reference to `
leveldb::Options::Options()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x1771): undefined reference to `
leveldb::Options::Options()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x17cc): undefined reference to `
leveldb::NewLRUCache(unsigned int)'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x17db): undefined reference to `
leveldb::NewBloomFilterPolicy(int)'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x1833): undefined reference to `
leveldb::NewBloomFilterPolicy(int)'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x1acd): undefined reference to `
leveldb::WriteBatch::~WriteBatch()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x3135): undefined reference to `
leveldb::WriteBatch::Delete(leveldb::Slice const&)'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x5f16): undefined reference to `
leveldb::WriteBatch::~WriteBatch()'
./build\txdb-leveldb.o:txdb-leveldb.cpp:(.text+0x5f46): undefined reference to `
leveldb::WriteBatch::~WriteBatch()'
C:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.1/../../../../i686-w64-mingw32/bi
n/ld.exe: ./build\txdb-leveldb.o: bad reloc address 0x7 in section `.text$_ZN5bo
ost6detail17sp_counted_impl_pINS_16exception_detail10clone_implINS2_14bad_excep t
ion_EEEED0Ev[__ZN5boost6detail17sp_counted_impl_pINS_16exception_detail10clone_i
mplINS2_14bad_exception_EEEED0Ev]'
C:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.1/../../../../i686-w64-mingw32/bi
n/ld.exe: final link failed: Invalid operation
collect2.exe: error: ld returned 1 exit status
Makefile.Release:304: recipe for target 'release\test-qt.exe' failed
mingw32-make[1]: *** [release\test-qt.exe] Error 1
mingw32-make[1]: Leaving directory 'C:/test'
Makefile:34: recipe for target 'release' failed
mingw32-make: *** [release] Error 2
sr. member
Activity: 350
Merit: 250
I'm compiling QT

cd C:\Qt\5.3.2
configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -no-vcproj -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug

mingw32-make

Since i have only a dualcore, it's more than 4 hours that he's compiling.
Seems working weel,but too slow.

But my question is:
If i need another version in future of mingw,or openssl,or berkeley etc etc, i have to recompile also QT?
Or just the respective deps?




you only need to compile dependancies again. you have to compile qt only once.
hero member
Activity: 868
Merit: 1000
I'm compiling QT

cd C:\Qt\5.3.2
configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -no-vcproj -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug

mingw32-make

Since i have only a dualcore, it's more than 4 hours that he's compiling.
Seems working weel,but too slow.

But my question is:
If i need another version in future of mingw,or openssl,or berkeley etc etc, i have to recompile also QT?
Or just the respective deps?


hero member
Activity: 868
Merit: 1000
Installing OPENSLL
make
Firsti he ask me to do: make depend before install
I do. Then i do: make
Then error:
Nothing to be done for `all (after 10 minutes of compiling)

What's up?

if you have already compiled the openssl. then you it will say nothing to be done for "all".
so go to next step  Wink

Thanks aways.
sr. member
Activity: 350
Merit: 250
Installing OPENSLL
make
Firsti he ask me to do: make depend before install
I do. Then i do: make
Then error:
Nothing to be done for `all (after 10 minutes of compiling)

What's up?

if you have already compiled the openssl. then you it will say nothing to be done for "all".
so go to next step  Wink
hero member
Activity: 868
Merit: 1000
Installing OPENSLL
make
Firsti he ask me to do: make depend before install
I do. Then i do: make
Then error:
Nothing to be done for `all (after 10 minutes of compiling)

What's up?
sr. member
Activity: 260
Merit: 251
I miss a basic and important knoweledge.
Already cloned and modified a coin under linux.
If need to compile a gui wallet for windows i need to use this guide?
qmake under linux will create a wallet for linux but not for windows right?
And i don't understand if the wallet will be compiled with stake option taken from source gthub repository of the cloned coin.

Thanks.
Or i can make an exe file under linux to compile windows wallet?

Sometimes i see very nice wallets, with nice graphics. qmake will create them from the code source?
I mean, i will clone an XXX coin that already have a personal wallet with different layout, i will mod the source code, change block rewards,name,stuff here and ther, then with qmake command i will create a wallet similar to the original ones? or i always will get the vintage grey wallet as for standard bitcoin or litecoin?

Hello fabula?

If your *coin is derived from an older version of Bitcoin, say pre 0.9.x , then using the *coin-qt.pro on Windows, should qmake the makefile.release & makefile.debug for mingw32-make to "eat"!  It has been working for me for 18 months or so that I have been in this "racket"!  Of course one must attune ones *coin-qt.pro and probably the derived makefile.release/debug for one's own environment.  And don't forget the intermediate object_script.*coin-qt.Release/Debug files too if you add "goodies" Grin  Think of how many OpenSSL versions have gone "under the bridge" like water: 1.0.1c,e,h,i,j that one had to update in the .pro or .release files!

Ron
hero member
Activity: 644
Merit: 500
I miss a basic and important knoweledge.
Already cloned and modified a coin under linux.
If need to compile a gui wallet for windows i need to use this guide?
qmake under linux will create a wallet for linux but not for windows right?
And i don't understand if the wallet will be compiled with stake option taken from source gthub repository of the cloned coin.

Thanks.
Or i can make an exe file under linux to compile windows wallet?

Sometimes i see very nice wallets, with nice graphics. qmake will create them from the code source?
I mean, i will clone an XXX coin that already have a personal wallet with different layout, i will mod the source code, change block rewards,name,stuff here and ther, then with qmake command i will create a wallet similar to the original ones? or i always will get the vintage grey wallet as for standard bitcoin or litecoin?
full member
Activity: 182
Merit: 100
Hey nitrogenetics,
Can you install it on a VMware when i give you TeamViewer ID + Password please (I give you a little bounty).
Thanks.
Uppmaster
vmware is easy,take virtualbox
full member
Activity: 182
Merit: 100
i set enviroment,but doesnt work
sr. member
Activity: 474
Merit: 500
Hey nitrogenetics,
Can you install it on a VMware when i give you TeamViewer ID + Password please (I give you a little bounty).
Thanks.
Uppmaster
full member
Activity: 131
Merit: 108
Qt webkit can only be compiled on shared qt builds afaik:
https://bugreports.qt-project.org/browse/QTBUG-32309
full member
Activity: 326
Merit: 100
Is there a way to compile qtwebkit along with all of this? A coin I'm compiling requires the webkit, which can only be compiled if qt is compiled non-statically. It then seems to break everything. Is there some way around this?
full member
Activity: 131
Merit: 108
Msys-perl will be automatically selected for installation by msys-autoconf, so it should not be normally needed to get it manually installed.
member
Activity: 99
Merit: 10
Step 1.1:  Add Msys-Perl package.  I tried to do .configure for openSSL and it complained about not having PERL available.  After going back into MinGW and selecting to install Msys-Perl the configuration of openSSL worked perfectly.
sr. member
Activity: 350
Merit: 250
Someone please help, I'm stuck on this part.

cd /c/deps/
tar xvfz db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix
../dist/configure --enable-mingw --enable-cxx --disable-shared --disable-replication
make

It comes up with an error 'No targets specified and no makefile found, stop.'

it just cant find the target for make. That means you're maybe in the wrong directory? you should try cd db-4.8.30.NC/build_unix again, and that you're in build_unix dir.
legendary
Activity: 1148
Merit: 1018
It's about time -- All merrit accepted !!!
i don't have one, if you are going to try to build with vb better to learn gitian method....

if you are just getting stuck get a copy of someone's dep's folder , it may help but you cannot just take someone elses deps folder and have it work on your machine automatically,  there are still things you have on your machine,  as the 'man' himself said make sure you have the correct msys version installed


if you are trying to build older versions or alt coins may be difficult since bitcoin has 'outgrown' them so much,

i use older /different mingw version to build alt coins..... latest to build btc....
CAN SOMEONE UPLOAD A WORKING VIRTUALBOX-IMAGE OF WINDOWS with installed compiling-tools ?

WOULD ALSO DONATE !!!

you can upload here: http://megacloud.tk
User: bitcoin
Password: bitcoin

maximum is 30GB .. if you need more space -> send PM  Smiley
full member
Activity: 131
Merit: 108
However building qrencode and libpng still asks for zlib and gcc compiler

Your build environment is most likely misconfigured, delete c:\mingw then reinstall required msys packages only. Also check that your PATH is ok.
Pages:
Jump to: