VirtualBox

source: vbox/trunk/src/libs/libtpms-0.9.6/INSTALL

Last change on this file was 91612, checked in by vboxsync, 3 years ago

src/libs: Export libtpms-0.9.0, bugref:10078

File size: 4.7 KB
Line 
1This document contains the following sections:
2==============================================
3
4- Quick start
5- Building libtpms
6- Installing libtpms, include files and man pages
7- Uninstalling libtpms, include files and man pages
8- More on man pages
9
10Quick start:
11------------
12
13The libtpms library can be built using the steps (after installing
14dependencies):
15
16 # ./autogen.sh --with-tpm2 --with-openssl --prefix=/usr
17 # make
18 # make check
19 # sudo make install
20
21Building libtpms:
22-----------------
23
24The configure script needs to be run first, and can be done using:
25
26./autogen.sh --with-tpm2 --with-openssl
27
28By default, files will be installed in '/usr/local/lib', etc. If you
29would like to have these files installed in '/usr/lib', etc, then run
30configure using the following command line. On some distributions it may
31be necessary to also pass --libdir=/lib64 (for 64 bit systems).
32
33./autogen.sh --prefix=/usr --with-tpm2 --with-openssl
34
35For more details on configure options, run "./configure -h".
36
37Building libtpms can be done using:
38
39make all
40
41The library is known to build on Linux and Cygwin systems and possible
42other Operating Systems that use .so as library extensions.
43
44On Linux systems, libtpms can be built with either one of the following
45crypto backends:
46
47- openssl
48- freebl (TPM 1.2 support only)
49
50On Cygwin only openssl is available and therefore can only be built with
51openssl.
52
53To build for openssl, the following development packages must have been
54installed:
55
56Fedora/RedHat:
57- automake
58- autoconf
59- libtool
60- make
61- gcc
62- glibc-headers
63- openssl-devel
64
65Ubuntu:
66- automake
67- autoconf
68- libtool
69- make
70- gcc
71- libc-dev
72- libssl-dev
73
74To build for freebl (TPM 1.2 support only), the following development
75packages must have been installed prior to compilation:
76
77Fedora/RedHat:
78- glibc-headers
79- nss-softokn-freebl-devel (preferably version 3.12.9-2 or newer)
80- nss-softokn-devel (preferably version 3.12.9-2 or newer)
81- gmp-devel
82
83Ubuntu:
84- libc6-dev
85- libgmp-dev
86- libnspr4-dev
87- libnss3-dev (preferably version 3.17.2; needs to have blapi.h)
88
89By default, libtpms is built with the openssl crypto library, which was
90shown above. To build with the freebl crypto library the following command
91line can be used (TPM 1.2 support only):
92
93./autogen.sh --prefix=/usr
94make all install
95
96To verify that libtpms was built with freebl as the crypto backend, one
97can run:
98
99ldd /usr/lib/libtpms.so or ldd /usr/lib64/libtpms.so
100
101 linux-vdso.so.1 => (0x00007fff8d5ff000)
102 libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x00007f5352a13000)
103 libnspr4.so => /lib64/libnspr4.so (0x00007f53527d6000)
104 libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007f53525b6000)
105 libnss3.so => /usr/lib64/libnss3.so (0x00007f535227c000)
106 libc.so.6 => /lib64/libc.so.6 (0x00007f5351ed8000)
107 libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5351cba000)
108 libdl.so.2 => /lib64/libdl.so.2 (0x00007f5351ab6000)
109 libplc4.so => /lib64/libplc4.so (0x00007f53518b2000)
110 libplds4.so => /lib64/libplds4.so (0x00007f53516ae000)
111 /lib64/ld-linux-x86-64.so.2 (0x0000003a1c000000)
112
113The fact that the libraries libgmp, libnspr4, libnssutil3, libnss3,
114libpc4, and libplds4 are linked against is an indication that the freebl
115library was used for linking.
116
117In case of openssl's libcrypto the output would be the following:
118
119 linux-vdso.so.1 => (0x00007fffcbdff000)
120 libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007fdb1d00e000)
121 libc.so.6 => /lib64/libc.so.6 (0x00007fdb1cc6a000)
122 libdl.so.2 => /lib64/libdl.so.2 (0x00007fdb1ca65000)
123 libz.so.1 => /lib64/libz.so.1 (0x00007fdb1c84e000)
124 /lib64/ld-linux-x86-64.so.2 (0x0000003a1c000000)
125
126
127Installing libtpms, include files and man pages:
128------------------------------------------------
129
130The installation of libtpms, the development include files (headers) and
131man pages can be achieved through:
132
133make install
134
135This will copy libtpms into the standard library directory on your Linux
136system such as /usr/lib or /usr/lib64, depending on whether you built for
137a 32 bit or 64 bit machine.
138
139The public include files of libtpms will be copied to /usr/include/libtpms.
140
141The man pages explaining the libtpms API will be copied to /usr/share/man.
142
143
144Uninstalling libtpms, include files and man pages:
145--------------------------------------------------
146
147The libtpms library, its development include files (headers) and man pages
148can be uninstalled from their standard locations using
149
150make uninstall
151
152
153More on man pages
154-----------------
155
156All of the libtpms APIs have a man page. The man pages contain explanations
157on how to use the APIs as well as examples. Once installed, they can be
158viewed as a typical man page:
159
160man TPMLIB_MainInit
161
162Otherwise, if they are not installed, they can then be viewed from the
163libtpms root directory using:
164
165man -M ./man TPMLIB_MainInit
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use