我决定将 git 源代码克隆到/usr/src
最新的稳定版本中并签出(因为我目前使用的是 1.9.1)。在编译过程中,我收到了一些有关缺少依赖项的错误,并通过安装相应的开发包迅速修复了它们。
但是,这次我安装了最新的开发 openssl 库,但收到以下错误:
致命错误:openssl/opensslconf.h:没有此文件或目录
我知道这是一个缺少的依赖项,因此我继续安装 OpenSSL 的最新/开发包。
$ apt-cache search openssl | grep dev
$ apt-get install libssl-dev
太棒了,但是我仍然收到上述错误。快速的谷歌搜索让我找到了这个问题它仍然没有标记并且相当陈旧。
以下是执行的命令的完整列表:
ash$ sudo su -
root# apt-get install git
root# git clone https://github.com/git/git.git && cd git
root# git checkout 2.7.0
root# less INSTALL
root# make prefix=/usr install install-doc install-html install-info
root# apt-get install libssl-dev
root# make prefix=/usr install install-doc install-html install-info
root# apt-cache search expat | grep dev
root# apt-get install lib64expat1-dev
root# make prefix=/usr install install-doc install-html install-info
答案1
当安装以下依赖项时,lib64expat1-dev
许多包会被替换,其中一些是 64 位特有的。
这里的问题是opensslconfig.h
已被移动到不同的目录,如下所示:
$ find / -type f -name opensslconf.h
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h
而编译器正在其中搜索此文件/usr/include
。因此,只需创建一个符号链接即可纠正此依赖关系。
$ cd /usr/include/openssl
$ ln -s /usr/include/x86_64-linux-gnu/openssl/opensslconf.h opensslconf.h