Programming + Jiro Noodles = takeshik

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 のソースパッケージからかっ攫ってくる。
詳細。
  1. http://packages.debian.org/ja/source/sid/wide-dhcpv6
  2. wide-dhcpv6_20080615.orig.tar.gz と wide-dhcpv6_20080615-7.diff.gz をダウンロード
  3. gunzip (略).diff.gz。tar zxvf (略).tar.gz。
  4. patch -p0 < (略).diff
  5. cd wide-dhcpv6-(略)/debian/patches
  6. patch -d ../../ で順番に当ててゆく (自分は dont-strip-binaries と dhcp6c-profiles を当てなかった)
  7. ./configure && make && make install

こんな感じ。

今後の目標: ebuild 書いて公開。

コメント

コメントを受け付けておりません。