В общем наконец-таки одолел проблему)
Сделал, как писал Sergey Budnevitch, только с небольшим исправлением:
в файле nginx/auto/lib/openssl/make заменил строку && ./config --prefix=$ngx_prefix no-shared $OPENSSL_OPT \\
на && ./Configure --prefix=$ngx_prefix no-shared $OPENSSL_OPT solaris64-sparcv9-cc \\ (сам Сергей указывал solaris-sparcv9-cc),
а в файле openssl/Configure в опциях для системы solaris64-sparcv9-cc заменил -xarch=v9 на -m64
Всем спасибо за ответы!
Maxim Dounin Wrote:
-------------------------------------------------------
> 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 mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru