FreeBSD6.3で使っているマシンを7.0にアップグレードしようと思って、ソースを取ってきた。

コンパイルして放っといたらエラーで止まっていた。

# make buildworld
(略)
/usr/src/sbin/ipf/ipf/../../../contrib/ipfilter/tools/ipf_y.y:1450: error: 'YYSTYPE' has no member named 'num'
/usr/src/sbin/ipf/ipf/../../../contrib/ipfilter/tools/ipf_y.y:1455: error: 'YYSTYPE' has no member named 'num'
/usr/src/sbin/ipf/ipf/../../../contrib/ipfilter/tools/ipf_y.y:1459: error: 'YYSTYPE' has no member named 'ipa'
/usr/src/sbin/ipf/ipf/../../../contrib/ipfilter/tools/ipf_y.y:1459: error: 'YYSTYPE' has no member named 'num'
*** Error code 1

Stop in /usr/obj/usr/src/rescue/rescue.
*** Error code 1

Stop in /usr/src/rescue/rescue.
*** Error code 1

Stop in /usr/src/rescue.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
#

拡張子が ".y"ってファイルがいったい何なのかすら分かんないのでとりあえず今のところ諦めることにした。

/usr/src/sbin/ipf/ipf/../../../contrib/ipfilter/tools/ipf_y.y

1449 }
1450 $$.s_addr |= htonl($3 << 8);
1451 }
1452 ;
1453
1454 ipv4: ipv4_24 '.' YY_NUMBER
1455 { if ($3 > 255) {
1456 yyerror("Invalid octet string for IP address");
1457 return 0;
1458 }
1459 $$.s_addr |= htonl($3);
1460 }

このCのソースにシェルみたいな変数が入ってるのは何だろう。

ソースが更新されたらまたやってみることにする。