シンボリックリンクを O_NOFOLLOW でopenしたとき、ELOOPが返る事を期待してるようだが、FreeBSDではEMLINKが返るのだ。
なので、そう書き換えて再インストールしたらシンボリックリンクもちゃんと読めるようになった。
CVSの最新では直ってるのかね。
追記:
どこをどう変えたのか具体的な手順を。
netatalk-2.1beta2/libatalk/adouble/ad_open.c の 1295 行目で、元のコードはELOOPでのみ判定してるところを以下のようにEMLINKでもifの条件に落ちるようにしてやる。
if (ad->ad_data_fork.adf_fd == -1 && (errno == ELOOP || errno == EMLINK)) {
一行書き換えるだけ。
追記:4月29日
netatalk2.1がリリースされましたね。βが取れてます。
Xcodeのプロジェクト置き場のフォルダとしてnetatalkの共有フォルダを指定してみましたが、問題なくビルドと実行ができています。
すばらしい!