It works for me on linux but I think your compiler may be choking on an extended line in RawIP.xs:
sv_catpvn(ip_opts,SvPV(*av_fetch(opts,i+2,0),l),
SvCUR(*av_fetch(opts,i+2,0)));
break;
default:
} /* reported error line 444 */
sv_catpvn(ip_opts,SvPV(*av_fetch(opts,i+2,0),l),
SvCUR(*av_fetch(opts,i+2,0)));
break;
default:
} /* reported error line 543 */
Basically the code before the first two errors (which will be fatal unlike the warnings) is just a loop with a switch statement in it. I have a feeling that your compiler does not like the sv_catpvn(...) being on two lines without a \ line continuation. Try changing it to:
sv_catpvn(ip_opts,SvPV(*av_fetch(opts,i+2,0),l),SvCUR(*av_fetch(opts,i
++2,0)));
# or
sv_catpvn(ip_opts,SvPV(*av_fetch(opts,i+2,0),l), \
SvCUR(*av_fetch(opts,i+2,0)));