71 lines
2.0 KiB
Markdown
71 lines
2.0 KiB
Markdown
Installation Instructions
|
|
=========================
|
|
|
|
If you downloaded a release tarball just run
|
|
|
|
$ ./configure && make check
|
|
|
|
Ensure that all of the tests completed successfully and
|
|
install by running
|
|
|
|
$ make install
|
|
|
|
|
|
Usually on a fresh installed linux there will be missing packages during
|
|
some of those steps. The program will detect which packages are missing.
|
|
And you can use the this command to install missing packages:
|
|
|
|
$ apt-get install XX
|
|
(to install a package named XX)
|
|
|
|
|
|
Now you have libntruencrypt library correctly
|
|
installed in your system. Then you will need to map the shared library name
|
|
to the location of the corresponding shared library file using
|
|
|
|
$ ldconfig
|
|
|
|
You can call this library at compiling with a flag -lntruencrypt.
|
|
For example if you need to run this [sample code](https://github.com/NTRUOpenSourceProject/NTRUEncrypt/tree/master/sample)
|
|
|
|
Assuming you installed libntruencrypt in the default path,
|
|
you can check if you have everything installed correctly by
|
|
|
|
$ gcc sample_NTRUEncrypt.c -lntruencrypt -I /usr/local/include/libntruencrypt/
|
|
|
|
|
|
---------------------
|
|
If you got the source from git, run
|
|
|
|
$ ./autogen.sh
|
|
|
|
to finish
|
|
setting up the autotools environment, then follow the instructions
|
|
above. Alternatively you can use use pristine-tar to extract a
|
|
release tarball from the repository. You can also see a list of
|
|
releases by running:
|
|
|
|
$ pristine-tar list
|
|
|
|
and can generate a release tarball with, e.g.
|
|
|
|
$ pristine-tar checkout libntruencrypt0_1.0.0.orig.tar.gz
|
|
|
|
|
|
|
|
Optional Features
|
|
=================
|
|
|
|
Configure options:
|
|
--enable-simd
|
|
Build libntruencrypt with fast polynomial multiplication
|
|
routines. Requires a processor with SSSE3 instructions.
|
|
--enable-coverage
|
|
Link against libgcov and compile with the -coverage flag.
|
|
Requires CC=gcc, and lcov. Coverage results can subsequently
|
|
be gathered and analyzed by running:
|
|
$ make coverage-html
|
|
--disable-silent-rules
|
|
Verbose output during compilation.
|
|
|