linux 编译 curl 出错

2015-11-12 22:43:09 +08:00
 yunhui
编译 curl make 死活不通过,唉
执行参数如下,谢谢各位帮忙看看
```
这一步一切正常
root@debian:~/curl-7.45.0# ./configure --with-ssl
```
![图片描述][1]

make

```
一顿编译之后 ...... 然后出错了
../lib/.libs/libcurl.so: undefined reference to `SSLv2_client_method'
../lib/.libs/libcurl.so: undefined reference to `SSL_CTX_set_alpn_protos'
../lib/.libs/libcurl.so: undefined reference to `SSL_get0_alpn_selected'
collect2: error: ld returned 1 exit status
make[2]: *** [curl] Error 1
make[2]: Leaving directory `/root/curl-7.45.0/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/curl-7.45.0/src'
make: *** [all-recursive] Error 1

```

![图片描述][2]

openssl 也是编译的,参数如下

```
./config shared zlib
已经编译成功

root@debian:~/curl-7.45.0# openssl version
OpenSSL 1.0.2d 9 Jul 2015
root@debian:~/curl-7.45.0#
```

[1]: http://segmentfault.com/img/bVqTxQ
[2]: http://segmentfault.com/img/bVqTyo
11112 次点击
所在节点    Linux
45 条回复
Cu635
2015-11-14 11:37:14 +08:00
lz ,讲一下你的需求,到底是自己折腾着玩才编译,还是说是哪个教程教的你编译安装,还是说自己需要官方源软件包没有的哪个特性,还是什么?

另外,需求是 debian7 ,是公司要求的吗?还是说之前是 debian7 ,自己没有信心升级?还是说其它工具依赖?还是怎么?

在服务器上, debian 最好使用最新的 stable 版本,这样问题很少。觉得 nginx 、 php 这些版本太低了的话可以加入 dot-deb 源。
yunhui
2015-11-14 22:22:27 +08:00
@Cu635 用的 debian7 仅仅是 mongodb 没写有 debian8 的版本,所以才选的,虽然我知道兴许是可行的,但是项目决定选 debian7 。然后抱歉,用的不是世界上最好的语言,用的是 nodejs~~~ 唉,当时纯粹就是想更新下 openssl 的版本, apt-get 下来的版本太低了是 1.0.1E 2013 的
Cu635
2015-11-15 10:46:22 +08:00
那你在 debian 7 上加入 debian-security 源和 dot-deb 源试一试。升级时候再看看 openssl 版本是否满足你的要求了。

加的时候注意 google 一下,看看怎么配置需要的仓库。

不过我还是很好奇,“项目决定选 debian7 ”是不是除了 mongodb 还有其它的工具依赖于老版本?

如果只是 mongodb 的依赖的的话,考虑一下现在就做好升级预案, mongodb 将来不久肯定会加入对 debian8 的支持的。
yunhui
2015-11-15 11:18:17 +08:00
@Cu635 dot-deb 好像只是对 php nginx mysql 这类的支持较多。。。
a6230589
2016-04-12 17:54:37 +08:00
如果是 openssl 不是安装在默认目录,就会报这个错,原因是 make 的时候会进行执行测试,此时查找到的 so 文件不是自己安装的。可以在 configure 之前使用如下命令解决:
export LDFLAGS="-Wl,-rpath=/path/to/openssl/lib"

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/235779

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX