BitShares Forum

Other => Graveyard => BitShares PTS => Topic started by: fav on November 23, 2013, 03:22:03 pm

Title: linux and the QT client... it's a pain
Post by: fav on November 23, 2013, 03:22:03 pm
Hi,

just built protoshares on my freshly installed ubuntu... and it's a horrible experience.

first of all, the lack of a installation manual is hilarious.

but to the main problem:

although the client shows 8 connections it just won't sync properly, most of the time. and if it does, it stops after a short period.

any help?
Title: Re: linux and the QT client... it's a pain
Post by: luckybit on November 23, 2013, 03:48:01 pm
At some point they need to just release the binaries or some instructions.
Title: Re: linux and the QT client... it's a pain
Post by: fav on November 23, 2013, 04:01:56 pm
At some point they need to just release the binaries or some instructions.

yeah..

at least wine qt is working
Title: Re: linux and the QT client... it's a pain
Post by: fav on November 23, 2013, 04:32:45 pm
Code: [Select]
walletdb.cpp:(.text+0x2df9): undefined reference to `SHA256_Update'
walletdb.cpp:(.text+0x2e40): undefined reference to `SHA256_Update'
libprotoshares.a(walletdb.o):walletdb.cpp:(.text+0x2e6c): more undefined references to `SHA256_Update' follow
libprotoshares.a(walletdb.o): In function `uint256 SerializeHash<CTransaction>(CTransaction const&, int, int) [clone .constprop.1254]':
walletdb.cpp:(.text+0x2ec1): undefined reference to `SHA256_Final'
walletdb.cpp:(.text+0x2ef6): undefined reference to `SHA256'
libprotoshares.a(walletdb.o): In function `ReadKeyValue(CWallet*, CDataStream&, CDataStream&, int&, std::vector<uint256, std::allocator<uint256> >&, bool&, bool&, std::string&, std::string&)':
walletdb.cpp:(.text+0x376f): undefined reference to `OPENSSL_cleanse'
walletdb.cpp:(.text+0x3903): undefined reference to `OPENSSL_cleanse'
walletdb.cpp:(.text+0x3a8a): undefined reference to `SHA256'
walletdb.cpp:(.text+0x3ad2): undefined reference to `SHA256'
walletdb.cpp:(.text+0x4a2d): undefined reference to `OPENSSL_cleanse'
walletdb.cpp:(.text+0x4a86): undefined reference to `OPENSSL_cleanse'
libprotoshares.a(walletdb.o): In function `CWalletDB::LoadWallet(CWallet*)':
walletdb.cpp:(.text+0x4e01): undefined reference to `Dbt::Dbt()'

tried to rebuilt. see above
Title: Re: linux and the QT client... it's a pain
Post by: Evan on November 23, 2013, 04:35:32 pm
Hi,

just built protoshares on my freshly installed ubuntu... and it's a horrible experience.

first of all, the lack of a installation manual is hilarious.

but to the main problem:

although the client shows 8 connections it just won't sync properly, most of the time. and if it does, it stops after a short period.

any help?


What were the commands that you used to build protoshares-qt?

Is your Ubuntu installation up-to-date?  I ask since "freshly installed" does not necessarily mean up-to-date.

Are the required dependencies installed? (https://github.com/InvictusInnovations/ProtoShares/blob/psforkinit/doc/readme-qt.rst)

I have a functional protoshares-qt which I compiled on my Arch Linux 64-bit system.  I recall having a similar problem with syncing in the past, but I do not experience that after the most recent git commits.  I can share how I compiled it if that would be useful for you.
Title: Re: linux and the QT client... it's a pain
Post by: fav on November 23, 2013, 04:48:25 pm
used http://pastebin.com/b9BHARLS as reference.

and yes, all deps are installed
Title: Re: linux and the QT client... it's a pain
Post by: Evan on November 23, 2013, 05:23:31 pm
I tried using the cmake method from the pastebin and got a lot of undefined references, then make failed.  I don't know if this might be due to differences between Arch and Ubuntu or user error on my part.

Code: [Select]
CMakeFiles/protosharesd.dir/build.make:91: recipe for target 'protosharesd' failed
make[2]: *** [protosharesd] Error 1
CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/protosharesd.dir/all' failed
make[1]: *** [CMakeFiles/protosharesd.dir/all] Error 2
Makefile:75: recipe for target 'all' failed
make: *** [all] Error 2

I used the qmake method to compile protoshares-qt successfully after ensuring all dependencies are installed:

Code: [Select]
git clone git://github.com/InvictusInnovations/ProtoShares.git
cd ProtoShares/
qmake-qt4 -makefile protoshares-qt.pro
make

Try substituting qmake if qmake-qt4 is not found on your system.
Title: Re: linux and the QT client... it's a pain
Post by: fav on November 23, 2013, 05:28:48 pm
thanks evan, qt make method worked!
Title: Re: linux and the QT client... it's a pain
Post by: Evan on November 23, 2013, 05:38:30 pm
thanks evan, qt make method worked!

No problem, favdesu.  I'm glad that it worked for you.
Title: Re: linux and the QT client... it's a pain
Post by: TotalPanda on November 23, 2013, 06:27:41 pm
Xubuntu is more friendly 4 newbie like me
Title: Re: linux and the QT client... it's a pain
Post by: Magic on November 29, 2013, 02:57:32 pm
Code: [Select]
EXCEPTION: 9key_error       
CKey::CKey() : EC_KEY_new_by_curve_name failed       
protoshares in Runaway exception       

protoshares-qt: /usr/include/boost/thread/pthread/condition_variable_fwd.hpp:81: boost::condition_variable::~condition_variable(): Assertion `!ret' failed.
Aborted (core dumped)

Built ok, error on start. Libboost differs on .rpm instead of .deb distros? :)
OS - Fedora 19 64 bit
Title: Re: linux and the QT client... it's a pain
Post by: devilfish on November 30, 2013, 04:19:44 am
I got this working first time no issues on ubuntu https://github.com/InvictusInnovations/ProtoShares/blob/psforkinit/doc/readme-qt.rst
Title: Re: linux and the QT client... it's a pain
Post by: Evan on November 30, 2013, 04:47:50 am
Code: [Select]
EXCEPTION: 9key_error       
CKey::CKey() : EC_KEY_new_by_curve_name failed       
protoshares in Runaway exception       

protoshares-qt: /usr/include/boost/thread/pthread/condition_variable_fwd.hpp:81: boost::condition_variable::~condition_variable(): Assertion `!ret' failed.
Aborted (core dumped)

Built ok, error on start. Libboost differs on .rpm instead of .deb distros? :)
OS - Fedora 19 64 bit

OpenSSL differs on .rpm distros (http://bitcoin.stackexchange.com/questions/7940/how-do-i-build-bitcoin-in-fedora-18), but the parts needed for Bitcoin and its derivatives should be enabled by default in Fedora 20 (https://bugzilla.redhat.com/show_bug.cgi?id=319901).  I have no experience compiling Bitcoin on Fedora myself, however.
Title: Re: linux and the QT client... it's a pain
Post by: reorder on November 30, 2013, 08:22:00 am
Code: [Select]
EXCEPTION: 9key_error       
CKey::CKey() : EC_KEY_new_by_curve_name failed       
protoshares in Runaway exception       

protoshares-qt: /usr/include/boost/thread/pthread/condition_variable_fwd.hpp:81: boost::condition_variable::~condition_variable(): Assertion `!ret' failed.
Aborted (core dumped)

Built ok, error on start. Libboost differs on .rpm instead of .deb distros? :)
OS - Fedora 19 64 bit

Redhat does not include EC crypto in their bundled OpenSSL due to US export restrictions. You have to build one yourself: http://danielpocock.com/ussing-ecc-ecdsa-in-openssl-and-strongswan-fedora (http://danielpocock.com/ussing-ecc-ecdsa-in-openssl-and-strongswan-fedora)
Title: Re: linux and the QT client... it's a pain
Post by: pvaladares on December 06, 2013, 10:39:57 pm
I used the qmake method to compile protoshares-qt successfully after ensuring all dependencies are installed:

Code: [Select]
git clone git://github.com/InvictusInnovations/ProtoShares.git
cd ProtoShares/
qmake-qt4 -makefile protoshares-qt.pro
make

Try substituting qmake if qmake-qt4 is not found on your system.

That made the trick.
Title: Re: linux and the QT client... it's a pain
Post by: davidm on December 07, 2013, 03:18:09 am
I just successfully compiled it thanks to this thread. Where does it look for wallet.dat and the conf file?
Title: Re: linux and the QT client... it's a pain
Post by: Evan on December 07, 2013, 03:23:21 am
I just successfully compiled it thanks to this thread. Where does it look for wallet.dat and the conf file?

${HOME}/.protoshares