2015年1月8日木曜日

FreeBSD 9.1でprint/cups-base (cups-base-1.7.3_3)のコンパイルに失敗する

portupgrade --batch print/cups-baseとすると以下のようなエラーでコンパイル・リンクに失敗します。

/usr/ports/print/cups-client/work/cups-1.7.3/cups/http-support.c:1617: undefined reference to `DNSServiceCreateConnection'

    ! print/cups-base (cups-base-1.7.3_3)    (linker error)
検索エンジンで探してみると、以下のようなWWWページを見つけました。
Bug 195743 - print/cups-base: undefined reference to `avahi_XXX`
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195743
どうもZeroconf supportを有効にする必要があるようです。
コンパイルオプションを確かめると以下のようになっていて、たしかにZeroconf support用のライブラリをリンクしていません。
# cd /usr/ports/print/cups-base
# make showconfig

====> Zeroconf support: you can only select none or one of them
     AVAHI=off: Zeroconf support via Avahi
     MDNSRESPONDER=off: Zeroconf support via mDNSResponder
===> Use 'make config' to modify these settings
#
そこでmake configを実行し、
(*) MDNSRESPONDER  Zeroconf support via mDNSResponder
を有効にし、コンパイルをすると成功しました。
ただ、以前に何かの問題があってZeroconfは無効にしたような気がするので、対症療法な気がします。