I was just compiling the Curses perl module on my mac and found I needed to change two files to get it to work. First, copy hints/c-freebsd.ncurses.h to c-config.h, and add the following lines to the end of c-config.h:
#undef instr
#undef bool
Second, apply this patch to Curses.c by using the patch command, or just manually editing Perl_sv_isa to sv_isa as shown below.
*** Curses.c Wed Jul 25 10:10:38 2001
--- Curses.fixed.c Wed Sep 8 11:01:53 2004
***************
*** 273,277 ****
int argnum;
{
! if (Perl_sv_isa(sv, "Curses::Window")) {
WINDOW *ret = (WINDOW *)SvIV((SV*)SvRV(sv));
return ret;
--- 273,277 ----
int argnum;
{
! if (sv_isa(sv, "Curses::Window")) {
WINDOW *ret = (WINDOW *)SvIV((SV*)SvRV(sv));
return ret;
And that's it. Run perl Makefile.PL, make, and make install as usual.
Mac OS X Hints
http://hints.macworld.com/article.php?story=20040908141831427