https://bugs.centos.org/view.php?id=14828

до RHEL-овских дистрибутивов доступа нет, у CentOS сейчас 4000+
неназначенных багов.
шансы на то, что RedHat бросится это чинить, думаю, дай бог, чтобы к 7.6
поправили


пересоберете пакет с поддержкой опции ?

15 мая 2018 г., 16:18 пользователь Konstantin Pavlov <thr...@nginx.com>
написал:

> Здравствуйте, Илья,
>
> 14.05.2018 13:30, Илья Шипицин wrot> 14 мая 2018 г., 15:04 пользователь
> Ruslan Ermilov <r...@nginx.com
> > <mailto:r...@nginx.com>> написал:
> >
> >     On Mon, May 14, 2018 at 12:14:28PM +0500, Илья Шипицин wrote:
> >     > на днях зарелизился centos-7.5, в нем, к сожалению, все по прежнему
> >     >
> >     > завел тикет
> >     >
> >     > https://trac.nginx.org/nginx/ticket/1553
> >     <https://trac.nginx.org/nginx/ticket/1553>
> >     >
> >     > посмотрите ?
> >     >
> >     > 29 апреля 2018 г., 3:40 пользователь Валентин Бартенев <
> vb...@nginx.com <mailto:vb...@nginx.com>>
> >     > написал:
> >     >
> >     > > On Saturday, 28 April 2018 15:03:49 MSK Илья Шипицин wrote:
> >     > > > привет!
> >     > > >
> >     > > > поддержка IP_BIND_ADDRESS_NO_PORT официально началась в ядре
> 4.2, но ...
> >     > > > ее портировали в 3.10 на CentOS-7.4
> >     > > >
> >     > > > однако, портировали не очень качественно. константа определена
> не в том
> >     > > > файле, в котором должна (и в котором ищет nginx)
> >     > > >
> >     > > > [root@xxx ~]# grep -r IP_BIND_ADDRESS_NO_PORT /usr/include/
> >     > > > /usr/include/linux/in.h:#define IP_BIND_ADDRESS_NO_PORT    24
> >     > > > [root@xxx ~]#
> >     > > >
> >     > > >
> >     > > > т.е. если пакет собирать, как он собирается обычно, то
> поддержка
> >     > > > IP_BIND_ADDRESS_NO_PORT не включается (хотя могла бы).
> >     > > >
> >     > > > скажите, вы официальные пакеты собираете каким образом ?
> кажется, имеет
> >     > > > смысл поправить эту процедуру и дать эту крутую фичу
> пользователям
> >     > > > CentOS-7.4
> >     > > >
> >     > >
> >     > > Дело же не в ядре (не только в нем).  На линуксах интерфейс
> обеспечивает
> >     > > glibc и именно туда смотрит nginx.
> >
> >     <linux/in.h> - это заголовочный файл ядра.  <netinet/in.h> - это
> >     заголовочный файл glibc.  Приложения используют <netinet/in.h>.
> >     В норме макрос IP_BIND_ADDRESS_NO_PORT есть в обоих файлах, что
> >     означает, что поддержка есть и в ядре, и в glibc.  Утверждение о
> >     том, что "константа определена не в том файле", ошибочное.
> >
> >     Как Вам уже пытался ранее объяснять Валентин, проблема заключается
> >     в том, что в установленной версии glibc нет поддержки этого макроса.
> >
> >     Для себя Вы можете проблему решить так:
> >
> >             configure --with-cc-opt=-DIP_BIND_ADDRESS_NO_PORT=24
> >
> >
> >
> > для себя я, конечно, решу.
> >
> > первоначально мы попали в неочевидную ловушку
> > 1) читаем про IP_BIND_ADDRESS_NO_PORT
> > 2) читаем, что начиная с centos-7.4 должно работать
> > 3) ставим официальный пакет
> > 4) не работает (но чтобы это понять, пришлось залезть в отладочный лог и
> > попрыгать с strace)
> >
> > в официальном пакете поправите ?
>
> Нам усиленно кажется, что исправлять это надо в RHEL/CentOS.  Повесьте
> им багу о несоответствии интерфейсов ядра и glibc, это наилучший выход
> из этой ситуации.
>
> --
> Konstantin Pavlov
> https://www.nginx.com/
>
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить