OCN IPv6 サービスを利用するに当たって、非固定 prefix の場合だと上から RA でアドレスが降ってくるのだが、固定 prefix だと DHCPv6 で貰わなければならない。
で。
Gentoo のリポジトリには Linux DHCPv6 と Dibbler DHCPv6 しかない。で、これらはどうもうまく動いてくれない。WIDE-DHCPv6 でないと動かないという話も聞く。
しかし、バージョン 20080615 をインストールしようとすると make で
In file included from dhcp6c.c:73: ./common.h:158: error: conflicting types for 'dprintf'/usr/include/stdio.h:397: note: previous declaration of 'dprintf' was heremake: *** [dhcp6c.o] Error 1 In file included from dhcp6c.c:73: ./common.h:158: error: conflicting types for 'dprintf' /usr/include/stdio.h:397: note: previous declaration of 'dprintf' was here make: *** [dhcp6c.o] Error 1
と怒られて死亡。原因はどうやら glibc の version mismatch だそうで。どうにもならない状況だったがついに解決。以下解決までの軌跡。ちなみに自分の環境は glibc-2.11-r1。
一言でまとめると: Debian のソースパッケージからかっ攫ってくる。
詳細。
- http://packages.debian.org/ja/source/sid/wide-dhcpv6 へ
- wide-dhcpv6_20080615.orig.tar.gz と wide-dhcpv6_20080615-7.diff.gz をダウンロード
- gunzip (略).diff.gz。tar zxvf (略).tar.gz。
- patch -p0 < (略).diff
- cd wide-dhcpv6-(略)/debian/patches
- patch -d ../../ で順番に当ててゆく (自分は dont-strip-binaries と dhcp6c-profiles を当てなかった)
- ./configure && make && make install
こんな感じ。
今後の目標: ebuild 書いて公開。