address rome's feedback, boost 1.66 supp

This commit is contained in:
Jennifer Hasegawa
2018-01-31 17:19:03 -08:00
parent da4ccbbe20
commit ca71cc42a7

View File

@@ -55,41 +55,53 @@ These instructions use Ubuntu's APT (Advanced Packaging Tool) to install the sof
8. Install `wget` to be able to download Boost in the next step.
sudo apt-get install wget
sudo apt-get -y install wget
8. Compile Boost.
9. Compile Boost.
Starting in `rippled` 0.90, the compatible Boost version is 1.65.0. Because Boost version 1.65.0 isn't available in the Ubuntu 16.04 repos, you'll need to compile it yourself. ***TODO: Per Scott D, the recommendation will be either 1.65.0 or 1.66.0+ for 0.90.0. Per Scott D, test with 1.65.0 first; this doc reflects that test. If this PR is accepted, the recommendation will be 1.66.0+***
Starting in `rippled` 0.90, the compatible Boost version is 1.66.0. Because Boost version 1.66.0 isn't available in the Ubuntu 16.04 repos, you'll need to compile it yourself.
a. Download Boost 1.65.0.
a. Download Boost 1.66.0.
wget https://dl.bintray.com/boostorg/release/1.65.0/source/boost_1_65_0.tar.gz ***TODO: If 1.66.0: https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz***
wget https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz
b. Untar `boost_1_65_0.tar.gz`. ***TODO: If 1.66.0, boost_1_66_0.tar.gz***
b. Untar `boost_1_66_0.tar.gz`.
tar xvzf boost_1_65_0.tar.gz ***TODO: If 1.66.0, boost_1_66_0.tar.gz***
tar xvzf boost_1_66_0.tar.gz
c. In the new `boost_1_65_0` directory, run: ***TODO: If 1.66.0, boost_1_66_0***
c. Access the new `boost_1_66_0` directory:
cd boost_1_66_0
d. To prepare the Boost.Build system for use, run:
./bootstrap.sh
d. Then run the following command. Replace `<number of jobs>` with the number of CPUs. This may take about 20 minutes, depending on your hardware specs.
e. To invoke Boost.Build to build the separately-compiled Boost libraries, run the following command. Replace `<number of jobs>` with the number of job, or commands, to run in parallel. This may take about 15 minutes, depending on your hardware specs.
./b2 -j<number of jobs>
./b2 -j <number of jobs>
e. Set the environment variable `BOOST_ROOT` to point to the new `boost_1_65_0` directory. ***TODO: If 1.66.0, boost_1_66_0*** It's best to put this environment variable in your `.profile`, or equivalent, file for your shell so it's automatically set when you log in. Add the following line to the file:
f. Set the environment variable `BOOST_ROOT` to point to the new `boost_1_66_0` directory. It's best to put this environment variable in your `.profile`, or equivalent, file for your shell so it's automatically set when you log in. Add the following line to the file:
export BOOST_ROOT=/home/ubuntu/boost_1_65_0 ***TODO: If 1.66.0, boost_1_66_0***
export BOOST_ROOT=/home/ubuntu/boost_1_66_0
9. Get `rippled` source code.
g. Source your updated `.profile` file. For example:
source ~/.profile
10. Get `rippled` source code.
git clone https://github.com/ripple/rippled.git
cd rippled
git checkout master
10. Build `rippled` binary executable from source code. This may take about 30 minutes, depending on your hardware specs.
11. If you previously built, or (more importantly) tried and failed to build `rippled`, you should delete the `build/` directory to start clean before moving on to the next step. Otherwise, you may get unexpected behavior, like a `rippled` executable that crashes due to a segmentation fault (segfault).
scons ***TODO: If 1.66.0, I get errors. Expect that the errors will go away after Scott D's PR is applied to rippled***
If this is your first time building `rippled,` you won't have a `build/` directory and can move on to the next step.
12. Build a `rippled` binary executable from source code. This may take about 20 minutes, depending on your hardware specs.
scons
SCons saves the built executable in `rippled/build`.
@@ -133,43 +145,34 @@ Once you've run `rippled`, here are excerpts of what you can expect to see in yo
```
Loading: "/home/ubuntu/.config/ripple/rippled.cfg"
Watchdog: Launching child 1
2018-Jan-08 22:26:59 JobQueue:NFO Auto-tuning to 4 validation/transaction/proposal threads.
2018-Jan-08 22:26:59 Amendments:DBG Amendment C6970A8B603D8778783B61C0D445C23D1633CCFAEF0D43E7DBCD1521D34BD7C3 is supported.
2018-Jan-08 22:26:59 Amendments:DBG Amendment 4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373 is supported.
2018-Jan-31 20:19:40 JobQueue:NFO Auto-tuning to 4 validation/transaction/proposal threads.
2018-Jan-31 20:19:40 Amendments:DBG Amendment 4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373 is supported.
2018-Jan-31 20:19:40 Amendments:DBG Amendment 6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC is supported.
...
2018-Jan-08 22:26:59 ValidatorList:DBG Loading configured trusted validator list publisher keys
2018-Jan-31 20:19:40 OrderBookDB:DBG Advancing from 0 to 3
2018-Jan-31 20:19:40 OrderBookDB:DBG OrderBookDB::update>
2018-Jan-31 20:19:40 OrderBookDB:DBG OrderBookDB::update< 0 books found
2018-Jan-31 20:19:40 ValidatorList:DBG Loading configured trusted validator list publisher keys
2018-Jan-31 20:19:40 ValidatorList:DBG Loaded 1 keys
2018-Jan-31 20:19:40 ValidatorList:DBG Loading configured validator keys
...
2018-Jan-08 22:26:59 ValidatorList:DBG Loading configured validator keys
2018-Jan-31 20:19:40 LedgerConsensus:NFO Entering consensus process, watching, synced=no
2018-Jan-31 20:19:40 LedgerConsensus:NFO Consensus mode change before=observing, after=observing
...
2018-Jan-08 22:26:59 ValidatorSite:DBG Loading configured validator list sites
...
2018-Jan-08 22:26:59 LedgerConsensus:NFO Entering consensus process, watching, synced=no
...
2018-Jan-08 22:27:01 LedgerConsensus:WRN
2018-Jan-31 20:19:40 Application:FTL Startup RPC:
{
"accepted" : true,
"account_hash" : "183D5235C7C1FB5AE67AD2F6CC3B28F5FB86E8C4F89DB50DD85641A96470534E",
"close_flags" : 0,
"close_time" : 568765620,
"close_time_human" : "2018-Jan-08 22:27:00",
"close_time_resolution" : 30,
"closed" : true,
"hash" : "CD08E1D9574262BC137CD2B2A9020F52D25A6BD78551EB0FCAD08D40C707CD8B",
"ledger_hash" : "CD08E1D9574262BC137CD2B2A9020F52D25A6BD78551EB0FCAD08D40C707CD8B",
"ledger_index" : "2",
"parent_close_time" : 0,
"parent_hash" : "AB868A6CFEEC779C2FF845C0AF00A642259986AF40C01976A7F842B6918936C7",
"seqNum" : "2",
"totalCoins" : "100000000000000000",
"total_coins" : "100000000000000000",
"transaction_hash" : "0000000000000000000000000000000000000000000000000000000000000000"
"command" : "log_level",
"severity" : "warning"
}
...
2018-Jan-08 22:27:06 NetworkOPs:WRN We are not running on the consensus ledger
2018-Jan-08 22:27:06 LedgerConsensus:WRN Need consensus ledger E836108FDF6C651B15D5F5EA3E19F76CE3F7247188E01F6DBBA455F6738E4DED
2018-Jan-31 20:20:32 NetworkOPs:WRN We are not running on the consensus ledger
2018-Jan-31 20:20:32 LedgerConsensus:WRN Need consensus ledger 17F251A5AD7120BD0D3ED9EB1B45598AACA1D76EA67C7FFC3384E629C25E198B
2018-Jan-31 20:20:35 NetworkOPs:WRN We are not running on the consensus ledger
2018-Jan-31 20:20:35 LedgerConsensus:WRN Need consensus ledger 0EAEFBC6C63DE7CEA32415336C7524D50E2531781704CE86895EAF84A63477D7
...
2018-Jan-08 22:35:09 OpenLedger:WRN Offer involves frozen asset
2018-Jan-08 22:35:12 LedgerConsensus:WRN Offer involves frozen asset
2018-Jan-31 20:20:53 LedgerConsensus:WRN View of consensus changed during establish status=establish, mode=wrongLedger
2018-Jan-31 20:20:53 LedgerConsensus:WRN E5C6EF6AB5C1DB0EA5EF1C43C2EDC1179459FBAC5ABDF6523F488DEE276FA9E6 to 7F0E5EE15F8FC41776BA230094C364DE045C35A15073C9E057407506A9E53892
2018-Jan-31 20:20:53 LedgerConsensus:WRN {"accepted":true,"account_hash":"8EE80E7E8ADCE2AB550611752BC4EC748D9DFEBB4B4B98F05BD5F6147CF61ED5","close_flags":0,"close_time":570745240,"close_time_human":"2018-Jan-31 20:20:40","close_time_resolution":20,"closed":true,"hash":"9FA1BAF2A4F6A908B10303E6624E175CCD53D1E87E6B44D09FC28E8FCC63D3C3","ledger_hash":"9FA1BAF2A4F6A908B10303E6624E175CCD53D1E87E6B44D09FC28E8FCC63D3C3","ledger_index":"8","parent_close_time":570745234,"parent_hash":"9AF26062D241A16EDD8436EB1A9B533281D43949A7DA2E4F35A50110537BD596","seqNum":"8","totalCoins":"100000000000000000","total_coins":"100000000000000000","transaction_hash":"0000000000000000000000000000000000000000000000000000000000000000"}
```
@@ -179,6 +182,6 @@ Watchdog: Launching child 1
* For information about communicating with your `rippled` server using the `rippled` API, see the [`rippled` API reference](reference-rippled.html).
* As a development best practice, you may want to build a `rippled` .deb file. For more information, see _Ubuntu Packaging Guide_: [Packaging New Software](http://packaging.ubuntu.com/html/packaging-new-software.html).
* As a development best practice, you may want to build a `rippled` `.deb` file. For more information, see _Ubuntu Packaging Guide_: [Packaging New Software](http://packaging.ubuntu.com/html/packaging-new-software.html).
* You may also want to install a `systemd` unit. For more information, see [systemd for Upstart Users](https://wiki.ubuntu.com/SystemdForUpstartUsers). You can use the [official `rippled` system unit file](https://github.com/ripple/rippled-package-builder/blob/staging/rpm-builder/rippled.service) or modify it to suit your needs.