# New Ticket Created by Andy Dougherty # Please include the string: [perl #31765] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=31765 >
With the recent root Makefile patch to build stuff in runtime/parrot/library, I'm now getting the following failure (split to avoid long lines) ./parrot -o runtime/parrot/library/ncurses.pbc \ runtime/parrot/library/ncurses.imc Couldn't load 'runtime/parrot/libncurses': \ ld.so.1: ./parrot: fatal: runtime/parrot/libncurses: \ open failed: No such file or directory The biggest problem with the message is that it never tells you exactly *which* file was not found. In this case, the problem turns out to be the statement in runtime/parrot/library/ncurses.imc: loadlib $P1, 'libncurses' which *assumes* that my 'curses' library is called 'libncurses'. It's not. On Solaris, for example (and probably on most SVR4-related systems), it's simply 'libcurses'. Where and how to fix this is a bit of a problem. Obviously, it's a Configure.pl issue to figure out which library to use. But beyond that, it's unclear to me exactly where to put that new information and what to do with it. In the runtime/parrot/library/ directory, the string 'libncurses' appears in three different files: ncurses.declarations:libncurses.so ncurses.imc:loadlib $P1, 'libncurses' ncurses.pasm:loadlib P1, 'libncurses' Changing it in one has no obvious affect on the others. I can't find any documentation about the .declarations file at all, nor how (or whether) the .imc and/or .pasm files are generated from the .declarations file. Are all of them needed? If so, then the .declarations file also needs to be changed to have a more general suffix instead of just .so. Or should we just skip it for now as we skip SDL and postgres? In any case, a better error message would sure help tracking down things like this. -- Andy Dougherty [EMAIL PROTECTED]