HIRS/HIRS_ProvisionerTPM2/docs/developer-dependencies-centos.md
apldev4 bce78c0122 [#78] hirs-provisioner-tpm2 on path after installation. (#84)
There was a problem in the rpm-post-install.sh script
that ran as part of the CentOS7 rpm installation where
a link was being created called libcurl.so which pointed
to libcurl.so.4. If the link could not be created because
it already existed, the script would quit before finishing
and never place hirs-provisioner-tpm2 in a directory on
the PATH.

The proper solution was to link hirs-provisioner against
libcurl.so.4 so that it is clear which version of the API
was compiled against. This was not happening because
we were linking against a version of curl build by the CPR
project which was not properly embedding the SONAME in the
shared object file. By linking instead against the shared
object file distributed in the development package of
libcurl, hirs-provisioner-tpm2 now looks for libcurl.so.4
rather than the generic libcurl.so. This will prevent our
executable from breaking if libcurl.so gets updated to point
to a newer version of libcurl that uses a different API.

Closes #78.
2019-01-31 11:50:43 -05:00

2.6 KiB

Developer Dependencies

These are the dependencies currently used by the TPM2 Provisioner project that must be supplied by the development environment (in this case CentOS 7) in order to properly build and package the project.

Please look up their respective names in the CentOS repositories.

If no available repository for the development environment contains the dependencies at an acceptable version level, it is expected that the packages be retrieved and built from their respective source repositories.

Dependency Version used Minimum required Repository Project repository
cppcheck 1.80 1.72 CentOS 7 epel-release http://cppcheck.sourceforge.net/
doxygen 1.8.13 1.8.0 (estimated) CentOS 7 base https://github.com/doxygen/doxygen
graphviz 2.30.1 2.28.0 (estimated) CentOS 7 base https://gitlab.com/graphviz/graphviz
gcc-c++ 4.8.5 4.8.5 CentOS 7 base https://gcc.gnu.org/
libcurl-devel 7.29.0 7.0.0 (estimated) CentOS 7 base https://github.com/curl/curl
libssh2-devel 1.4.3 1.4.3 (estimated) CentOS 7 base https://github.com/libssh2/libssh2
log4cplus-devel 1.1.3 1.1.2 CentOS 7 epel-release https://github.com/log4cplus/log4cplus
openssl-devel 1.0.2k 1.0.2g (estimated) CentOS 7 base https://github.com/openssl/openssl
protobuf-compiler 2.5.0 2.4.1 (estimated) CentOS 7 base https://github.com/google/protobuf
protobuf-devel 2.5.0 2.4.1 (estimated) CentOS 7 base https://github.com/google/protobuf
re2-devel 20160401 20160201 CentOS 7 epel-release https://github.com/google/re2
tpm2-tss-devel 1.2.0 1.0.0 CentOS 7 base https://github.com/intel/tpm2-tss
cmake 2.8.12.2 2.6.0 (estimated) CentOS 7 base https://cmake.org/
cpack 2.8.12.2 2.6.0 (estimated) CentOS 7 base https://cmake.org/
git 1.8.3.1 1.6.0 (estimated) CentOS 7 base https://github.com/git/git