NginX 0.9.6 Разочаровывающие проблемы компиляции Ubuntu/GCC 4.6.1

Сегодня я работал над настройкой дополнительных клонов VPS и столкнулся со странной и разочаровывающей ошибкой времени компиляции с последней версией разработки nginx (0.9.6).

Я использую Ubuntu 10.04.2 LTS x86_64, однако я обновил GCC до 4.6.1. ./configure работает без ошибок, но при запуске make -j4 появляется следующая ошибка:

gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Wunused-function -Wunused-variable -Wunused-value -Werror -g -I src/core -I src/event -I src /event/modules -I src/os/unix -I objs \ -o objs/src/core/ngx_open_file_cache.o \ src/core/ngx_open_file_cache.c src/core/ngx_resolver.c: в функции 'ngx_resolver_process_ptr': src/ core/ngx_resolver.c:1425:43: ошибка: переменная 'qclass' установлена, но не используется [-Werror=unused-but-set-variable] src/core/ngx_resolver.c:1425:36: ошибка: переменная 'qtype' установлено, но не используется [-Werror=unused-but-set-variable] cc1: все предупреждения рассматриваются как ошибки

make[1]: * [objs/src/core/ngx_resolver.o] Ошибка 1 make[1]: * Ожидание незавершенных заданий.... make[1]: Выход из каталога `/root /nginx-0.9.6' сделать: *** [сборка] Ошибка 2

(Лучше увидеть в pastebin: http://pastebin.com/g0bNS2nY)

Я пытался добавить --with--cc-opt="-W" в параметры ./configure, но безрезультатно. Может ли кто-нибудь пролить свет на эту шоу-стопор?

Заранее большое, большое спасибо!


person Peter Hanneman    schedule 27.03.2011    source источник
comment
Ну да, это релиз-кандидат для gcc-4.6.0. Кстати, 4.6.0 вышла через четыре дня.   -  person Gunther Piez    schedule 28.03.2011


Ответы (2)


Лучший способ сделать это — передать следующее в ./configure

--with-cc-opt=-Wno-error
person Ambika Sukla    schedule 11.04.2012
comment
Это сработало очень хорошо, когда мой компилятор nginx начал выдавать src/core/nginx.c:1118: warning: unused parameter ‘cmd’ ошибки. - person Nick; 11.09.2013

Отредактируйте Makefile, удалите -Werror. Эти опции означают: немедленно выйти из компилятора, если что-то не так. Или запустите команду компиляции, которая пошла не так, вручную, опять же без флага -Werror:

gcc -c -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Wunused-function \
 -Wunused-variable -Wunused-value -g  -Isrc/core -Isrc/event \
 -Isrc/event/modules -Isrc/os/unix -Iobjs \
 -o objs/src/core/ngx_open_file_cache.o src/core/ngx_open_file_cache.c
person Fred Foo    schedule 27.03.2011
comment
Спасибо - для всех, кто столкнулся с этой проблемой, запустите параметры ./configure, затем отредактируйте сгенерированный файл objs/Makefile и удалите переключатель -Werror. Запуск make -j4 после этого работал как сон! - person Peter Hanneman; 27.03.2011
comment
@Peter: действительно ли этот пакет помещает -Werror в настройки своей производственной сборки? - person Fred Foo; 27.03.2011