当我尝试制作 gnupg 2.0.19 时出现以下错误
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compress.o:在函数“init_uncompress”中: /home/steve/Desktop/gnupg-2.0.19/g10/compress.c:147: 对“inflateInit_”未定义引用 compress.o:在函数“do_uncompress”中: /home/steve/Desktop/gnupg-2.0.19/g10/compress.c:196: 对“inflate”未定义引用 compress.o:在函数“init_compress”中: /home/steve/Desktop/gnupg-2.0.19/g10/compress.c:82: 对“deflateInit_”未定义引用 compress.o:在函数“init_uncompress”中: /home/steve/Desktop/gnupg-2.0.19/g10/compress.c:147: 对“inflateInit2_”未定义引用 compress.o:在函数“init_compress”中: /home/steve/Desktop/gnupg-2.0.19/g10/compress.c:82: 对“deflateInit2_”未定义引用 compress.o:在函数“compress_filter”中: /home/steve/Desktop/gnupg-2.0.19/g10/compress.c:264: 对“inflateEnd”未定义引用 /home/steve/Desktop/gnupg-2.0.19/g10/compress.c:273: 对“deflateEnd”未定义引用 collect2:ld 返回 1 退出状态 make[2]: *** [gpg2] 错误 1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
看来 ld 找不到拥有上述引用的目标文件。我的问题是:如何确定我缺少哪个文件?如何解决这个问题?
提前谢谢了!
答案1
错误消息似乎表明您缺少库zlib
,正如在部分内容中提到的那样gnupg 邮件列表;因此出现有关“inflate”和“deflate”的错误。因此请运行,
sudo apt-get install zlib1g zlib1g-dev
然而,您还必须安装构建依赖项,例如gnupg2
,,,libgpg-error
和(> = 2.0):libgcrypt
libksba
libassuan
sudo apt-get build-dep gnupg2
sudo apt-get install libgpg-error0 libgpg-error-dev libgcrypt11 libgcrypt11-dev
(当然,如果你愿意的话,你可以从gnupg 站点而不是使用存储库版本。)
因此,在编译这个程序时,需要事先做一些准备,尽管因为您实际上已经开始了构建过程,所以看起来主要依赖关系已经得到满足./configure
,尽管zlib
缺少库。