Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi, folks. I'm trying to build the Curses-1.06 module on a Solaris 7 box, and have run into a jam.

This is a development box that has ncurses-5.2 installed in /usr/local, but I would prefer not to link against that so that Perl scripts deployed on production machines won't require that I install ncurses there too...

So I've figured out some moderately gross workarounds for that part of it, actually. Where I've hit the wall is that the Sun curses.h defines a number of things as macros, and that seems to be confusing the "test.syms" script which builds CursesDef.h - it returns "NOT found" for every function that is, in fact, a macro. Ugh.

In the Sun curses.h, allegedly you can #define NOMACROS but, after a number of gyrations, I haven't managed to get things working. Oh, it compiles just fine, but when running the demo scripts, they complain that initscr() isn't available, and gee, that one might be kinda useful, I think.

The question is: has anyone figured out how to get Curses to build on a Solaris 7 box using the native -lcurses?

I have some obvious workarounds: build it against ncurses, and simply push my ncurses package out to all the rest of my hosts and stop thinkin' so hard.

Or, dig into the gen/make.* stuff and probably injure my tired and feeble brane.

Or, just whine at the module author and see if he has some ideas about making it work, then wait for a 1.07 to come out. :-)

Ooh, or maybe go in after the "perl Makefile.PL" step and patch up CursesDef.h by hand - ugh... - before invoking make? Hmmm... it'd ugly up my RPM spec, but maybe it's worth a try.

Anyway, I still would love to know if anyone else has solved this...

Thanks, all!