Re: а проект nginx-ctpp похоже уже забросили ?
Валентин Бартенев
ne на vbart.ru
Ср Май 16 23:28:11 UTC 2012
On Thursday 17 May 2012 02:47:43 Алексей Сундуков wrote:
> 17 мая 2012 г., 1:21 пользователь Валентин Бартенев <ne на vbart.ru> написал:
> > Не сложно. IMHO. Парсер, генератор байткода и достаточно простая VM - это
> > далеко не "rocket science". Конкретно код ctpp я глубоко не копал, а с
> > виду вполне добротно выглядит.
>
> Уточню тогда видимо последний момент. ngx_ctpp последняя версия 0.5,
> ctpp стабильная ветка 2.7 (у меня на 64-ом debian 2.7.5 крутиться).
> Если не обновлять ctpp, но обновлять nginx до актуальных версий, то
> ngx_ctpp нужно модернизировать только под изменения в nginx, так? Или
> есть какие-то подводные камни?
[...]
Последняя версия ngx_ctpp лежит в транке, она более стабильная и функциональная,
чем 0.5.
Модернизировать тоже там нечего, ибо никаких изменений в nginx, которые могли бы
нарушить работу модуля - просто не было. Пара человек лишь пожаловалась на
сборку, причем один обнаружил, что проблема имеет место быть только на более
старых версиях gcc (на 4.6 у него проблема исчезла). То, что я видел в тикете,
если память мне не изменяет, это warning похоже из-за того, что pcre в
заголовочных файлах nginx и ctpp каким-то образом конфликтует (сам модуль
вообще pcre не использует). nginx собирается по умолчанию с флагом трактующим
предупреждения при сборки - как ошибки.
Проблема, подозреваю, появилась после того, как мы реализовали в nginx поддержку
pcre jit и pcre_extra, а может быть что-то в заголовочных файлах самого ctpp
изменилось.
У меня ctpp 2.7.6 вообще не собирается:
vbart на vbart-laptop ~/Development/Nginx/ngx-ctpp2/ctpp2-2.7.6 $ make install
...
Linking CXX executable ctpp2json
[ 98%] Built target ctpp2json
[ 98%] Building CXX object CMakeFiles/ctpp2vm.dir/tests/CTPP2Emulator.cpp.o
/home/vbart/Development/Nginx/ngx-ctpp2/ctpp2-2.7.6/tests/CTPP2Emulator.cpp: In
function 'int main(int, char**)':
/home/vbart/Development/Nginx/ngx-
ctpp2/ctpp2-2.7.6/tests/CTPP2Emulator.cpp:75:2: error: 'auto_ptr' is not a
member of 'std'
/home/vbart/Development/Nginx/ngx-
ctpp2/ctpp2-2.7.6/tests/CTPP2Emulator.cpp:75:35: error: expected primary-
expression before '>' token
/home/vbart/Development/Nginx/ngx-
ctpp2/ctpp2-2.7.6/tests/CTPP2Emulator.cpp:75:85: error: 'pOutputCollector' was
not declared in this scope
make[2]: *** [CMakeFiles/ctpp2vm.dir/tests/CTPP2Emulator.cpp.o] Error 1
make[1]: *** [CMakeFiles/ctpp2vm.dir/all] Error 2
make: *** [all] Error 2
Но раз тут столько желающих использовать ngx_ctpp модуль собралось, я завтра
вечером попробую пофиксить и ctpp, и сам модуль, если действительно в нем есть
какая-то проблема.
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru