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