Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#169 closed defect (invalid)

Can't Make Nginx since upgrading to OpenSSL 1.0.1

Reported by: crackedeggs1@… Owned by: somebody
Priority: blocker Milestone:
Component: nginx-core Version: 1.3.x
Keywords: Cc:
uname -a:
nginx -V: nginx version: nginx/1.1.19 built by gcc 4.1.2 20080704 (Red Hat 4.1.2-52) TLS SNI support disabled configure arguments: --sbin-path=/sbin --with-http_ssl_module

Description

Earlier today I upgraded my OpenSSL from 0.9.9 to 1.0.1c
# openssl version
shows the new version number:
# OpenSSL 1.0.1c 10 May 2012

I am currently on Nginx 1.1.19 built against OpenSSL 0.9.9. I have performed a number of successful upgrades to Nginx (started on 0.8.43).

When attempting to install 1.3.0 or 1.2.0, I use my normal
# ./configure --sbin-path=/sbin --with-http_ssl_module
# make

And get the following:
# ...
# objs/src/http/modules/ngx_http_upstream_ip_hash_module.o \
# objs/src/http/modules/ngx_http_upstream_keepalive_module.o \
# objs/ngx_modules.o \
# -lpthread -lcrypt -lpcre -lssl -lcrypto -ldl -lz
# objs/src/event/ngx_event_openssl.o: In function `ngx_ssl_ecdh_curve':
# /root/nginx-1.3.0/nginx-1.2.0/src/event/ngx_event_openssl.c:504: undefined reference to `EC_KEY_new_by_curve_name'
# /root/nginx-1.3.0/nginx-1.2.0/src/event/ngx_event_openssl.c:515: undefined reference to `EC_KEY_free'
# objs/src/http/ngx_http_request.o: In function `ngx_http_ssl_servername':
# /root/nginx-1.3.0/nginx-1.2.0/src/http/ngx_http_request.c:644: undefined reference to `SSL_get_servername'
# /root/nginx-1.3.0/nginx-1.2.0/src/http/ngx_http_request.c:678: undefined reference to `SSL_set_SSL_CTX'
# collect2: ld returned 1 exit status
# make[1]: * [objs/nginx] Error 1
# make[1]: Leaving directory `/root/nginx-1.3.0/nginx-1.2.0'
# make:
* [build] Error 2

Please help, I would like to be able to upgrade in the future.

Change History (2)

comment:1 Changed 7 years ago by mdounin

  • Resolution set to invalid
  • Status changed from new to closed

From the error shown it looks like you have new openssl headers but still old libssl.so library in the library path. Make sure to remove old openssl library (and install new library if there are no new libssl.so available).

comment:2 Changed 7 years ago by crackedeggs1@…

Thanks, seems I got so used to Nginx's upgrade process I forgot to move the symlink to the new .so

Note: See TracTickets for help on using tickets.