FreeBSD & Linux disk AIO support

Лазовский Вадим lvm at rkmail.ru
Wed Aug 26 12:09:03 MSD 2009


Igor Sysoev пишет:
> On Wed, Aug 26, 2009 at 11:26:58AM +0400, Лазовский Вадим wrote:
> 
>> Igor Sysoev пишет:
>>> On Wed, Aug 26, 2009 at 10:39:38AM +0400, Igor Sysoev wrote:
>>>
>>>> On Wed, Aug 26, 2009 at 10:32:27AM +0400, Лазовский Вадим wrote:
>>>>
>>>>> Здравствуйте.
>>>>>
>>>>> Этот патч надо накладывать совместно с предыдущим?
>>>> Нет.
>>>>
>>>>> Если нет, тогда не получается собрать:
>>>>>
>>>>> gcc -c -O -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter 
>>>>> -Wunused-function -Wunused-variable -Wunused-value -Werror -g -O3 
>>>>> -march=native -mtune=native -I src/core -I src/event -I 
>>>>> src/event/modules -I src/os/unix -I objs \
>>>>>                -o objs/src/event/modules/ngx_epoll_module.o \
>>>>>                src/event/modules/ngx_epoll_module.c
>>>>> src/event/modules/ngx_epoll_module.c: In function 'ngx_epoll_init':
>>>>> src/event/modules/ngx_epoll_module.c:224: error: too few arguments to 
>>>>> function 'eventfd'
>>>>> make[1]: *** [objs/src/event/modules/ngx_epoll_module.o] Error 1
>>>>> make[1]: Leaving directory `/usr/src/nginx-0.8.10'
>>>>> make: *** [build] Error 2
>>>> Что показывает configure в районе
>>>> checking for eventfd2()
>>>> ?
>>> Новый патч.
>> Не помогло.
>>
>> ./configure \
>>         --prefix=/usr/local/nginx \
>>         --error-log-path=/var/log/nginx/error_log \
>>         --http-log-path=/var/log/nginx/access_log \
>>         --http-client-body-temp-path=/var/nginx/client_body_temp \
>>         --http-fastcgi-temp-path=/var/nginx/fastcgi_temp \
>>         --pid-path=/var/run/nginx.pid \
>>         --user=wwwrun \
>>         --group=www \
>>         --with-http_stub_status_module \
>>         --with-cc-opt="-O3 -march=native -mtune=native" \
>>         --with-http_ssl_module \
>>         --add-module=../nginx_uploadprogress_module \
>>         --add-module=../nginx_upload_module-2.0.9 \
>>         --add-module=../nginx-fancyindex-0.1_beta5 \
>>         --with-file-aio
>>
>> openSUSE 11.0
>> 2.6.25.20-0.4-default #1 SMP 2009-06-01 09:57:12 +0200 x86_64 x86_64 
>> x86_64 GNU/Linux
>>
>> checking for Linux AIO support ... found
>> checking for eventfd2() ... not found
> 
> Для 2.6.25 eventfd2() быть не должно, он появился в 2.6.27.
> С новым патчем тоже не собирается ?
> 
> 

Ни с тем ни с другим.

В objs/autoconf.err:

checking for eventfd2()

objs/autotest.c: In function 'main':
objs/autotest.c:7: error: 'O_NONBLOCK' undeclared (first use in this 
function)
objs/autotest.c:7: error: (Each undeclared identifier is reported only once
objs/autotest.c:7: error: for each function it appears in.)
----------

#include <sys/types.h>
#include <unistd.h>
#include <sys/eventfd.h>

int main() {
     int  n = eventfd(0, O_NONBLOCK);
     return 0;
}

glibc 2.8-14.2





More information about the nginx-ru mailing list