компиляция wget со статической компоновкой, проблема компоновки самостоятельно скомпилированной (открытой) библиотеки ssl - PullRequest
2 голосов
/ 22 марта 2012

Я пытаюсь скомпилировать 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 

Любые намеки, что может быть не так? Я скомпилировал openssl для linux-elf

1 Ответ

3 голосов
/ 23 марта 2012

Хорошо, похоже, это классическая проблема "не могу читать самостоятельно".Выше я пытался ссылаться на библиотеку ssh, а не на ssl O_o.

Для дальнейшего использования правильная процедура связывания и компиляции статического wget с openssl:

$>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.

...