This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
* Reword the sentence about checking unlink failures
[perl5.git] / README.os400
index 28a8a5f..cd78916 100644 (file)
@@ -36,6 +36,12 @@ Starting from OS/400 V5R2 the IBM Visual Age compiler is supported
 on OS/400 PASE, so it is possible to build Perl natively on OS/400.  
 The easier way, however, is to compile in AIX, as just described.
 
+If you don't want to install the compiled Perl in AIX into /QOpenSys
+(for packaging it before copying it to PASE), you can use a Configure
+parameter: -Dinstallprefix=/tmp/QOpenSys/perl.  This will cause the
+"make install" to install everything into that directory, while the
+installed files still think they are (will be) in /QOpenSys/perl.
+
 If building natively on PASE, please do the build under the /QOpenSys
 directory, since Perl is happier when built on a case sensitive filesystem.
 
@@ -71,21 +77,27 @@ latest PTFs to have this feature.  Scripts starting with
 
 =head2 Known Problems
 
-When compiling natively in PASE, there is no "oslevel" command as
-there is in AIX-- this will confuse the Configure script.  Therefore,
-before running Configure you may want to create a script (in your
-$PATH) called "oslevel" that prints out the level of AIX that your
-version of PASE supports.  Consult your documentation to find out
-what this is, or just use "4.3.3.0".
-
-When using sockets, you probably will want a signal handler for
-SIGPIPE since there seems to be some signal handling differences
-between AIX and PASE.  Especially, PASE doesn't seem to allow
-writing to a closed socket but instead throws SIGPIPE immediately.
-Because of this the subtest #18 of io_sock in IO::Socket fails.
-
-Some tests in Time::HiRes are failing because some of the system
-calls being used aren't really implemented in PASE.
+When compiling in PASE, there is no "oslevel" command.  Therefore,
+you may want to create a script called "oslevel" that echoes the
+level of AIX that your version of PASE runtime supports.  If you're
+unsure, consult your documentation or use "4.3.3.0".
+
+If you have test cases that fail, check for the existence of spool files.
+The test case may be trying to use a syscall that is not implemented
+in PASE.  To avoid the SIGILL, try setting the PASE_SYSCALL_NOSIGILL
+environment variable or have a handler for the SIGILL.  If you can
+compile programs for PASE, run the config script and edit config.sh
+when it gives you the option.  If you want to remove fchdir(), which
+isn't implement in V5R1, simply change the line that says:
+
+d_fchdir='define'
+
+to
+
+d_fchdir='undef'
+
+and then compile Perl.  The places where fchdir() is used have
+alternatives for systems that do not have fchdir() available.
 
 =head2 Perl on ILE