DJGPP feedback for #2028.
[p5sagit/p5-mst-13.2.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 191d6ff..47ba0c0 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -64,6 +64,23 @@ In a related issue, old extensions may possibly be affected by the
 changes in the Perl language in the current release.  Please see
 pod/perldelta.pod for a description of what's changed.
 
+=head1 WARNING:  This version requires a compiler that supports ANSI C.
+
+If you find that your C compiler is not ANSI-capable, try obtaining
+GCC, available from GNU mirrors worldwide (e.g. ftp://ftp.gnu.org/pub/gnu).
+Another alternative may be to use a tool like C<ansi2knr> to convert the
+sources back to K&R style, but there is no guarantee this route will get
+you anywhere, since the prototypes are not the only ANSI features used
+in the Perl sources.  C<ansi2knr> is usually found as part of the freely
+available C<Ghostscript> distribution.  Another similar tool is
+C<unprotoize>, distributed with GCC.  Since C<unprotoize> requires GCC to
+run, you may have to run it on a platform where GCC is available, and move
+the sources back to the platform without GCC.
+
+If you succeed in automatically converting the sources to a K&R compatible
+form, be sure to email perlbug@perl.com to let us know the steps you
+followed.  This will enable us to officially support this option.
+
 =head1 Space Requirements
 
 The complete perl5 source tree takes up about 10 MB of disk space.  The
@@ -316,7 +333,7 @@ This should actually work if you have gdbm installed in any of
 =item gdbm in /usr/you
 
 Suppose you have gdbm installed in some place other than /usr/local/,
-but you still want Configure to find it.  To be specific, assume  you
+but you still want Configure to find it.  To be specific, assume you
 have /usr/you/include/gdbm.h and /usr/you/lib/libgdbm.a.  You
 still have to add -I/usr/you/include to cc flags, but you have to take
 an extra step to help Configure find libgdbm.a.  Specifically, when
@@ -355,19 +372,24 @@ everything where you want it.  At any point during the Configure
 process, you can answer a question with  &-d  and Configure
 will use the defaults from then on.
 
-By default, Configure will use the following directories for
-library files for 5.005 (archname is a string like sun4-sunos, determined
-by Configure).
+By default, Configure will use the following directories for library files
+for 5.005 (archname is a string like sun4-sunos, determined by Configure).
 
-       /usr/local/lib/perl5/5.005/archname
-       /usr/local/lib/perl5/5.005/share
-       /usr/local/lib/perl5/site_perl/5.005/archname
-       /usr/local/lib/perl5/site_perl/5.005/share
+    Configure variable         Default value
+       $archlib        /usr/local/lib/perl5/5.005/archname
+       $privlib        /usr/local/lib/perl5/5.005
+       $sitearch       /usr/local/lib/perl5/site_perl/5.005/archname
+       $sitelib        /usr/local/lib/perl5/site_perl/5.005
 
-and the following directories for manual pages:
+Some users prefer to append a "/share" to $privlib and $sitelib
+to emphasize that those directories can be shared among different
+architectures.
 
-       /usr/local/man/man1
-       /usr/local/lib/perl5/man/man3
+By default, Configure will use the following directories for manual pages:
+
+    Configure variable         Default value
+       $man1dir        /usr/local/man/man1
+       $man3dir        /usr/local/lib/perl5/man/man3
 
 (Actually, Configure recognizes the SVR3-style
 /usr/local/man/l_man/man1 directories, if present, and uses those
@@ -393,18 +415,19 @@ If you specify a prefix that contains the string "perl", then the
 directory structure is simplified.  For example, if you Configure with
 -Dprefix=/opt/perl, then the defaults for 5.005 are
 
-       /opt/perl/lib/5.005/archname
-       /opt/perl/lib/5.005/share
-       /opt/perl/lib/site_perl/5.005/archname
-       /opt/perl/lib/site_perl/5.005/share
+    Configure variable         Default value
+       $archlib        /opt/perl/lib/5.005/archname
+       $privlib        /opt/perl/lib/5.005
+       $sitearch       /opt/perl/lib/site_perl/5.005/archname
+       $sitelib        /opt/perl/lib/site_perl/5.005
 
-       /opt/perl/man/man1
-       /opt/perl/man/man3
+       $man1dir        /opt/perl/man/man1
+       $man3dir        /opt/perl/man/man3
 
 The perl executable will search the libraries in the order given
 above.
 
-The  directories under site_perl are empty, but are intended to be used
+The directories under site_perl are empty, but are intended to be used
 for installing local or site-wide extensions.  Perl will automatically
 look in these directories.
 
@@ -765,16 +788,10 @@ you can change a number of factors in the way perl is built
 by adding appropriate -D directives to your ccflags variable in
 config.sh.
 
-For example, you can replace the rand() and srand() functions in the
-perl source by any other random number generator by a trick such as the
-following:
-
-       sh Configure -Dccflags='-Drand=random -Dsrand=srandom'
-
-or by adding -Drand=random and -Dsrand=srandom to your ccflags
-at the appropriate Configure prompt.  (Note:  Although this worked for
-me, it might not work for you if your system's header files give
-different prototypes for rand() and random() or srand() and srandom().)
+Starting from Perl 5.005_53 you no more need to replace the rand() and
+srand() functions in the perl source by any other random number
+generator because Configure chooses the widest one available
+(drand48(), srandom(), or rand()).
 
 You should also run Configure interactively to verify that a hint file
 doesn't inadvertently override your ccflags setting.  (Hints files
@@ -806,9 +823,10 @@ in the hints/ directory.  If one of them matches your system, Configure
 will offer to use that hint file.
 
 Several of the hint files contain additional important information.
-If you have any problems, it is a good idea to read the relevant hint
-file for further information.  See hints/solaris_2.sh for an
-extensive example.
+If you have any problems, it is a good idea to read the relevant hint file
+for further information.  See hints/solaris_2.sh for an extensive example.
+More information about writing good hints is in the hints/README.hints
+file.
 
 =item *** WHOA THERE!!! ***
 
@@ -893,9 +911,11 @@ toke.c and put the command optimize='-g' before the ;; .  You
 can also edit cflags directly, but beware that your changes will be
 lost the next time you run Configure.
 
-To change the C flags for all the files, edit config.sh
-and change either $ccflags or $optimize,
-and then re-run
+To explore various ways of changing ccflags from within a hint file,
+see the file hints/README.hints.
+
+To change the C flags for all the files, edit config.sh and change either
+$ccflags or $optimize, and then re-run
 
        sh Configure -S
        make depend
@@ -955,7 +975,7 @@ for further tips and information.
 If you can successfully build miniperl, but the process crashes
 during the building of extensions, you should run
 
-       make minitest
+       make minitest
 
 to test your version of miniperl.
 
@@ -1190,6 +1210,21 @@ Old versions of the DB library (including the DB library which comes
 with FreeBSD 2.1) had broken handling of recno databases with modified
 bval settings.  Upgrade your DB library or OS.
 
+=item Bad arg length for semctl, is XX, should be ZZZ
+
+If you get this error message from the lib/ipc_sysv test, your System
+V IPC may be broken.  The XX typically is 20, and that is what ZZZ
+also should be.  Consider upgrading your OS, or reconfiguring your OS
+to include the System V semaphores.
+
+=item lib/ipc_sysv........semget: No space left on device
+
+Either your account or the whole system has run out of semaphores.  Or
+both.  Either list the semaphores with "ipcs" and remove the unneeded
+ones (which ones these are depends on your system and applications)
+with "ipcrm -s SEMAPHORE_ID_HERE" or configure more semaphores to your
+system.
+
 =item Miscellaneous
 
 Some additional things that have been reported for either perl4 or perl5:
@@ -1200,6 +1235,10 @@ NCR Tower 32 (OS 2.01.01) may need -W2,-Sl,2000 and #undef MKDIR.
 
 UTS may need one or more of -DCRIPPLED_CC, -K or -g, and undef LSTAT.
 
+FreeBSD can fail the lib/ipc_sysv.t test if SysV IPC has not been
+configured to the kernel.  Perl tries to detect this, though, and
+you will get a message telling what to do.
+
 If you get syntax errors on '(', try -DCRIPPLED_CC.
 
 Machines with half-implemented dbm routines will need to #undef I_ODBM
@@ -1343,7 +1382,7 @@ make install will install the following:
 Installperl will also create the library directories $siteperl and
 $sitearch listed in config.sh.  Usually, these are something like
 
-       /usr/local/lib/perl5/site_perl/5.005/share
+       /usr/local/lib/perl5/site_perl/5.005
        /usr/local/lib/perl5/site_perl/5.005/archname
 
 where archname is something like sun4-sunos.  These directories
@@ -1376,16 +1415,16 @@ The directories searched by version 5.005 will be
 
     Configure variable         Default value
        $archlib        /usr/local/lib/perl5/5.005/archname
-       $privlib        /usr/local/lib/perl5/5.005/share
+       $privlib        /usr/local/lib/perl5/5.005
        $sitearch       /usr/local/lib/perl5/site_perl/5.005/archname
-       $sitelib        /usr/local/lib/perl5/site_perl/5.005/share
+       $sitelib        /usr/local/lib/perl5/site_perl/5.005
 
 while the directories searched by version 5.005_01 will be
 
        $archlib        /usr/local/lib/perl5/5.00501/archname
-       $privlib        /usr/local/lib/perl5/5.00501/share
+       $privlib        /usr/local/lib/perl5/5.00501
        $sitearch       /usr/local/lib/perl5/site_perl/5.005/archname
-       $sitelib        /usr/local/lib/perl5/site_perl/5.005/share
+       $sitelib        /usr/local/lib/perl5/site_perl/5.005
 
 When you install an add-on extension, it gets installed into $sitelib (or
 $sitearch if it is architecture-specific).  This directory deliberately
@@ -1516,7 +1555,7 @@ Please include the output of the ./myconfig shell script that comes with
 the distribution.  Alternatively, you can use the perlbug program that
 comes with the perl distribution, but you need to have perl compiled
 before you can use it.  (If you have not installed it yet, you need to
-run C<./perlbug -Ilib> instead of a plain C<perlbug>.)
+run C<./perl -Ilib utils/perlbug> instead of a plain C<perlbug>.)
 
 You might also find helpful information in the Porting directory of the
 perl distribution.
@@ -1550,9 +1589,18 @@ Original author:  Andy Dougherty doughera@lafayette.edu , borrowing very
 heavily from the original README by Larry Wall, with lots of helpful
 feedback and additions from the perl5-porters@perl.org folks.
 
-If you have problems or questions, please see L<"Reporting Problems">
-above.
+If you have problems, corrections, or questions, please see
+L<"Reporting Problems"> above.
+
+=head1 REDISTRIBUTION
+
+This document is part of the Perl package and may be distributed under
+the same terms as perl itself.
+
+If you are distributing a modified version of perl (perhaps as part of
+a larger package) please do modify these installation instructions and
+the contact information to match your distribution.
 
 =head1 LAST MODIFIED
 
-$Id: INSTALL,v 1.38 1998/06/30 16:59:52 doughera Released $
+$Id: INSTALL,v 1.42 1998/07/15 18:04:44 doughera Released $