Re: выдаёт ошибку при сборки nginx c --with-http perl module

sashainvalid nginx-forum на forum.nginx.org
Пн Июл 4 15:47:21 UTC 2016


Maxim Dounin Wrote:
-------------------------------------------------------
> Hello!
> 
> On Mon, Jul 04, 2016 at 08:50:23AM -0400, sashainvalid wrote:
> 
> > Maxim Dounin Wrote:
> > -------------------------------------------------------
> > > Hello!
> > > 
> > > On Sat, Jul 02, 2016 at 09:04:45AM -0400, sashainvalid wrote:
> > > 
> > > > cc1: warnings being treated as errors
> > > > src/http/modules/perl/ngx_http_perl_module.c: In function
> > > > ‘ngx_http_perl_preconfiguration’:
> > > > src/http/modules/perl/ngx_http_perl_module.c:847:
> предупреждение:
> > > unused
> > > > parameter ‘cf’
> > > > src/http/modules/perl/ngx_http_perl_module.c: In function
> > > > ‘ngx_http_perl_merge_loc_conf’:
> > > > src/http/modules/perl/ngx_http_perl_module.c:894:
> предупреждение:
> > > unused
> > > > parameter ‘cf’
> > > > src/http/modules/perl/ngx_http_perl_module.c: In function
> > > ‘ngx_http_perl’:
> > > > src/http/modules/perl/ngx_http_perl_module.c:909:
> предупреждение:
> > > unused
> > > > parameter ‘cmd’
> > > > src/http/modules/perl/ngx_http_perl_module.c: In function
> > > > ‘ngx_http_perl_set’:
> > > > src/http/modules/perl/ngx_http_perl_module.c:962:
> предупреждение:
> > > unused
> > > > parameter ‘cmd’
> > > > src/http/modules/perl/ngx_http_perl_module.c:962:
> предупреждение:
> > > unused
> > > > parameter ‘conf’
> > > > src/http/modules/perl/ngx_http_perl_module.c: In function
> > > > ‘ngx_http_perl_exit’:
> > > > src/http/modules/perl/ngx_http_perl_module.c:1053:
> предупреждение:
> > > unused
> > > > parameter ‘cycle’
> > > 
> > > Проверьте параметры ./configure и CFLAGS, у вас мусор в опциях 
> > > сборки.
> > 
> > параметры при сборке ./configure 
> > 
> > ./configure --with-http_perl_module --without-http_memcached_module
> > --without-http_fastcgi_module --without-http_geo_module
> > --without-http_map_module --without-http_scgi_module
> > --without-http_split_clients_module --without-http_ssi_module
> > --without-http_userid_module --without-http_uwsgi_module
> --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
> > --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi
> > --http-scgi-temp-path=/var/lib/nginx/tmp/scgi
> --pid-path=/var/run/nginx.pid
> > --lock-path=/var/lock/subsys/nginx --with-http_realip_module
> > --with-http_addition_module --with-http_gzip_static_module
> > --with-http_degradation_module --with-http_stub_status_module
> > --without-http_autoindex_module  --with-http_gunzip_module
> --with-file-aio
> > --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
> -fexceptions
> > -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
> > --with-ld-opt=-Wl,-E
> > 
> > make CFLAGS="$CFLAGS -g"
> 
> Из --with-cc-opt нужно как минимум убрать -Wall.  Т.к. nginx 
> включает все warning'и кроме отдельных маловажных сам, и при этом 
> ещё и добавляет -Werror - он него сплошные неприятности.
> 
> Пытаться переопределить CFLAGS при запуске make - не нужно.  Если 
> вдруг переменная CFLAGS установлена в переменных окружения - её 
> следует очистить до запуска configure (но судя по всему - она не 
> установлена).
> 
> Отмечу также, что --with-ld-opt=-Wl,-E можно совсем убрать, в 
> nginx 1.9.11+ он точно не нужен.
> 
> -- 
> Maxim Dounin
> http://nginx.org/
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


Спасибо вам большое за помощь, параметры для with-cc-opt были взяты из rpm
пакета

Кто-то знает, проблемы не решены с perl в сборке 4:5.8.8-43.el5_11 для
centos ?  

Цитата о проблемах с perl: “
Для того чтобы во время переконфигурации Perl перекомпилировал изменённые
модули, его нужно собрать с параметрами -Dusemultiplicity=yes или
-Dusethreads=yes. Кроме того, чтобы во время работы Perl терял меньше
памяти, его нужно собрать с параметром -Dusemymalloc=no. Узнать значения
этих параметров у уже собранного Perl можно так (в примере приведены
желаемые значения параметров): 
$ perl -V:usemultiplicity -V:usemymalloc
usemultiplicity='define';
usemymalloc='n';
Необходимо учитывать, что после пересборки Perl с новыми параметрами
-Dusemultiplicity=yes или -Dusethreads=yes придётся также пересобрать и все
бинарные модули Perl, так как они просто перестанут работать с новым Perl.
“

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,268027,268044#msg-268044



Подробная информация о списке рассылки nginx-ru