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

Maxim Dounin mdounin на mdounin.ru
Пн Июл 4 14:13:27 UTC 2016


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