尝试使用Wurfl构建Nginx时出现构建错误。我在Centos7 VM中运行,将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提供的通用构建脚本。
有人有任何想法吗?
答案 0 :(得分:0)
因此,WURFL模块有几个组件,看起来问题可能是不同组件的不匹配。我会确保你的libwurfl和wurfl infuze版本号是相同的(最新版本是1.8.4)。查看documentation的第一部分,了解有关如何安装libwurfl的更多信息。
接下来,我会确保您的nginx.conf
文件适合您正在使用的wurfl版本。 wurfl的最后几个版本发生了一些重大变化,可能会影响它的表现。您可以查看documentation以获取最新版本wurfl的示例配置文件。如果您使用的是旧版本,则可以查看该版本随附的自述文件。
如果修复这些内容并不起作用,请告诉我您正在使用的infuze版本号,以便我可以尝试复制您的问题。