使用静态链接编译wget,自编译(打开)ssl库链接问题

时间:2012-03-22 06:16:13

标签: compilation openssl static-libraries wget

我正在尝试使用静态链接编译wget,但是我遇到了ssl的问题。 我的设置没有安装ssl,所以我必须自己编译,它似乎没问题,这是/ usr / local / ssh / lib的列表:

/usr/local/ssl/lib> ls -la
total 2000
drwxr-xr-x  3 root root    4096 2012-03-22 14:28 .
drwxr-xr-x  9 root root    4096 2012-03-22 14:28 ..
-rw-r--r--  1 root root 1752954 2012-03-22 14:28 libcrypto.a
-rw-r--r--  1 root root  272388 2012-03-22 14:28 libssl.a
drw-r--r--  2 root root    4096 2012-03-22 14:28 pkgconfig

尝试配置编译时:

wget-1.13> env LDFLAGS="-L/usr/local/ssh/lib" ./configure --with-ssl=openssl
.....
configure: error. openssl development libraries not found 

任何提示可能有什么问题?我为linux-elf编译了openssl

1 个答案:

答案 0 :(得分:3)

好吧,好像是经典的“看不懂自己的写作”问题。 上面我试图链接到ssh库,而不是ssl O_o。

为了将来参考,使用openssl链接和编译静态wget的正确过程是:

$>env CPPFLAGS="-I/dir/to/openssl/include" LDFLAGS="-L/dir/to/ssl/lib" ./configure --with-ssl=openssl

包括可能是: 〜/ openssl / openssl-0.9.8u / include(已编译的openssl的头文件) 库可能在: usr / local / ssl / lib(包含libssl.a的文件夹)

然后编译:

$>make CPPFLAGS="-I/dir/to/openssl/include" LDFLAGS="-L/dir/to/ssl/lib -all-static"

二进制文件将位于src文件夹中。

请注意,在某些系统上,-all-static选项应该只是-static。