-
Notifications
You must be signed in to change notification settings - Fork 0
Building Qt
Ethereum(Go) Requires QML 5.1+
Please see build instruction for OSX
sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
sudo apt-get update
sudo apt-get install ubuntu-sdk qtbase5-private-dev qtdeclarative5-private-dev libqt5opengl5-dev
To install ubuntu-sdk, you may need to follow http://askubuntu.com/questions/408463/unmet-dependencies-i-cant-install-ubuntu-sdk. Installing ubuntu-sdk on Ubuntu 14.04 using apt-get can fail because of an unmet dependency. Using aptitude
will allow installing it, leaving the dependency unresolved. Use the following command:
sudo apt-get install aptitude; sudo aptitude install ubuntu-sdk
On Ubuntu 14.04, you will have to separately install the qtdialogs package
sudo apt-get install qtdeclarative5-dialogs-plugin
If you get an error which looks like:
FATAL: asset not found: you can set an alternative asset path on on the command line using option 'asset_path'
panic: file:///$GOPATH/src/github.com/ethereum/go-ethereum/ethereal/assets/qml/wallet.qml:5 module "QtQuick.Window" version 2.1 is not installed
Then you will need to have 5.3.1 installed and your environmental variables set to something like this:
export PKG_CONFIG_PATH=<QT Location>/Qt5.3.1/5.3.1/gcc_64/lib/pkgconfig
export CGO_CPPFLAGS="-I<QT Location>/Qt5.3.1/5.3.1/gcc_64/include/QtCore/5.2.0/QtCore"
export LD_LIBRARY_PATH=<QT Location>/Qt5.3.1/5.3.1/gcc_64/lib
Remember to change to wherever you have QT installed. After setting your environmental variables, you will need to reinstall the go-qml package and the ethereal package:
go get -u gopkg.in/qml.v1
go get -u github.com/ethereum/go-ethereum/ethereal
After you run the installer, you will have to set the environment variables as described above and it should work as expected. To make sure that Ethereal runs in the proper environment if you are using it from a desktop file then one way to do this is to make a wrapper in your ~/.bin
or other $PATH location which looks something like this:
#!/usr/bin/env bash
export PKG_CONFIG_PATH=<QT Location>/Qt5.3.1/5.3.1/gcc_64/lib/pkgconfig
export CGO_CPPFLAGS="-I<QT Location>/Qt5.3.1/5.3.1/gcc_64/include/QtCore/5.2.0/QtCore"
export LD_LIBRARY_PATH=<QT Location>/Qt5.3.1/5.3.1/gcc_64/lib
<GO BIN FOLDER>/ethereal -asset_path=<GO FOLDER>/src/github.com/ethereum/go-ethereum/ethereal/assets