aboutsummaryrefslogtreecommitdiffstats
path: root/rust/README.md
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2019-08-29 12:35:21 +0200
committerBryan Newbold <bnewbold@robocracy.org>2019-08-29 12:35:21 +0200
commitc5c5c95fbd40e981ed4b287fc8d7f4d5a798088a (patch)
tree00c3490f823e8534e084bc738c84cb293376f4c1 /rust/README.md
parent7a54cfcedaede4689759a87030416f763ce4e583 (diff)
downloadfatcat-c5c5c95fbd40e981ed4b287fc8d7f4d5a798088a.tar.gz
fatcat-c5c5c95fbd40e981ed4b287fc8d7f4d5a798088a.zip
document openssl 1.0/1.1 problem
Diffstat (limited to 'rust/README.md')
-rw-r--r--rust/README.md19
1 files changed, 18 insertions, 1 deletions
diff --git a/rust/README.md b/rust/README.md
index fbac3bc3..86c25d29 100644
--- a/rust/README.md
+++ b/rust/README.md
@@ -20,9 +20,10 @@ do development work:
- rust stable, 2018 edition, 1.34+ (eg, via "rustup", includes cargo tool)
- diesel (`cargo install diesel_cli`)
-- postgres (compatible with 9.6+; run 11.x in production)
+- postgres (compatible with 9.6+; we run 11.x in production)
- postgres libs (debian/ubuntu: `libsqlite3-dev libpq-dev`)
- libsodium library and development headers (debian/ubuntu: `libsodium-dev`)
+- OpenSSL 1.0 (not compatible with 1.1; see "OpenSSL 1.0" section below)
We need to create a new `fatcat` postgres user and database to run tests and
develop with. On debian/ubuntu, a UNIX account named `postgres` is
@@ -59,6 +60,22 @@ Note that most "integration" level tests are written in python and run by
See `HACKING` for some more advanced tips and commands.
+### OpenSSL 1.0
+
+Ubuntu bionic (18.04) and later ship with OpenSSL 1.1, you can install OpenSSL
+1.0 with:
+
+ # note that libssl1.0-dev conflicts with libssl-dev
+ sudo apt install openssl1.0 libssl1.0-dev
+
+And then build with:
+
+ cargo clean
+ OPENSSL_LIB_DIR="/usr/lib/x86_64-linux-gnu" OPENSSL_INCLUDE_DIR="/usr/include/openssl" cargo build --release
+
+There is a [github tracking issue](https://github.com/internetarchive/fatcat/issues/42)
+for this dependency problem.
+
## Configuration
All configuration goes through environment variables, the notable ones being: