编译OpenSSL失败,出现“/usr/bin/ld: cannot find -lz”错误。

3
我正在尝试从源代码编译"openssl-1.0.1j",但出现以下错误信息:
"/usr/bin/ld: cannot find -lz"。
我的环境是基于树莓派的debian wheezy。
我的文件目录结构如下:
├── zlib-1.2.8
├ ├── lib sources
├ ├── libz.a

├── openssl-1.0.1j
├ ├── lib sources
我已经成功地编译了zlib-1.2.8,方法如下:
$ cd ~/zlib-1.2.8  
$ ./configure --static  
$ make test  

然后尝试按以下方式编译openssl-1.0.1j:

$ cd ~/openssl-1.0.1j  
$ export CFLAGS="-I$HOME/zlib-1.2.8"  
$ export CPPFLAGS="-I$HOME/zlib-1.2.8"  
$ export LDFLAGS="-L$HOME/zlib-1.2.8"  
$ export LIBS="-l$HOME/zlib-1.2.8/libz.a"  
$ ./config threads zlib no-shared  
$ make  

我想获取文件树:
├── zlib-1.2.8
├ ├── 库源码
├ ├── libz.a

├── openssl-1.0.1j
├ ├── 库源码
├ ├── libcrypto.a
├ ├── libss.a

我漏掉了什么?


OpenSSL的Configure是否会尊重export LDFLAGS="-L$HOME/zlib-1.2.8"? 还是会用自己的值覆盖它?如果是后者,那么您需要手动将其添加到Makefile.org中。接着执行 make clean && make dclean - jww
1个回答

0

如何配置和编译 OpenSSL 以使用静态 zlib(libz.a)

$ cd ~/openssl-1.0.1j
$ ./config threads no-shared zlib no-zlib-dynamic -L$HOME/zlib-1.2.8
$ make
$ make test

问题已解决


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接