Я получаю ошибки сборки при попытке собрать Nginx с помощью Wurfl. Я работаю на виртуальной машине Centos7, объединение nginx с другими модулями и указание других флагов, кажется, не вызывает у меня никаких проблем. Однако, когда я пытаюсь связать с модулем wurfl, это не удается. Это дает такие ошибки, как:
-o objs/addon/src/ngx_http_wurfl_module.o \
../src/ngx_http_wurfl_module.c
../src/ngx_http_wurfl_module.c:63:5: error: unknown type name ‘wurfl_useragent_priority’
wurfl_useragent_priority useragent_priority;
^
../src/ngx_http_wurfl_module.c:86:15: error: ‘WURFL_UPDATER_FREQ_DAILY’ undeclared here (not in a function)
{"DAILY", WURFL_UPDATER_FREQ_DAILY},
^
../src/ngx_http_wurfl_module.c:86:5: error: missing initializer for field ‘value’ of ‘nginx_wurfl_updater_frequency_t {aka const struct <anonymous>}’ [-Werror=missing-field-initializers]
{"DAILY", WURFL_UPDATER_FREQ_DAILY},
^
../src/ngx_http_wurfl_module.c:82:15: note: ‘value’ declared here
const int value;
^
../src/ngx_http_wurfl_module.c:87:16: error: ‘WURFL_UPDATER_FREQ_WEEKLY’ undeclared here (not in a function)
{"WEEKLY", WURFL_UPDATER_FREQ_WEEKLY},
^
../src/ngx_http_wurfl_module.c:87:5: error: missing initializer for field ‘value’ of ‘nginx_wurfl_updater_frequency_t {aka const struct <anonymous>}’ [-Werror=missing-field-initializers]
{"WEEKLY", WURFL_UPDATER_FREQ_WEEKLY},
^
../src/ngx_http_wurfl_module.c:82:15: note: ‘value’ declared here
const int value;
^
In file included from src/core/ngx_core.h:58:0,
from ../src/ngx_http_wurfl_module.c:22:
../src/ngx_http_wurfl_module.c: In function ‘ngx_http_wurfl_init_main_conf’:
../src/ngx_http_wurfl_module.c:694:93: error: implicit declaration of function ‘wurfl_get_api_version’ [-Werror=implicit-function-declaration]
ngx_log_error(NGX_LOG_NOTICE, cf->log, 0, "WURFL: Engine created - API version %s", wurfl_get_api_version()
Я пытаюсь собрать с последней стабильной версией nginx, со вчерашним вытащенным wurfl и gcc 5.3.1. Я более или менее использую общий сценарий сборки, предоставленный WURFL.
У кого-нибудь есть мысли?
Таким образом, в модуле WURFL есть пара компонентов, и похоже, что проблема может быть в несовпадении различных компонентов. Я хотел бы убедиться, что ваши номера версий libwurfl и wurfl infuze совпадают (последняя версия 1.8.4). Проверьте первый раздел документация для получения дополнительной информации о том, как установить libwurfl.
Далее я бы убедился, что ваш nginx.conf
файл подходит для версии wurfl, которую вы используете. В последних нескольких версиях wurfl произошли большие изменения, которые могут повлиять на его работу. Вы можете проверить документация для примера файла конфигурации для последней версии wurfl. Если вы используете более старую версию, вы можете проверить файл readme, поставляемый с версией.
Если это не поможет, дайте мне знать, с каким номером версии infuze вы работаете, чтобы я мог попытаться повторить вашу проблему.
Других решений пока нет …