Article Title: nginx compilation openssl version compatibility or troubleshooting. Linux is a technology channel of the IT lab in China. Includes basic categories such as desktop applications, Linux system management, kernel research, embedded systems, and open source.
Before the nginx-0.7.59, the system's built-in openssl version is lower than the openssl-0.9.8e when compiling the error is as follows:
Objs/ngx_modules.o \-lcrypt-lpcre-lzobjs/src/http/keys: In function 'ngx _ http_file_cache_create_key ':/EBS/soft-backup/nginx-0.7.58/src/http/keys: 128: undefined reference to 'md5 _ init'/EBS/soft-backup/nginx-0.7.58/src/http/ngx_http_file_cache.c: 138: undefined reference to 'md5 _ Update'/EBS/soft-backup/nginx-0.7.58/src/http/ngx_http_file_cache.c: 145: undefined reference to 'md5 _ final' collect2: ld returned 1 exit statusmake [1]: *** [objs/nginx] Error 1 make [1]: Leaving directory '/EBS/soft-backup/nginx-0.7.58' make: * ** [build] Error 2the change log: Changes with nginx 0.7.59 25 May 2009 *) Feature: the "proxy_cache_methods" and "fastcgi_cache_methods" directives. *) Bugfix: socket leak; the bug had appeared in 0.7.25. thanks to Maxim Dounin. *) Bugfix: a segmentation fault occurred in worker process, if a request had no body and the $ request_body variable was used; the bug had appeared in 0.7.58. *) Bugfix: the SSL modules might not built on Solaris and Linux; the bug had appeared in 0.7.58. *) Bugfix: ngx_http_effect_filter_module responses were not handled by SSI, charset, and gzip filters. *) Bugfix: a "charset" directive did not set a charset to ngx_http_gzip_static_module responses.
Above reproduced http://blog.chinaunix.net/u/32831/showart_1953211.html
Thank you for providing
--------------------------------------------------------------------------------
Determine the openssl version and nginx version match to eliminate a possibility.
The latest version is available.
L version http://u.xunzai.com/fileview_222768.html
Then I found that nginx is still manually installed by default in Makefile. Of course, the roin method in linuxtone is not excluded. The principle is to search for libssl. so in the ldconfig directory.
Ln-sf openssl/lib/libsslXXXX/usr/lib
I know it, but I am not familiar with Makefile and cannot find the called struct. If necessary (that is, ldconfig cannot be used or for other reasons), I can change the directory of Makefile by hand.
~ /Soft/openssl-0.9.8l/openssl/include/openssl/ssl. h: objs/Makefile
Cd ~ /Soft/openssl-0.9.8l \
& $ (MAKE) clean \
&./Config
-- Prefix =/home/yuan520/soft/nginx-0.7.64 /~ /Soft/openssl-0.9.8l/openssl the path here is wrong, the specific modification on demand, smoothly pointing to your openssl directory can be
No-shared no-threads \ --- although the use of no-shared will theoretically not conflict with other versions of openssl, but in fact I did not try it, and still need to handle version compatibility issues
& $ (MAKE )\
& $ (MAKE) install