Re: Ошибка при сборке под линуксом

Igor Sysoev is at rambler-co.ru
Thu Jan 6 20:05:51 MSK 2005


On Thu, 6 Jan 2005, Kpoxa KpoIIIkin wrote:

> Igor Sysoev пишет:
>
> >On Thu, 6 Jan 2005, Igor Sysoev wrote:
> >
> >>On Thu, 6 Jan 2005, Kpoxa KpoIIIkin wrote:
> >>
> >>>попробовал включить метод select и задать FD_SETSIZE=20480, заругалось и
> >>>отказалось собираться
> >>>
> >>>make -f objs/Makefile
> >>>make[1]: Entering directory `/usr/src/nginx/nginx-0.1.13'
> >>>gcc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused -Werror -g -D
> >>>FD_SETSIZE=20480 -I src/core -I src/event -I src/event/modules -I
> >>>src/os/unix -I objs \
> >>>        -o objs/src/core/nginx.o \
> >>>        src/core/nginx.c
> >>>In file included from /usr/include/sys/types.h:215,
> >>>                 from src/os/unix/ngx_linux_config.h:17,
> >>>                 from src/core/ngx_config.h:25,
> >>>                 from src/core/nginx.c:7:
> >>>/usr/include/sys/select.h:77: warning: `FD_SETSIZE' redefined
> >>>*Initialization*:1: warning: this is the location of the previous definition
> >>>make[1]: *** [objs/src/core/nginx.o] Error 1
> >>>make[1]: Leaving directory `/usr/src/nginx/nginx-0.1.13'
> >>>make: *** [build] Error 2
> >>>
> >>>
> >>Линукс, в отличие от FreeBSD и Соляриса, не даёт переопределить
> >>FD_SETSIZE без предупреждения. Почему так сделано - я не знаю, возможно
> >>на FD_SETSIZE завязано что-то в glibc или ядре.
> >>
> >>
> >
> >Вот что-то на эту тему:
> >http://freebsd.rambler.ru/linux/kernel_2001/msg66929.html
> >
> >Не знаю, насколько это соответсвует современному состоянию.

> Когда требовалось скомпилить апач с увеличенным FD_SETSIZE я его просто
> во всех системных инклюдах увеличивал, работало, т.е. компилилось без
> проблем и апач держал большое число открытых файлов.

Тогда можно убрать из CFLAGS в objs/Makefile ключ -Werror.
Но использовать select для больше, чем несколько сотен сокетов не имеет
смысла.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list