12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- Installing
- ----------
- To build and install spiped, run:
- # make BINDIR=/path/to/target/directory install
- To install man pages, add MAN1DIR=/path/to/man.1/directory to the command
- line (e.g., MAN1DIR=/usr/local/man/man1 on FreeBSD).
- Spiped 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.
- Platform-specific notes
- -----------------------
- - On OS X, the version of OpenSSL included with the operating
- system is outdated (0.9.8) and deprecated, and it is recommended
- that spiped be built with an updated version of OpenSSL. On OS X
- 10.11 "El Capitan", OpenSSL was removed entirely. After installing a newer
- version of OpenSSL, use
- CFLAGS="-I /path/to/openssl/headers"
- LDADD_EXTRA="-L /path/to/openssl/lib"
- to build spiped.
- Note that spiped will still build (on pre-10.11) if you set these options
- wrong: If you see
- warning: 'AES_set_encrypt_key' is deprecated
- during the build then spiped is still using the outdated version
- of OpenSSL from OS X.
- - On Cygwin the following command must be run before building spiped in order
- order to work around a bug in Cygwin's C library:
- sed -i.orig s/-D_POSIX_C_SOURCE=200809L// */Makefile
- Without this command, spiped will still build but it will crash.
- - On some platforms (Solaris, maybe others), additional compiler and/or linker
- options are required to find OpenSSL or system libraries; these can be
- provided by adding e.g., CFLAGS="-I/path/to/openssl/headers" (compiler option)
- or LDADD_EXTRA="-L/usr/sfw/lib -lsocket -lnsl" (linker option) to the make
- command line.
- - On some platforms (OpenBSD prior to 5.4, and possibly others) you will need to
- add #include <sys/types.h> at the start of
- lib/dnsthread/dnsthread.c
- libcperciva/util/sock_util.c
- proto/proto_conn.c
- spipe/main.c
- spipe/pushbits.c
- due to a POSIX-compliance bug on those platforms.
- - On some platforms (mostly Linuxes) it is possible to install OpenSSL libraries
- without the associated header files; the header files are usually in packages
- named "openssl-devel", "libssl-dev", or similar.
- - If your OS provides random bytes via some mechanism other than /dev/urandom,
- please make local changes to lib/util/entropy.c and notify the author.
- If spiped fails to build or run for other reasons, please notify the
- author.
- Updating build code and releasing
- ---------------------------------
- The POSIX-compatible Makefiles are generated via `make Makefiles` from the
- included (far more readable) BSD Makefiles. To run this target, you will
- need to have a BSD `make(1)` utility; NetBSD's `make(1)` is available for many
- operating systems as `bmake`.
- Release tarballs are generated via `make VERSION=x.y.z publish`, subject
- to the same caveat of needing a BSD-compatible make.
|