(gnupg)gpg centos linux 虚拟机编译过程总结,,,,整个过程头痛

gpg编译花了挺多时间:这里总结下遇到的问题

环境:vmware  虚拟机,跑的centos linux 64位的

官网最新gnupg的代码下载下来,开始编译


1.执行autogen.sh

提示需要安装下面3个东东才能使用autogen.sh

autoconf-latest.tar

automake-1.15.tar

gettext-latest.tar

全部安装一遍才能生成我们的configure(不是直接./configure,,,后面再说)


2.执行./configure,,,提示安装下面两个库

sqlite先要装下,3.7以上的

gnutls-3.4.9.tar这个库又没有,装,,,装


3.下载gnutls这个库编译安装的时候遇到一堆问题


需要装下下面3个库

a. libtasn1-4.8

b. nettle-3.2

c. yum -y install unbound (安装下)     


d. p11-kit   ---------->libffi (这玩意不知道干什么的,去掉)     

所以最后是./ configure --without-p11-kit     执行下


e.

这个过程中又有新的问题出现:关于.pc文件的问题

       因为configure里面会用用到pkg-config

pkg-config必须知道到哪去找.pc的库的问题

pkg_config_path:环境变量PKG_CONFIG_PATH是用来设置.pc文件的搜索路径的,pkg-config按照设置路径的先后顺序进行搜索,直到找到指定的.pc 文件为止。这样,库的头文件的搜索路径的设置实际上就变成了对.pc文件搜索路径的设置。

1.编译好的库先    find ./ -name "*pc",,,找到pc文件,再拷贝到pkgconfig目录里面去

2.cp   B.pc   /usr/lib64/pkgconfig/


因为我的系统是64位的,所以需要把把包含.pc的东西都都拷贝下


4.兄弟可没这么容易就完了,,,还有了头疼的了,而且网上资料比较难查到

syntax error near unexpected token 
PKG_CHECK_MODULES(
这个错误也是奇葩,,,,安装完sqllite
这个错误也是奇葩,,,,安装完sqllite和gnutls,,还报这个错误
最后找到了解决办法:

       The PKG_CHECK_MODULES macro doesn't seem to be expanded properly. When you installed pkg-config, did it install pkg.m4 (in somewhere like /usr/share/aclocal)? If so, try running aclocalagain (maybe with -I m4, if you've got custom m4 code in the m4 subdirectory) and then run autoconf.

If that doesn't work and pkg.m4 was installed, try running autoreconf -f (and maybe autoreconf -i -f).

If that doesn't work, you'll need to copy pkg.m4 to a directory for your package. Usually this is the m4 subdirectory. Set ACLOCAL_AMFLAGS = -I m4 (or ACLOCAL_AMFLAGS = -I m4 --install) in Makefile.am (if you're using automake), and AC_CONFIG_MACRO_DIR([m4]) in configure.ac. Then run aclocal -I m4 and autoconf and ./configure.     

最后我是把pkg.m4这个文件拷贝到m4文件夹下,后面就没报错误了(这里的提示我基本都弄了一遍)


 5.继续

后面又提示需要gpg相关的几个依赖库,去官网上都下载下来编译安装下

编译 ibgcrypt时候 

a.,,,不小心libgpg-error这个库下了一个低版本的,怎么都编译不过,最后发现原来是版本问题

b. --disable-amd64-as-feature-detection,  configure 还有加上这个才行,,,不然提示奇怪的amd64函数不在库中不能找到     


6.好了所有的库都准备好了,

直接./configure吧,,

,还是报错,,,,,这回是因为没有按照之前autogen.sh的提示,,,./configure后面还有些东西,,只要按照autogen.sh的提示后面加上必要的选项就好了



7../configure 完成,makefile文件终于成功产生:

make 一下

a. 又有错误:源代码里面有个doc文件夹,,,里面有个makefile,,,make进入到这里的时候卡住了,少了几个png,gif文件,,哎,随便伪造了几个需要的文件

反正也是doc文件夹下的,应该对功能没什么大影响;

b. txteinfo库   这是最后一个库,,安装下


。。。。。。。。。。。。。。baby。。。。。。。。。。。一切ok。。。。。。。。。。。。终于编译完成,,测试了下生成gpg的功能可以产生秘钥对了


总结:死磕到底,前后弄了好几天



















猜你喜欢

转载自blog.csdn.net/xqwin/article/details/51512352