BitShares Forum
Main => General Discussion => Topic started by: santaclause102 on July 22, 2014, 02:01:54 pm
-
System Ubuntu 14.04
I complied bitsharesx.git (hat to increase the swap).
How do I run the GUI wallet in Ubuntu? Do I follow instructions in /qt_wallet/README.md ?
Are there different wallets (webwallet and desktop wallet) or just one?
Thanks!
-
System Ubuntu 14.04
I complied bitsharesx.git (hat to increase the swap).
How do I run the GUI wallet in Ubuntu? Do I follow instructions in /qt_wallet/README.md ?
Are there different wallets (webwallet and desktop wallet) or just one?
Thanks!
BUILD_OSX has instructions that should be helpful for Ubuntu as well.
-
edit. here are some updated instructions.
sudo apt-get update
sudo apt-get install cmake git libreadline-dev uuid-dev g++ libdb++-dev libdb-dev zip libssl-dev openssl build-essential python-dev autotools-dev libicu-dev libbz2-dev libboost-dev libboost-all-dev qt5-default libqt5webkit5-dev npm nodejs-legacy
git clone https://github.com/dacsunlimited/bitsharesx.git
cd bitsharesx
git checkout 0.4.5 (use the version number you want to build in this place.)
git submodule init
git submodule update
cd programs/web_wallet
sudo npm install -g lineman
sudo npm install
cd ../..
cmake -DINCLUDE_QT_WALLET=ON .
make buildweb
make
If all goes well you will have an executable named BitSharesX in /bitsharesx/programs/qt_wallet/bin that will be your gui wallet.
This is how I have been doing it.
To upgrade cd bitsharesx
git pull https://github.com/dacsunlimited/bitsharesx.git "put version number here without quotes"
git submodule update
cmake -DINCLUDE_QT_WALLET=ON .
make buildweb
make
This last update threw an error at the make buildweb step about htdocs already existing. I ended up just renaming bitsharesx/programs/qt_wallet/htdocs and trying again.
-
Is there no way to compile the qt-wallet without pulling in the whole of node.js onto my box?
-
I can post the htdocs somewhere when I get home.
-
I can post the htdocs somewhere when I get home.
So lineman is only used to generate the docs - thanks puppies +5%
-
There is a guide for building qt_wallet of BitSharesX in ubuntu 14.04 here (http://www.bts.hk/qt-wallet-linux-howto.html).
However, it's in chinese. So I roughly translate it as the following:
1. Install necessary packages:
$sudo apt-get update
$sudo apt-get install cmake git libreadline-dev uuid-dev g++ libdb++-dev libdb-dev zip libssl-dev openssl build-essential python-dev autotools-dev libicu-dev libbz2-dev libboost-dev libboost-all-dev
in Ubuntu 14.04, you also have to install qt5.3.0 and node.js from their official sites.
2. Fetch the source code
$ git clone https://github.com/BitShares/bitshares_toolkit.git
$ cd bitshares_toolkit
$ git submodule init
$ git submodule update
$ git checkout 0.2.1
$cmake -DINCLUDE_QT_WALLET=ON CMakeLists.txt
3. Prepare the web wallet
$ sudo npm install -g lineman
$ cd programs/web_wallet && npm install
$ cd ../../ && make buildweb
4. Build and run your qt_wallet
$ make
and you will get your qt_wallet at bitsharesx/programs/qt_wallet:
$ bitsharesx/programs/qt_wallet/BitSharesX
(http://www.bts.hk/wp-content/uploads/2014/07/BitSharesX.png)
-
Can someone checkin the htdocs somewhere?
-
Can someone checkin the htdocs somewhere?
i almost have a PPA ready, don't know how much time I'll have to work on it today though. that should make installation really easy
-
Oh that's good news!
-
Can someone checkin the htdocs somewhere?
I literally followed what I posted above (https://bitsharestalk.org/index.php?topic=6008.msg81238#msg81238) and did not asked for any missed files.
-
Can someone checkin the htdocs somewhere?
Try https://www.dropbox.com/s/q1b429v945rqysp/htdocs.tar.gz (https://www.dropbox.com/s/q1b429v945rqysp/htdocs.tar.gz)
I'm not even sure if that link will work.
-
There is a guide for building qt_wallet of BitSharesX in ubuntu 14.04 here (http://www.bts.hk/qt-wallet-linux-howto.html).
However, it's in chinese. So I roughly translate it as the following:
1. Install necessary packages:
$sudo apt-get update
$sudo apt-get install cmake git libreadline-dev uuid-dev g++ libdb++-dev libdb-dev zip libssl-dev openssl build-essential python-dev autotools-dev libicu-dev libbz2-dev libboost-dev libboost-all-dev
in Ubuntu 14.04, you also have to install qt5.3.0 and node.js from their official sites.
2. Fetch the source code
$ git clone https://github.com/BitShares/bitshares_toolkit.git
$ cd bitshares_toolkit
$ git submodule init
$ git submodule update
$ git checkout 0.2.1
$cmake -DINCLUDE_QT_WALLET=ON CMakeLists.txt
3. Prepare the web wallet
$ sudo npm install -g lineman
$ cd programs/web_wallet && npm install
$ cd ../../ && make buildweb
4. Build and run your qt_wallet
$ make
and you will get your qt_wallet at bitsharesx/programs/qt_wallet:
$ bitsharesx/programs/qt_wallet/BitSharesX
(http://www.bts.hk/wp-content/uploads/2014/07/BitSharesX.png)
The make buildweb is definitely better than my way of doing it. that copies the htdocs into the correct folder automatically for you. I didn't build qt or nodejs from source though. I got them out of the standard trusty repo. I am installing a fresh os in a virtual machine to verify exactly which dependencies are needed.
**edit** I had missed a dependency nodejs-legacy in my original post. adding the following dependencies will prevent you from having to build nodejs from source. I am currently building the web wallet, will update if I missed any qt dependencies.
sudo apt-get install qt5-default libqt5webkit5-dev npm nodejs-legacy
**double edit** I can now confirm that only those four extra dependencies are needed to build the qt_wallet on a fresh 14.04 ubuntu.
-
Ubuntu PPA is set up:
https://bitsharestalk.org/index.php?topic=6108
-
There is also this.
https://bitsharestalk.org/index.php?topic=5951.0
(for anyone searching and finding this thread.. the above looks to be a well written walk-through)
-
It would be great to get this on the community wiki if it's not already there.
-
I updated my instructions. Please let me know how it works for you, or if I have any typos.
-
moving from 0.4.5 to 0.4.6 merges the data directories of the cli and gui clients. If you copy ~/BitShares X to ~/.BitSharesX you wont need to create a new wallet or redownload the blockchain. Please make sure that you aren't overwriting a wallet that is already in .BitSharesX
-
Just to note, this does work on Linux Mint 17 as per Reply#6 and #11 above. This was done on a older laptop with only 0.5GB RAM and took ~12 hours, so looking forward to a time this is in a BitShares repository to avoid that.
The only bit I didn't do because it gave an error was the git checkout but not sure what value that adds. I couldn't determine easily what version number is now and slightly surprised that isn't move obvious within github.
Thanks then to 麥可貓 jimewu and puppies. :)
-
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx$ git pull https://github.com/dacsunlimited/bitsharesx.git 0.4.15-a
fatal: Couldn't find remote ref 0.4.15-a
Unexpected end of command stream
I haven't been able to upgrade for a few versions now.
-
these ones are the real version numbers:
https://github.com/dacsunlimited/bitsharesx/tags
don't take any other
-
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx$ git pull https://github.com/dacsunlimited/bitsharesx.git 0.4.15-a
fatal: Couldn't find remote ref 0.4.15-a
Unexpected end of command stream
I haven't been able to upgrade for a few versions now.
v0.4.15-a
-
thank you very very much. xeroc and tonyk
-
attempt to upgrade to 0.4.16rc1 resulted in this:
[ 92%] Building CXX object programs/utils/web_update_utility/CMakeFiles/web_update_utility.dir/main.cpp.o
In file included from /home/merockstar/bitsharesx/programs/utils/web_update_utility/main.cpp:1:0:
/home/merockstar/bitsharesx/programs/utils/web_update_utility/update_utility.hpp:5:26: fatal error: WebUpdates.hpp: No such file or directory
#include <WebUpdates.hpp>
^
compilation terminated.
make[2]: *** [programs/utils/web_update_utility/CMakeFiles/web_update_utility.dir/main.cpp.o] Error 1
make[1]: *** [programs/utils/web_update_utility/CMakeFiles/web_update_utility.dir/all] Error 2
make: *** [all] Error 2
-
Got the same build error ???
-
Oh god, I'm so happy that I'm not building right now :)
-
Riverhead's instructions in this thread (https://bitsharestalk.org/index.php?topic=9113.msg118044#msg118044) worked for me.
git pull
git checkout v0.4.16-RC1
git submodule init
git submodule update
git cmake -DINCLUDE_QT_WALLET=ON .
make bitshares_client
make buildweb
make BitSharesX
trick seems to be to add git checkout line, and to compile command line and gui separately.
-
probably should be updated to the new build targets
git pull
git checkout v0.4.16-RC1
git submodule init
git submodule update
git cmake -DINCLUDE_QT_WALLET=ON .
make bitshares_client
make forcebuildweb
make BitSharesX
note: make forcebuildweb is different
-
probably should be updated to the new build targets
git pull
git checkout v0.4.16-RC1
git submodule init
git submodule update
git cmake -DINCLUDE_QT_WALLET=ON .
make bitshares_client
make forcebuildweb
make BitSharesX
note: make forcebuildweb is different
i used buildweb, what's the diff? should I recompile?
-
If it worked you're fine.
-
i used buildweb, what's the diff? should I recompile?
buildweb only works if you have never built the qt wallet before. If you rebuild the qt wallet, you have to do forcebuildweb otherwise it will never update the user interface in the qt wallet.
-
i used buildweb, what's the diff? should I recompile?
buildweb only works if you have never built the qt wallet before. If you rebuild the qt wallet, you have to do forcebuildweb otherwise it will never update the user interface in the qt wallet.
okay so that builds the web wallet (which the qt client uses to display the interface).
and I'm fine now even though I didn't use forcebuildweb because the GUI likely hasn't changed since I last compiled.
however, in the future I'll want to use forcebuildweb to make sure that any gui changes get used.
I understand?
-
i used buildweb, what's the diff? should I recompile?
buildweb only works if you have never built the qt wallet before. If you rebuild the qt wallet, you have to do forcebuildweb otherwise it will never update the user interface in the qt wallet.
okay so that builds the web wallet (which the qt client uses to display the interface).
and I'm fine now even though I didn't use forcebuildweb because the GUI likely hasn't changed since I last compiled.
however, in the future I'll want to use forcebuildweb to make sure that any gui changes get used.
I understand?
yes :)
it's done this way so the c++ developers don't need to spend time recompiling the web interface when they are busy working on the guts of the program. At some point in the future it will probably change, but for now it's probably more important to make it easier for the developers than "expert" users that will compile it ourselves anyways!
-
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs$ git submodule update
error: The following untracked working tree files would be overwritten by checkout:
app/css/main.less
Please move or remove them before you can switch branches.
Aborting
Unable to checkout '241699f7ce59e63d0d8e15546a6d617ebd18486e' in submodule path 'web_wallet'
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs$ cd web_wallet/
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet$ ls
app config dist generated Gruntfile.js LICENSE.md node_modules package.json README.md reference_app spec spec-e2e tasks vendor
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet$ cd app
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet/app$ ls
css img js pages static templates
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet/app$ cd css/
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet/app/css$ ls
footer.css forms.css help.css layout.css main.css main.less market.css my-ng-grid.css spinner.css toolbar.css
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet/app/css$ mv main.less ~/main.less
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet/app/css$ ls
footer.css forms.css help.css layout.css main.css market.css my-ng-grid.css spinner.css toolbar.css
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet/app/css$ cd ~/bitsharesx/
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx$ git submodule update
Submodule path 'programs/web_wallet': checked out '241699f7ce59e63d0d8e15546a6d617ebd18486e'
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx$ cmake -DINCLUDE_QT_WAALLET=ON .
-- Using custom FindBoost.cmake
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- thread
-- date_time
-- system
-- filesystem
-- program_options
-- signals
-- serialization
-- chrono
-- unit_test_framework
-- context
-- locale
-- Using custom FindBoost.cmake
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- coroutine
-- Configuring BitShares on Linux
-- Using as BerkeleyDB root
-- Looking for: db_cxx-6.0
-- debug/usr/lib/x86_64-linux-gnu/libdb_cxx.sooptimized/usr/lib/x86_64-linux-gnu/libdb_cxx.so
-- Found BerkeleyDB: /usr/include
-- Configuring project fc located in: /home/merockstar/bitsharesx/libraries/fc
-- Configuring fc to build on Unix/Apple
-- Using custom FindBoost.cmake
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- thread
-- date_time
-- system
-- filesystem
-- program_options
-- signals
-- serialization
-- chrono
-- unit_test_framework
-- context
-- locale
-- iostreams
-- coroutine
-- Finished fc module configuration...
-- Using as BerkeleyDB root
-- Looking for: db_cxx-6.0
-- debug/usr/lib/x86_64-linux-gnu/libdb_cxx.sooptimized/usr/lib/x86_64-linux-gnu/libdb_cxx.so
-- Found BerkeleyDB: /usr/include
-- Enabling Bitcoin Core Wallet Imports
CMake Error at programs/qt_wallet/CMakeLists.txt:51 (find_package):
By not providing "FindQt5LinguistTools.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"Qt5LinguistTools", but CMake did not find one.
Could not find a package configuration file provided by "Qt5LinguistTools"
with any of the following names:
Qt5LinguistToolsConfig.cmake
qt5linguisttools-config.cmake
Add the installation prefix of "Qt5LinguistTools" to CMAKE_PREFIX_PATH or
set "Qt5LinguistTools_DIR" to a directory containing one of the above
files. If "Qt5LinguistTools" provides a separate development package or
SDK, be sure it has been installed.
-- Configuring incomplete, errors occurred!
See also "/home/merockstar/bitsharesx/CMakeFiles/CMakeOutput.log".
I vaguely recall encountering this error before but I couldn't figure out how to fix it.
git submodule update wouldn't run until I moved /web_wallet/app/main/main.less somwhere else, then I get this on cmake. I think I have to update something.
-
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs$ git submodule update
error: The following untracked working tree files would be overwritten by checkout:
app/css/main.less
Please move or remove them before you can switch branches.
Aborting
Unable to checkout '241699f7ce59e63d0d8e15546a6d617ebd18486e' in submodule path 'web_wallet'
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs$ cd web_wallet/
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet$ ls
app config dist generated Gruntfile.js LICENSE.md node_modules package.json README.md reference_app spec spec-e2e tasks vendor
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet$ cd app
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet/app$ ls
css img js pages static templates
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet/app$ cd css/
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet/app/css$ ls
footer.css forms.css help.css layout.css main.css main.less market.css my-ng-grid.css spinner.css toolbar.css
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet/app/css$ mv main.less ~/main.less
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet/app/css$ ls
footer.css forms.css help.css layout.css main.css market.css my-ng-grid.css spinner.css toolbar.css
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx/programs/web_wallet/app/css$ cd ~/bitsharesx/
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx$ git submodule update
Submodule path 'programs/web_wallet': checked out '241699f7ce59e63d0d8e15546a6d617ebd18486e'
merockstar@merockstar-HP-Pavilion-dv6-Notebook-PC:~/bitsharesx$ cmake -DINCLUDE_QT_WAALLET=ON .
-- Using custom FindBoost.cmake
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- thread
-- date_time
-- system
-- filesystem
-- program_options
-- signals
-- serialization
-- chrono
-- unit_test_framework
-- context
-- locale
-- Using custom FindBoost.cmake
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- coroutine
-- Configuring BitShares on Linux
-- Using as BerkeleyDB root
-- Looking for: db_cxx-6.0
-- debug/usr/lib/x86_64-linux-gnu/libdb_cxx.sooptimized/usr/lib/x86_64-linux-gnu/libdb_cxx.so
-- Found BerkeleyDB: /usr/include
-- Configuring project fc located in: /home/merockstar/bitsharesx/libraries/fc
-- Configuring fc to build on Unix/Apple
-- Using custom FindBoost.cmake
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- thread
-- date_time
-- system
-- filesystem
-- program_options
-- signals
-- serialization
-- chrono
-- unit_test_framework
-- context
-- locale
-- iostreams
-- coroutine
-- Finished fc module configuration...
-- Using as BerkeleyDB root
-- Looking for: db_cxx-6.0
-- debug/usr/lib/x86_64-linux-gnu/libdb_cxx.sooptimized/usr/lib/x86_64-linux-gnu/libdb_cxx.so
-- Found BerkeleyDB: /usr/include
-- Enabling Bitcoin Core Wallet Imports
CMake Error at programs/qt_wallet/CMakeLists.txt:51 (find_package):
By not providing "FindQt5LinguistTools.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"Qt5LinguistTools", but CMake did not find one.
Could not find a package configuration file provided by "Qt5LinguistTools"
with any of the following names:
Qt5LinguistToolsConfig.cmake
qt5linguisttools-config.cmake
Add the installation prefix of "Qt5LinguistTools" to CMAKE_PREFIX_PATH or
set "Qt5LinguistTools_DIR" to a directory containing one of the above
files. If "Qt5LinguistTools" provides a separate development package or
SDK, be sure it has been installed.
-- Configuring incomplete, errors occurred!
See also "/home/merockstar/bitsharesx/CMakeFiles/CMakeOutput.log".
I vaguely recall encountering this error before but I couldn't figure out how to fix it.
git submodule update wouldn't run until I moved /web_wallet/app/main/main.less somwhere else, then I get this on cmake. I think I have to update something.
apt-get install qttools5-dev qttools5-dev-tools
-
dacslimited should provide, except the windows and mac binaries,
Linux binaries also for download ...
it's not a big deal for Dacslimited but a very big deal for the average Linux user/member
Don't underestimate penguins please!
(https://images.duckduckgo.com/iu/?u=http%3A%2F%2F1.bp.blogspot.com%2F-OqrTYU5z3IQ%2FTZ79_Nir9eI%2FAAAAAAAACH0%2FKprTnw4NECw%2Fs400%2Fbaby%2Bpenguins%2B5.jpg&f=1)
-
In fact .. it is not so easy to build binaries for linux systems as you need to precompile them for almost each distribution independently ..
However, they could publish binaries for at least ubunut
-
I have packages for Fedora + openSUSE (and CLI only for CentOS): http://software.opensuse.org/download.html?project=home%3Ap_conrad%3Abts&package=BitSharesX . openSUSE users must also add the KDE:Qt5 repository for the latest qt libraries.
Donations welcome btsx:cyrano :-)
-
In fact .. it is not so easy to build binaries for linux systems as you need to precompile them for almost each distribution independently ..
However, they could publish binaries for at least ubuntu
that's true, the most linux users use Ubuntu or distributions based on Ubuntu (like Mint for example)...
the more "advanced" users should not have problems building the wallet visiting https://github.com/dacsunlimited/bitsharesx/blob/master/BUILD_UBUNTU.md for more instructions
-
In fact .. it is not so easy to build binaries for linux systems as you need to precompile them for almost each distribution independently ..
However, they could publish binaries for at least ubuntu
that's true, the most linux users use Ubuntu or distributions based on Ubuntu (like Mint for example)...
the more "advanced" users should not have problems building the wallet visiting https://github.com/dacsunlimited/bitsharesx/blob/master/BUILD_UBUNTU.md for more instructions
there are problems that come up every once and a while (new dependencies, changes to the build system that break things, new build options) which could throw even "advanced" users. i've had to stop building the GUI for my PPA because out-of-tree builds are broken, and when I tried to fix them some translation bugs popped up. real-job prevents me from really diving into fixing them so I have to see if it is fixed later on. Not complaining, just pointing out that it is hard even for advanced users.
-
apt-get install qttools5-dev qttools5-dev-tools
worked great. thanks!