【发布时间】:2013-09-12 09:19:49
【问题描述】:
我正在将更新版本的 openssh 安装到 ubuntu 服务器上(罕见 13.04)
我已设置export LDFLAGS="-I/usr/lib-I/usr/local/lib"
当运行我的./configure 语句时
./configure --prefix=/usr --exec_prefix=/usr --libexecdir=/usr/lib/openssh
--sysconfdir=/etc/ssh --datadir=/usr/share/sshd --with-md5-passwords
--with-privsep-path=/var/lib/sshd
输出结束:
.....
checking OpenSSL header version... 1000105f (OpenSSL 1.0.1e 11 Feb 2013)
checking OpenSSL library version... 1000103f (OpenSSL 1.0.1c 10 May 2012)
checking whether OpenSSL's headers match the library... no
configure: error: Your OpenSSL headers do not match your
library. Check config.log for details.
我尝试了一个提示,建议将 LDFLAGS 更改为
export LDFLAGS="-L/usr/lib/libssl.so -/usr/lib/libcrypto.so"
强制使用一个库
但是当我运行 ./configure 命令时,我得到了
.........
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/usr/local/sas/openssh-6.2p2':
configure: error: C compiler cannot create executables
See `config.log' for more details
大家还有什么想法吗?
【问题讨论】:
-
-I应该进入CFLAGS,而不是LDFLAGS,链接器不使用include语句,因此当它开始链接时,更改包含路径为时已晚。export LDFLAGS="-L/usr/lib/libssl.so -/usr/lib/libcrypto.so"也有点乱,应该是平淡的吧;export LDFLAGS="-L/usr/lib"因为-L只是为编译器寻找库提供路径,而不是实际库的绝对路径。 -
干杯——我已经尝试了 LDFLAGS 语句的几种变体,包括“-L/usr/lib”,你注意到的那个是来自另一个人在另一个网站上遇到同样问题的人,但它对他们有用 - 但不是对我来说
-
干杯——我已经尝试了 LDFLAGS 语句的几种变体,包括“-L/usr/lib”,你注意到的那个是来自另一个人在另一个网站上遇到同样问题的人,但它对他们有用 - 但不是对我来说关于 CFLAGS 我认为是 CPPLFAGS 所以我尝试了各种 CPPFLAGS= 单独和 LDFLAGS 的陈述,包括 CPPFLAGS="-I/usr/include" 和 CPPFLAGS="-I/usr/include -I/usr/local/include " 我尝试了以下方法,我认为这是您的建议 CFLAGS="-I/usr/include" 并且当它不起作用时 CFLAGS="-I/usr/include -I/usr/local/include" 任何想法跨度>
标签: ubuntu configure openssh ldflags