Updating build notes with info from Linux Mint 17.3

This commit is contained in:
Jonathan Cross 2016-10-06 03:50:32 +02:00
parent dc6cbd5c61
commit b4df0120dd
No known key found for this signature in database
GPG Key ID: D8578DF8EA7CCF1B

View File

@ -21,38 +21,58 @@ If `java` is not found, or your version is anything less than `1.8.0_66`, then f
#### 1.1 Debian based systems (Ubuntu)
To install OpenJDK use:
You can use either OpenJDK or Oracle JDK.
**To install OpenJDK use:**
$ sudo apt-get install openjdk-8-jdk maven libopenjfx-java
To install the Oracle JDK use:
Unfortunately, Ubuntu 14.04 & Linux Mint 17.3 are missing OpenJdk 8 and OpenJFX, so this might be useful:
If `openjdk-8-jdk` is not found you can add this ppa, update, then try again:
$ sudo apt-add-repository ppa:openjdk-r/ppa && sudo apt-get install openjdk-8-jdk
If `libopenjfx-java` is not found you can build & install it yourself:
* [How to install OpenJFX on Ubuntu 14.04 or Linux Mint 17.3](http://askubuntu.com/questions/833193/how-do-i-install-openjfx-on-ubuntu-14-04-linux-mint-17)
**To install the Oracle JDK use:**
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get -y install oracle-java8-installer
Check if $JAVA_HOME is set
**Check if $JAVA_HOME is set:**
$ echo $JAVA_HOME
If $JAVA_HOME is not present, add it to the .bashrc file
If `$JAVA_HOME` is not present, open your `.bashrc` file:
$ touch .bashrc
$ gedit .bashrc
$ export JAVA_HOME=/usr/lib/jvm/java-8-oracle
$ touch ~/.bashrc
$ gedit ~/.bashrc
For OpenJDK add: `export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64`
For Oracle JDK add: `export JAVA_HOME=/usr/lib/jvm/java-8-oracle`
Save and close the file.
Reload the file in your shell:
$ . ~/.bashrc
$ echo $JAVA_HOME
#### 1.2 Other systems
[Download and install the latest JDK]( http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) for your platform.
[Download and install the latest Oracle JDK]( http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) for your platform.
Build bitcoinj
-----------------
### 2. Install bitcoinj fork
> _**NOTE:**
Bitcoinj versions later than 0.13.1 has removed support for Java serialisation.
In version 0.13.1 is also missing support for Java serialisation in MainNetParams (HttpDiscovery.Details).
We removed usage of Cartographer/HttpDiscovery and fixed privacy issues with Bloom Filters at our [fork version 0.13.1.5](https://github.com/bitsquare/bitcoinj/tree/FixBloomFilters).
Version 0.13.1 is also missing support for Java serialisation in MainNetParams (HttpDiscovery.Details).
We removed usage of Cartographer/HttpDiscovery and fixed privacy issues with Bloom Filters in our [fork of version 0.13.1.5](https://github.com/bitsquare/bitcoinj/tree/FixBloomFilters).
Beside the Java serialisation issues there are [privacy concerns](http://bitcoin-development.narkive.com/hczWIAby/bitcoin-development-cartographer#post3) regarding Cartographer.
Here is a Github issue with background and open tasks regarding [Bloom Filters](https://github.com/bitsquare/bitsquare/issues/414)._
@ -74,17 +94,17 @@ You need to get the Bitsquare dependencies first as we need to copy the BountyCa
### 4. Copy the jdkfix jar file
Copy the jdkfix-0.4.9.6.jar from the Bitsquare jdkfix/target directory to $JAVA_HOME/jre/lib/ext/.
jdkfix-0.4.9.6.jar includes a bugfix of the SortedList class which will be released with the next JDK version.
jdkfix-0.4.9.6.jar includes a [bugfix of the SortedList class](https://github.com/jonathancross/bitsquare/blob/master/jdkfix/src/main/java/javafx/collections/transformation/SortedList.java#L2) which will be released with the next JDK version.
We need to load that class before the default java class. This step will be removed once the bugfix is in the official JDK.
$ sudo cp jdkfix/target/jdkfix-0.4.9.6.jar $JAVA_HOME/jre/lib/ext/jdkfix-0.4.9.6.jar
$ sudo cp jdkfix/target/jdkfix-0.4.9.6.jar $JAVA_HOME/jre/lib/ext/
### 5. Copy the BountyCastle provider jar file
Copy the BountyCastle provider jar file from the local maven repository to the jre/lib/ext directory.
This prevents a "JCE cannot authenticate the provider BC" exception when starting the Bitsquare client.
$ sudo cp ~/.m2/repository/org/bouncycastle/bcprov-jdk15on/1.53/bcprov-jdk15on-1.53.jar $JAVA_HOME/jre/lib/ext/bcprov-jdk15on-1.53.jar
$ sudo cp ~/.m2/repository/org/bouncycastle/bcprov-jdk15on/1.53/bcprov-jdk15on-1.53.jar $JAVA_HOME/jre/lib/ext/
### 6. Edit the java.security file and add BouncyCastleProvider
@ -100,7 +120,7 @@ security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
If you are using Oracle JDK you need to follow the following step. If you use OpenJDK + OpenJFX you can skip that step.
Bitsquare uses 256 bit length keys which are still not permitted by default.
Get around that ridiculous fact by adding the missing [jars from Oracle](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html).
Please follow the steps described in the Readme file at the downloaded package.
Please follow the steps described in the Readme file in the downloaded package.
You will get an error when building Bitsquare package if you don't have these.
$ wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip
@ -129,7 +149,7 @@ To run it use:
Build binaries
-----------------
If you want to build the binaryies check out the build scripts under the package directory.
If you want to build the binaries check out the build scripts under the package directory.
Development mode
-----------------