2014-12-05 139 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 

問題解決