WurflでNginxをビルドしようとするとビルドエラーが発生します。私はCentOS7のVMで実行している、他のモジュールとnginxを組み合わせ、他のフラグを指定することは私にとっては何の問題も引き起こしていないようです。しかし、私がwurflモジュールにバンドルしようとすると失敗します。私は最新の安定nginxの、そして昨日から引っ張っWURFL、とgcc 5.3.1で構築しようとしていますwurfl nginxビルドエラー
-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()
:それは、次のようなエラーが発生します。私は多かれ少なかれ、WURFLが提供する汎用ビルドスクリプトを使用しています。
誰でも意見はありますか?
libwurfl-1.8.4.2-x86_64.rpm および nginx-mod_wurfl-1.8.4.1.tar これらは昨日引き出されました。 私はこの時点で、ビルドスクリプト/ make installを実行して、ソースからnginxを再構築しようとしているので、nginx.confを処理する必要はないと思います。 はい、どんな助けでも大歓迎です!ありがとう。 – Ruwd
あなたが提供したバージョンでwurfl modをインストールしようとしましたが、インストールはうまくいっています。しかし、古いlibwurflバージョン(1.5.0)が使用されたときにエラーは再現可能でした。これはあなたのシステムに古いlibwurflがあり、1.8.4.2の正しい '/ usr/include/wurfl/wurfl.h 'の前に含まれていると信じています。古いwurfl.hを探し、それを取り除くことを試みてください。 –
これはまさに問題でした! :)ありがとうございました。インストールコンソールの出力に戻って、libwurfl〜1.5が新しい〜1.8 libwurflと衝突する方法についての出力があったので、〜1.8はインストールされませんでした。これもまさに問題でしたので、私は yum -y libwurflを削除します。 そしてインストールスクリプトyum -yは "new libwurfl"をインストールし、それはちょうどきれいに構築されました Yay、thxs D. Gu – Ruwd