Re: Math::Pari

"John E. Malmberg" <[email protected]>
Newsgroups gmane.comp.lang.perl.ports.vms
Message-ID <[email protected]>
Mark Berryman wrote:
> I need to install the Net::SSH::Perl module in Perl V5.10.0 on VMS V8.3 
> which means I need the Math::Pari module.  Unfortunately, the build code 
> for this module generates extensive Unix syntax and I don't know enough 
> about the build process within Perl to fix it.  This is probably the 
> least portable perl module I have ever come across.

In my experience there are several things to look for:

* catfile being used where catdir is expected.
* catfile and friends converting Unix syntax to VMS syntax.
* Missing routines.
* Filenames that are not legal on ODS-2.

> Is there anyone on this list who would be willing to help me get a 
> working version of this module on VMS?

I will not be able to do anything but try to answer questions for the 
next two weeks or so.

If you can run Perl on a DECTerm, you can use a special feature of the 
Perl debugger that is available with 5.10.0 on VMS and will be available 
again on Unix with a later version or maintenance releases on 
Unix/Cygwin.  (When I added the feature to Perl on VMS, I did not 
realize it was broken on Unix).

$ define TERM "xterm" !case is important
$ define PERLDB_PIDS XXX !If you abort a debug run, redo this.
$ define DISPLAY "Yourhost:0.0" ! Contents are currently ignored.

Then when you use the -d flag when launching perl, a new DECTerm will be 
created which you can use with the I/O separate from program you are 
debugging.

And then in general each time that the debugged program launches a new 
instance of perl, a new DECTerm window will show up so that you can 
debug it separately.

This is important because a lot of times a perl script being debugged 
will redirect I/O so you can not see things in the debugger, or the 
debugger prompt will overwrite what you want to see in the program.

If you use the "spawn process" option in the debugger, the spawned 
process does I/O in the program window, not the debug window.

Your other option is to use a current build of blead-perl which may have 
its own quirks, and set the logical names in the VMS specific pod files 
for Unix compatibility.  You may find that the existing build procedure 
will just work.  I meant to put that stuff in the 5.10.0 release, but it 
does not work quite right and needs support from the perl library 
modules.  That support (with a few minor exceptions) is now in blead-perl.

-John
[email protected]
Personal Opinion Only
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.