Nginx-0.8.52

Changes with nginx 0.8.52 28 Sep
2010

*) Bugfix: nginx used SSL mode for a listen socket if any listen 

option
was set; the bug had appeared in 0.8.51.


Igor S.
http://sysoev.ru/en/

On 09/28/2010 12:10 AM, Igor S. wrote:

Changes with nginx 0.8.52 28 Sep 2010

 *) Bugfix: nginx used SSL mode for a listen socket if any listen option
    was set; the bug had appeared in 0.8.51.

The problem I had with 0.8.51 wasn’t solved with 0.8.52. After upgrading
I get this message when ever I try to restart nginx:

Starting nginx: Can’t load ‘/usr/lib/perl5/auto/nginx/nginx.so’ for
module nginx: /usr/lib/perl5/auto/nginx/nginx.so: undefined symbol:
ngx_http_core_module at /usr/lib/perl5/XSLoader.pm line 70.
at /usr/lib/perl5/nginx.pm http://nginx.pm line 54
Compilation failed in require.
BEGIN failed–compilation aborted.
[alert]: perl_parse() failed: 255

Though this time it added something about the configuration file test
failing… I’m using Fedora Core 13 and had no problems with nginx
0.8.50 . Here’s the Source RPM I made for nginx 0.8.52:
http://www.fedtrek.com:81/staff/omega13a/rpms/SRPMS/nginx-0.8.52-1.fc13.omega13a.src.rpm
(thank god I have apache installed and running on port 81 in case
something like this happens)

Hello!

On Tue, Sep 28, 2010 at 12:43:55AM -0700, Brandon A. wrote:

Starting nginx: Can’t load ‘/usr/lib/perl5/auto/nginx/nginx.so’ for
module nginx: /usr/lib/perl5/auto/nginx/nginx.so: undefined symbol:
ngx_http_core_module at /usr/lib/perl5/XSLoader.pm line 70.
at /usr/lib/perl5/nginx.pm http://nginx.pm line 54
Compilation failed in require.
BEGIN failed–compilation aborted.
[alert]: perl_parse() failed: 255

This looks like the problem with embedded perl you have enabled.
For some reason it wasn’t able to resolve symbol which should be
defined in nginx itself.

This may either indicate that your perl installation is somewhat
screwed up (e.g. missed or out-of-sync something like “perl-dev”
package as it’s common on linux systems) or nginx doesn’t play
well enough while embedding perl.

Could you please show what “perl -V” and “perl -MExtUtils::Embed -e
ldopts”
prints on your system? Showing “nginx -V” output is also good
idea.

I’m able to reproduce the problem by manually removing -Wl,-E from
“perl -MExtUtils::Embed -e ldopts” output. Not sure though if
it’s ok for perl to don’t report it on systems which generally
need it. Anyway, you may try adding --with-ld-opts=“-Wl,-E” to
nginx configure to see if it helps.

Though this time it added something about the configuration file
test failing… I’m using Fedora Core 13 and had no problems
with nginx 0.8.50 .

Nothing related changed since 0.8.50. Most likely it’s your system
changes (e.g. perl upgrade) in-between caused the problem.

Here’s the Source RPM I made for nginx 0.8.52: http://www.fedtrek.com:81/staff/omega13a/rpms/SRPMS/nginx-0.8.52-1.fc13.omega13a.src.rpm

I’m in doubt if anybody here will/may help you with your srpm.
Reproducing the problem with normal configure/make by hand is
always preferred.

Maxim D.

Output of perl -V:

Summary of my perl5 (revision 5 version 10 subversion 1) configuration:

Platform:
osname=linux, osvers=2.6.32-44.el6.x86_64,
archname=i386-linux-thread-multi
uname=‘linux x86-16.phx2.fedoraproject.org 2.6.32-44.el6.x86_64 #1
smp wed jul 7 15:47:50 edt 2010 i686 i686 i386 gnulinux ’
config_args=’-des -Doptimize=-O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
–param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom
-fasynchronous-unwind-tables -Dccdlflags=-Wl,–enable-new-dtags
-DDEBUGGING=-g -Dversion=5.10.1 -Dmyhostname=localhost
-Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dprefix=/usr
-Dvendorprefix=/usr -Dsiteprefix=/usr/local
-Dsitelib=/usr/local/share/perl5 -Dsitearch=/usr/local/lib/perl5
-Dprivlib=/usr/share/perl5 -Dvendorlib=/usr/share/perl5
-Darchlib=/usr/lib/perl5 -Dvendorarch=/usr/lib/perl5
-Dinc_version_list=5.10.0 -Darchname=i386-linux-thread-multi
-Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid
-Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog
-Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005
-Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto
-Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto
-Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto
-Dscriptdir=/usr/bin
-Dotherlibdirs=/usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi:/usr/local/lib/perl5/site_perl/5.10.0:/usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi:/usr/lib/perl5/vendor_perl:/usr/lib/perl5/site_perl’
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define,
usesocks=undef
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc=‘gcc’, ccflags =‘-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing
-pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64’,
optimize=‘-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom
-fasynchronous-unwind-tables’,
cppflags=‘-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include’
ccversion=‘’, gccversion=‘4.4.4 20100630 (Red Hat 4.4.4-10)’,
gccosandvers=‘’
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype=‘long’, ivsize=4, nvtype=‘double’, nvsize=8, Off_t=‘off_t’,
lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld=‘gcc’, ldflags =’ -fstack-protector -L/usr/local/lib’
libpth=/usr/local/lib /lib /usr/lib
libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread
-lc
perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.12.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version=‘2.12’
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,
ccdlflags=‘-Wl,–enable-new-dtags -Wl,-rpath,/usr/lib/perl5/CORE’
cccdlflags=‘-fPIC’, lddlflags=‘-shared -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
–param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom
-fasynchronous-unwind-tables -L/usr/local/lib’

Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
USE_ITHREADS
USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API
Built under linux
Compiled at Sep 7 2010 12:15:21
@INC:
/usr/local/lib/perl5
/usr/local/share/perl5
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl5
/usr/share/perl5
/usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi
/usr/local/lib/perl5/site_perl/5.10.0
/usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/site_perl
.
Output of perl -MExtUtils::Embed -e ldopts:

-Wl,–enable-new-dtags -Wl,-rpath,/usr/lib/perl5/CORE -fstack-protector
-L/usr/local/lib -L/usr/lib/perl5/CORE -lperl -lresolv -lnsl -ldl -lm
-lcrypt -lutil -lpthread -lc

Output of nginx -V:

nginx version: nginx/0.8.52
built by gcc 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC)
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx
–prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx
–conf-path=/etc/nginx/nginx.conf
–error-log-path=/var/log/nginx/error.log
–http-log-path=/var/log/nginx/access.log
–http-client-body-temp-path=/var/lib/nginx/tmp/client_body
–http-proxy-temp-path=/var/lib/nginx/tmp/proxy
–http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi
–pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx
–with-http_ssl_module --with-http_realip_module
–with-http_addition_module --with-http_sub_module
–with-http_dav_module --with-http_flv_module
–with-http_gzip_static_module --with-http_stub_status_module
–with-http_perl_module --with-mail --with-mail_ssl_module
–with-cc-opt=‘-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom
-fasynchronous-unwind-tables’
–add-module=/root/rpmbuild/BUILD/nginx-0.8.52/nginx-upstream-fair

I’ll try recompiling with the --with-ld-opts=“-Wl,-E” in a couple of
minutes.


omega13a
Owner and Founder of UFT
http://www.fedtrek.com

adding --with-ld-opts=“-Wl,-E” cave me the following error:

./configure: error: invalid option “–with-ld-opts=-Wl,-E”


omega13a
Owner and Founder of UFT
http://www.fedtrek.com

Its working now. Thanks!


omega13a
Owner and Founder of UFT
http://www.fedtrek.com

Hello!

On Tue, Sep 28, 2010 at 11:13:23AM -0700, Brandon A. wrote:

adding --with-ld-opts="-Wl,-E" cave me the following error:

./configure: error: invalid option “–with-ld-opts=-Wl,-E”

Sorry, it should be --with-ld-opt=… (without ‘s’).

Maxim D.