文書の表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 ====== FreeBSD 12のApache 2.4.39がunion semun ickふんだららでビルドエラー ====== FreeBSD 12.0-RELEASEへの更新中、www/apache24のports更新で以下のようなビルドエラーが起きた。 <code> unixd.c:245:25: error: variable has incomplete type 'union semun' union semun ick; ^ unixd.c:245:19: note: forward declaration of 'union semun' union semun ick; ^ 1 error generated. *** [unixd.lo] Error code 1 </code> ''union semun''が定義されとらんとな…。 ググってみたら既に[[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234359|バグチケ]]が上がっていた。メンテナ曰く、当該箇所を削除するか全部のトップレベルのportsをリビルドせよとの事だが、後者は面倒でござる。というか、"全てのトップレベル"の範囲がわからんかったので、ソース修正でどうにかする。 ''/usr/ports/www/apache24/work/httpd-2.4.39/os/unix/unixd.c''の240行目付近、''#if !APR_HAVE_UNION_SEMUN''によって''union semun''の定義がなくなっているようなので、''#if''と''#endif''をコメントしてやる。 <code c> apr_os_proc_mutex_t ospmutex; //#if !APR_HAVE_UNION_SEMUN ///★コメントアウト! union semun { long val; struct semid_ds *buf; unsigned short *array; }; //#endif ///★コメントアウト! union semun ick; struct semid_ds buf = { { 0 } }; </code> あとは''/usr/ports/www/apache24''の下で''make install''すればビルドは通る。……が、起動しようとするとSegmentation faultで落ちるぅorz。 見た感じdevel/apr1関係のコードのような気がするので、''portmaster apr --force-config''でaprをリビルド。その後、改めて''portmaster apache24 --force-config''したら無事ビルドも通って問題なく起動した。 blog/2019/2019-05-31.txt 最終更新: 2019-05-31 11:39by Decomo