2014-12-05 138 views
2

我试图从源代码“openssl-1.0.1j”进行编译但失败,消息:
“/ usr/bin/ld:找不到-lz“编译openssl失败,“/ usr/bin/ld:找不到-lz”

环境是debian wheezy覆盆子pi。

我的文件树:
├──的zlib-1.2.8
├├──LIB来源
├├──libz.a

├──的OpenSSL 1.0.1j
├├──LIB来源

我成功编译的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
├├──LIB源
├├──libz.a

├──OpenSSL的-1.0.1j
├├──LIB源
├├──libcrypto.a
├├──libss.a

我在想什么?

+0

是否OpenSSL的'Configure'荣誉'出口LDFLAGS =“L - $ HOME/zlib的-1.2.8 “'?还是用它自己的价值来覆盖它?如果它晚了,那么你需要手动将它添加到'Makefile.org'中。然后做一个'干净&& make dclean'。 – jww 2014-12-08 08:31:09

回答

0

来配置和静态zlib的(libz.a)编译OpenSSL的

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

问题解决