Re: Проблема с компиляцией в Solaris 11 sparc
Maxim Dounin
mdounin at mdounin.ru
Mon Feb 17 16:09:03 UTC 2014
Hello!
On Mon, Feb 17, 2014 at 09:50:47AM -0500, sebor wrote:
> Откуда ж столько камней)
> В общем поставил openssl отдельно от nginx'a:
> ./Config solaris64-sparcv9-gcc threads shared --prefix=/opt/openssl
> И собрал nginx с опциями;
> --with-ld-opt="-L/opt/openssl/lib" --with-cc-opt="-I/opt/openssl/include"
> Все скомпилилосьи работает. Но теперь, как я понимаю, перенсти бинарник
> nginx на другую машину я не смогу?
> При старте возникает ошибка:
> ld.so.1: nginx: fatal: relocation error: file /opt/nginx/sbin/nginx: symbol
> SSL_CTX_set_next_protos_advertised_cb: referenced symbol not found
Заголовки nginx взял откуда сказали, а библиотеку грузит
динамически из системы, и там нет NPN.
Простейшее решение - таки собрать OpenSSL без динамических
библиотек, чтобы nginx собрался со статическими. I.e., no-shared
при вызове OpenSSL'ного ./config'а.
(Можно ещё поиграть в прописывание -rpath при сборке /
LD_LIBRARY_PATH перед запуском, но собрать статически - банально
проще.)
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru