红联Linux门户
Linux帮助

ubuntu搭建TPM emulator过程中的错误

发布时间:2015-10-10 16:11:09来源:linux网站作者:aqifz

1. 安装过程前一篇文章凌乱地讲了,简略地总结一下:

(1)安装cmake

(2)手动安装GMP库

(3)手动安装tpm emulator,测试是否装好

(4)安装trousers和GTK

 自动安装trousers(编程时找不到trousers/和tss/目录下的头文件)失败,改手动安装,期间又安装了GTK所需所有文件。装完也可以进行测试。

(5)安装tpmtools

(6)手动安装tpmmanager

装好就可以打开界面看见TPM的信息了。


2. 安装时补装的依赖和遇到的错误

(1)cmake需要g++,apt-get install g++

(2)GMP需要m4,apt-get install m4

(3)tpm emulator make时出错

tpm_emulator-0.7.2/tpm/tpm_migration.c:407:14: error: variable ‘res’ set but not used [-Werror=unused-but-set-variable]

直接修改源码,注释掉res的定义和res = xxxxxx那一句中res =这一截,简言之就是去掉res,不要把xxxxxx那句函数去掉了。

(4)用apt-get install安装trousers

提示没有openssl,于是apt-get install openssl。

然后出错:E: Sub-process /usr/bin/dpkg returned an error code (1),通过apt-get update更新源之后解决。

(当我把tpm和tss环境都搭好,用人家读取PCR的程序测试时,提示找不到tss/tss_error.h。安装tpmmanager的时候也提示找不到trousers/tss.h,然后我去找trousers的安装目录,未果,于是先把它删除,改手动安装。删除:apt-get remove trousers,这个过程中它把tpm-tools也删了。)

(5)手动安装trousers0.3.13

直接./configure,报错:configure: error: openssl is currently the only supported crypto library for trousers. Please install openssl from http://www.openssl.org or the -devel package from your distro。事实上我已经装了openssl,所以是缺什么-devel包,百度了一下是openssl-devel。

apt-get install libssl-dev(别的平台用yum的话,是yum -y install opssl-devel)

然后我去读了一下README,需要的依赖如下:

automake > 1.4
autoconf > 1.4  //apt-get install automake1.9(版本看个人需要)
pkgconfig //apt-get install pkgconfig
libtool       //apt-get install libtool
gtk2-devel       //没有这个包,于是我回头把教程里的GTK那一堆文件包都装上了
openssl-devel >= 0.9.7 //这个上面已经解决
pthreads library (glibc-devel)  //没找到包,不过没有出什么问题

输入的包找不到时,apt-get install结果可能会提示应该装什么,没有的话就只能自己去网上查。README里面有32bit和64bit不同的安装方法,64bit的需要注意一下。

(6)安装tpm-tools,直接apt-get install tpm-tools,没有出问题。

(7)安装tpmmanager,查看INSTALL,所需依赖如下:

• Qt4 (>= 4.4) // apt-get install libqt4-dev libqt4-debug libqt4-gui libqt4-sql qt4-dev-tools qt4-doc qt4-designer qt4-qtconfig
• TrouSerS    //已装
The required packages for (k)Ubuntu in detail are:
• build-essential
• libtspi-dev
• libtspi1
• trousers
• libqt4-dev

全部装上就是,找不到是哪个包的除了去网上搜,还可以索性先不装,然后看安装时出什么错,按错误提示去解决就行。

安装完依赖,按照INSTALL或者教程编译,make的时候出错:src/TPMManager.cxx:412:47:error: can not call constructor ‘QUrl::Qurl’ directly[-fpermissive],错误里也提示了改法。按照教程,修改TPMManager.cxx 412行,将

QUrl myURL = QUrl::QUrl(url, QUrl::strictMode)修改为QUrl myURL = QUrl(url, QUrl::strictMode) 。

继续安装,后面没出什么问题,安装好之后,运行tpm emulator和trousers(教程里有)运行tpmmanager就能打开界面了。


tpm emulator tpmd

ubuntu搭建TPM emulator过程中的错误

trousers tcsd

ubuntu搭建TPM emulator过程中的错误

tpm manager

ubuntu搭建TPM emulator过程中的错误


ubuntu搭建TPM emulator过程:http://www.linuxdiyf.com/linux/14786.html