-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathBUILDING
More file actions
68 lines (50 loc) · 2.29 KB
/
Copy pathBUILDING
File metadata and controls
68 lines (50 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
To build and install kivaloo, run:
# make BINDIR=/path/to/target/directory install
Kivaloo should build and run on any IEEE Std 1003.1 (POSIX) compliant
system which
1. Includes the Software Development Utilities option,
2. Has OpenSSL available via -lcrypto and #include <openssl/foo>, and
3. Provides /dev/urandom.
Tests
-----
Tests involving AWS require additional setup.
First, you must have AWS access keys. If you use the web console, this is
under "My Security Credentials"->"Access keys for CLI, SDK, & API access". For
kivaloo, that info should be saved in a text file with the form:
ACCESS_KEY_ID=...
ACCESS_KEY_SECRET=...
(with no leading spaces)
- tests/s3: you must:
1) have a ~/.s3/aws.key file which contains the access key.
2) have a unique S3 bucket name in AWS.
3) specify the bucket name as the BUCKET environment variable, for example:
$ BUCKET=kivaloo-test-john-smith make test
4) you might be required to specify a REGION environment variable, for
example:
$ REGION=us-east-1 make test
The default region varies based on the test directory, so if in doubt,
check test_s3.sh.
- tests/kvlds-ddbkv: you must:
1) have a ~/.dynamodb/aws.key which contains the access key.
2) have a unique DynamodDB table name in AWS, with a partition key `K`.
3) specify the two table names as the TABLE and TABLEM environment
variables, for example:
$ TABLE=kivaloo-testing-john-smith \
TABLEM=kivaloo-testing-m-john-smith \
make test
4) you might be required to specify a REGION environment variable, for
example:
$ REGION=us-west-2 make test
The default region varies based on the test directory, so if in doubt,
check test_kvlds.sh.
Platform-specific notes
-----------------------
- On macOS, OpenSSL installed via Homebrew is not in the default compiler
search path. If `make` fails with a missing OpenSSL header such as
`openssl/err.h`, build with the OpenSSL paths specified explicitly:
make CFLAGS="-O2 -I/opt/homebrew/opt/openssl@3/include" \
LDADD_EXTRA="-L/opt/homebrew/opt/openssl@3/lib"
- The performance of SSL networking can be improved if SO_NOSIGPIPE is
available in <sys/socket.h>. To get this in FreeBSD, define __BSD_VISIBLE,
for example:
make CFLAGS="-O2 -g -D__BSD_VISIBLE"