2

multilib CLFS マシンで CMake を使用して 32 ビット MySQL 5.6.6-m9 をコンパイルしています。64 ビットは問題なくコンパイルできますが、32 ビットは失敗します。

/sources/mysql-5.6.6-m9/mysys/lf_alloc-pin.c: In function 'lf_pinbox_init':
/sources/mysql-5.6.6-m9/mysys/lf_alloc-pin.c:118:3: error: size of array 'compile_time_assert' is negative

lf_alloc-pin.c の 118 行目は次のとおりです。

compile_time_assert(sizeof(LF_PINS) == 64);

これが失敗する原因は、CXX および CPP フラグに -m32 を追加することです。-m32 を削除すると、正常にコンパイルされますが、64 ビット ライブラリがコンパイルされます。32 ビット ライブラリが必要です。

これを修正する方法はありますか?C ファイルから compile_time_assert 行を削除するのは悪いことですか?

4

0 に答える 0