Welcome to the OS390::Stdio module. In order to build this extension to perl you must get the gzipped tape archive over to OS/390 (ftp or nfs in binary mode). In summary the steps you need to execute are: gunzip OS390-Stdio-0.004.tar.gz pax -f -t < OS390-Stdio-0.004.tar cd OS390-Stdio-0.004 perl Makefile.PL make make test make install If your perl is built to only allow static linking (as is common on OS/390) then be sure to also run: make inst_perl In detail the steps are: Unpack the ASCII source code archive (the gunzip can be done on a non OE machine if necessary): gunzip OS390-Stdio-0.004.tar.gz pax -f -t < OS390-Stdio-0.004.tar then configure and build (see `perldoc ExtUtils::MakeMaker` for more information on building staticially linked perl extensions and other options to pass to perl on the `perl Makefile.PL` step, as well as the section "Build tips" below for more info): cd OS390-Stdio-0.004 perl Makefile.PL [-DNO_WARN_IF_NOT_PDS] make (optional) now make a static perl binary: make perl now run the regression test: make test (see also the section "Regression testing tips" below for more info). If things look "OK" then install (this may require UID=0 or simply write privileges to the appropriate directories): make install (optional) install the statically linked rebuild perl binary: make inst_perl "Documentation" --------------- Documentation is within Stdio.pm and should be available with: perldoc OS390::Stdio There are also examples of working data set handling code in test.pl, as well as in pds_test. This latter program can be run after `make test` and it will prompt you for some valid data set names. You can find GNU make as well as gzip/gunzip at: http://www.mks.com/ "Build tips" ------------ I've had no luck with versions of perl prior to 5.005_02. Hence I would recommend that you try that or an even later version of perl. I've also noted that the build works just fine on these: $ uname -v -r 05.00 02 $ uname -v -r 06.00 02 $ uname -v -r 07.00 02 $ uname -v -r 10.00 02 But has trouble with __dyninit_t and fldata_t structs on: $ uname -v -r 03.00 01 I'd be happy to resolve those build problems with someone - send me a unified or context diff of the changes you had to make. Thanks. Also, I might like to rename this module to S390::Stdio if possible. That is, I would like to provide stdio extensions to folks on VSE/ESA, VM/CMS, etc. Of course I would be willing to rename mvsopen() and mvswrite() if such generalization proves feasible (I'd consider s390open() and s390write() if they didn't have a soon-to-expire timestamp in them). Any help with such a project would be greatly appreciated since I do not have routine access to VSE or VM. Thank you. "Regression testing tips" ------------------------- In order to see more of what the regression tests are doing look for the %ENV varaibles to set, set them, then re-run the `make test` suite. e.g.: $ grep ENV test.pl my $DIAG = $ENV{'OS390_STDIO_DIAG'}; my $GORY = $ENV{'OS390_STDIO_GORY'}; $ export OS390_STDIO_DIAG='1' $ make test After the `make perl` or `make test` step it should be posible to run the pds_test test via: ./pds_test Then answer the questions that arise. The pds_test script will ask for a PDS name and a non-PDS data set name, and will attempt to read the DCB and MEMBER list from each as a means of testing pds_mem(). See also the comments at the head of pds_test for other tips on running it. ################################################################## Special notes for release 0.004: -------------------------------- The pds_mem() routine now does a better job of EXTENDing the perl XS ST-ack and ought to work with PDS'es that have more than 100 members. It does not list ALIAS members as was noted in testing (and documented in Stdio.pm). A more extensive test of pds_mem() has yet to be written. All 70 tests ought to pass for you though. None of the catalog/VTOC dslist functions (vol_ser dsname_level) work. I am beginning to suspect that I may need to use the ISPF callable interface or even (eeks!) ASM (shudder). Help would be appreciated. None of the vsam routines [locate() update() delrec()] have been tested at all. Any volunteers to write tests? ################################################################## See the Changes file for older information. Peter Prymmer