NetBSD/macppc (8.0) で pkgsrc/www/apache24 が作れない問題

/.../libapr-1.so: undefined reference to `__sync_fetch_and_add_8'
/.../libapr-1.so: undefined reference to `__sync_val_compare_and_swap_8'
/.../libapr-1.so: undefined reference to `__sync_lock_test_and_set_8'
/.../libapr-1.so: undefined reference to `__sync_fetch_and_sub_8'
/.../libapr-1.so: undefined reference to `__sync_sub_and_fetch_8'

……というエラーが出る。

apr ライブラリの atomic/builtins64.c の中の __sync_fetch_and_add (64bit) などが gcc の内部で __sync_fetch_and_add_8 などに置き換えられるものの実体がない(?)らしい。

gcc の問題のように思えるけど src/external/gpl3/gcc/dist/gcc/config/ の下を眺めているだけで具合悪くなりそうなので撤退。

workaround としては、apr ライブラリをこんな感じで configure を騙して作り直す(というのを思いついた)。

$ cd pkgsrc/devel/apr
$ ap_cv_atomic_builtins=no make update

これで www/apache24 もコンパイルが通るようになって一応動いたけど、「こう修正すべき」とは提案しにくいので報告するかどうかは後回し。

→どうでもいい詳細(続き)