This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldiag.pod: Fix wrong Perl versions
[perl5.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 39e1c31..660e668 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -432,7 +432,7 @@ You can elect to build a shared libperl by
 
 To build a shared libperl, the environment variable controlling shared
 library search (LD_LIBRARY_PATH in most systems, DYLD_LIBRARY_PATH for
-NeXTSTEP/OPENSTEP/Darwin, LIBRARY_PATH for BeOS, LD_LIBRARY_PATH/SHLIB_PATH
+NeXTSTEP/OPENSTEP/Darwin, LD_LIBRARY_PATH/SHLIB_PATH
 for HP-UX, LIBPATH for AIX, PATH for Cygwin) must be set up to include
 the Perl build directory because that's where the shared libperl will
 be created.  Configure arranges makefile to have the correct shared
@@ -535,7 +535,7 @@ The directories set up by Configure fall into three broad categories.
 
 =item Directories for the perl distribution
 
-By default, Configure will use the following directories for 5.17.4.
+By default, Configure will use the following directories for 5.17.11.
 $version is the full perl version number, including subversion, e.g.
 5.12.3, and $archname is a string like sun4-sunos,
 determined by Configure.  The full definitions of all Configure
@@ -569,16 +569,18 @@ After perl is installed, you may later wish to add modules (e.g. from
 CPAN) or scripts.  Configure will set up the following directories to
 be used for installing those add-on modules and scripts.
 
-    Configure variable Default value
-    $siteprefixexp     $prefixexp
-    $sitebinexp                $siteprefixexp/bin
-    $sitescriptexp     $siteprefixexp/bin
-    $sitelibexp                $siteprefixexp/lib/perl5/site_perl/$version
-    $sitearchexp       $siteprefixexp/lib/perl5/site_perl/$version/$archname
-    $siteman1direxp    $siteprefixexp/man/man1
-    $siteman3direxp    $siteprefixexp/man/man3
-    $sitehtml1direxp   (none)
-    $sitehtml3direxp   (none)
+   Configure        Default
+   variable          value
+ $siteprefixexp    $prefixexp
+ $sitebinexp       $siteprefixexp/bin
+ $sitescriptexp    $siteprefixexp/bin
+ $sitelibexp       $siteprefixexp/lib/perl5/site_perl/$version
+ $sitearchexp
+               $siteprefixexp/lib/perl5/site_perl/$version/$archname
+ $siteman1direxp   $siteprefixexp/man/man1
+ $siteman3direxp   $siteprefixexp/man/man3
+ $sitehtml1direxp  (none)
+ $sitehtml3direxp  (none)
 
 By default, ExtUtils::MakeMaker will install architecture-independent
 modules into $sitelib and architecture-dependent modules into $sitearch.
@@ -589,49 +591,51 @@ Lastly, if you are building a binary distribution of perl for
 distribution, Configure can optionally set up the following directories
 for you to use to distribute add-on modules.
 
-    Configure variable Default value
-    $vendorprefixexp   (none)
-    (The next ones are set only if vendorprefix is set.)
-    $vendorbinexp      $vendorprefixexp/bin
-    $vendorscriptexp   $vendorprefixexp/bin
-    $vendorlibexp
-       $vendorprefixexp/lib/perl5/vendor_perl/$version
-    $vendorarchexp
-       $vendorprefixexp/lib/perl5/vendor_perl/$version/$archname
-    $vendorman1direxp  $vendorprefixexp/man/man1
-    $vendorman3direxp  $vendorprefixexp/man/man3
-    $vendorhtml1direxp (none)
-    $vendorhtml3direxp (none)
+   Configure          Default
+   variable            value
+ $vendorprefixexp    (none)
+
+ (The next ones are set only if vendorprefix is set.)
+
+ $vendorbinexp       $vendorprefixexp/bin
+ $vendorscriptexp    $vendorprefixexp/bin
+ $vendorlibexp       $vendorprefixexp/lib/perl5/vendor_perl/$version
+ $vendorarchexp
+           $vendorprefixexp/lib/perl5/vendor_perl/$version/$archname
+ $vendorman1direxp   $vendorprefixexp/man/man1
+ $vendorman3direxp   $vendorprefixexp/man/man3
+ $vendorhtml1direxp  (none)
+ $vendorhtml3direxp  (none)
 
 These are normally empty, but may be set as needed.  For example,
 a vendor might choose the following settings:
 
   $prefix            /usr
   $siteprefix                /usr/local
   $vendorprefix      /usr
$prefix           /usr
$siteprefix       /usr/local
$vendorprefix     /usr
 
 This would have the effect of setting the following:
 
   $binexp            /usr/bin
   $scriptdirexp      /usr/bin
   $privlibexp                /usr/lib/perl5/$version
   $archlibexp        /usr/lib/perl5/$version/$archname
   $man1direxp                /usr/man/man1
   $man3direxp                /usr/man/man3
-
   $sitebinexp                /usr/local/bin
   $sitescriptexp     /usr/local/bin
   $sitelibexp                /usr/local/lib/perl5/site_perl/$version
   $sitearchexp       /usr/local/lib/perl5/site_perl/$version/$archname
   $siteman1direxp    /usr/local/man/man1
   $siteman3direxp    /usr/local/man/man3
-
   $vendorbinexp      /usr/bin
   $vendorscriptexp   /usr/bin
   $vendorlibexp      /usr/lib/perl5/vendor_perl/$version
   $vendorarchexp     /usr/lib/perl5/vendor_perl/$version/$archname
   $vendorman1direxp  /usr/man/man1
   $vendorman3direxp  /usr/man/man3
$binexp           /usr/bin
$scriptdirexp     /usr/bin
$privlibexp       /usr/lib/perl5/$version
$archlibexp       /usr/lib/perl5/$version/$archname
$man1direxp       /usr/man/man1
$man3direxp       /usr/man/man3
+
$sitebinexp       /usr/local/bin
$sitescriptexp    /usr/local/bin
$sitelibexp       /usr/local/lib/perl5/site_perl/$version
$sitearchexp      /usr/local/lib/perl5/site_perl/$version/$archname
$siteman1direxp   /usr/local/man/man1
$siteman3direxp   /usr/local/man/man3
+
$vendorbinexp     /usr/bin
$vendorscriptexp  /usr/bin
$vendorlibexp     /usr/lib/perl5/vendor_perl/$version
$vendorarchexp    /usr/lib/perl5/vendor_perl/$version/$archname
$vendorman1direxp /usr/man/man1
$vendorman3direxp /usr/man/man3
 
 Note how in this example, the vendor-supplied directories are in the
 /usr hierarchy, while the directories reserved for the end user are in
@@ -650,7 +654,7 @@ are stored locally on your own disk and use $vendorprefix for
 site-specific files that are stored elsewhere on your organization's
 network.  One way to do that would be something like
 
      sh Configure -Dsiteprefix=/usr/local -Dvendorprefix=/usr/share/perl
+ sh Configure -Dsiteprefix=/usr/local -Dvendorprefix=/usr/share/perl
 
 =item otherlibdirs
 
@@ -932,7 +936,7 @@ much, much more slowly than a standard perl.
 
 =head2 DTrace support
 
-On platforms where DTrace is available, it may be enabled by 
+On platforms where DTrace is available, it may be enabled by
 using the -Dusedtrace option to Configure. DTrace probes are available for
 subroutine entry (sub-entry) and subroutine exit (sub-exit). Here's a
 simple D script that uses them:
@@ -1039,10 +1043,11 @@ BerkeleyDB shared libraries.
 It is possible to specify this from the command line (all on one
 line):
 
-    sh Configure -de \
-        -Dlocincpth='/usr/local/BerkeleyDB.4.7/include /usr/local/include' \
-        -Dloclibpth='/usr/local/BerkeleyDB.4.7/lib /usr/local/lib' \
-        -Aldflags='-R/usr/local/BerkeleyDB.4.7/lib'
+ sh Configure -de \
+    -Dlocincpth='/usr/local/BerkeleyDB.4.7/include             \
+                                           /usr/local/include' \
+    -Dloclibpth='/usr/local/BerkeleyDB.4.7/lib /usr/local/lib' \
+    -Aldflags='-R/usr/local/BerkeleyDB.4.7/lib'
 
 locincpth is a space-separated list of include directories to search.
 Configure will automatically add the appropriate -I directives.
@@ -1716,7 +1721,7 @@ to avoid the BIND.
 
 Perl can be cross-compiled.  It is just not trivial, cross-compilation
 rarely is.  Perl is routinely cross-compiled for many platforms (as of
-June 2005 at least PocketPC aka WinCE, Open Zaurus, EPOC, Symbian, and
+June 2005 at least PocketPC aka WinCE, Open Zaurus, Symbian, and
 the IBM OS/400).  These platforms are known as the B<target> platforms,
 while the systems where the compilation takes place are the B<host>
 platforms.
@@ -1742,10 +1747,6 @@ README.ce
 
 Cross/README
 
-=item EPOC
-
-README.epoc
-
 =item Symbian
 
 README.symbian
@@ -2099,11 +2100,13 @@ make install will install the following:
 
     scripts
 
-       cppstdin        This is used by the deprecated switch perl -P, if
-                       your cc -E can't read from stdin.
-       c2ph, pstruct   Scripts for handling C structures in header files.
+       cppstdin        This is used by the deprecated switch perl -P,
+                       if your cc -E can't read from stdin.
+       c2ph, pstruct   Scripts for handling C structures in header
+                        files.
        config_data     Manage Module::Build-like module configuration.
-       corelist        Shows versions of modules that come with different
+       corelist        Shows versions of modules that come with
+                        different
                        versions of perl.
        cpan            The CPAN shell.
        cpan2dist       The CPANPLUS distribution creator.
@@ -2111,7 +2114,8 @@ make install will install the following:
        cpanp-run-perl  A helper for cpanp.
        enc2xs          Encoding module generator.
        find2perl       find-to-perl translator.
-       h2ph            Extract constants and simple macros from C headers.
+       h2ph            Extract constants and simple macros from C
+                        headers.
        h2xs            Converts C .h header files to Perl extensions.
        instmodsh       A shell to examine installed modules.
        libnetcfg       Configure libnet.
@@ -2137,7 +2141,7 @@ make install will install the following:
        shasum          A tool to print or check SHA checksums.
        splain          Describe Perl warnings and errors.
        xsubpp          Compiler to convert Perl XS code into C code.
-       zipdetails              display the internal structure of zip files
+       zipdetails      display the internal structure of zip files
 
     library files
 
@@ -2314,7 +2318,7 @@ http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
 
 =head1 Coexistence with earlier versions of perl 5
 
-Perl 5.17 is not binary compatible with earlier versions of Perl.
+Perl 5.17.11 is not binary compatible with earlier versions of Perl.
 In other words, you will have to recompile your XS modules.
 
 In general, you can usually safely upgrade from one version of Perl (e.g.
@@ -2388,9 +2392,9 @@ won't interfere with another version.  (The defaults guarantee this for
 libraries after 5.6.0, but not for executables. TODO?)  One convenient
 way to do this is by using a separate prefix for each version, such as
 
-       sh Configure -Dprefix=/opt/perl5.17.4
+       sh Configure -Dprefix=/opt/perl5.17.11
 
-and adding /opt/perl5.17.4/bin to the shell PATH variable.  Such users
+and adding /opt/perl5.17.11/bin to the shell PATH variable.  Such users
 may also wish to add a symbolic link /usr/local/bin/perl so that
 scripts can still start with #!/usr/local/bin/perl.
 
@@ -2403,13 +2407,13 @@ seriously consider using a separate directory, since development
 subversions may not have all the compatibility wrinkles ironed out
 yet.
 
-=head2 Upgrading from 5.17.1 or earlier
+=head2 Upgrading from 5.17.9 or earlier
 
-B<Perl 5.17.4 may not be binary compatible with Perl 5.17.1 or
+B<Perl 5.17.11 may not be binary compatible with Perl 5.17.9 or
 earlier Perl releases.>  Perl modules having binary parts
 (meaning that a C compiler is used) will have to be recompiled to be
-used with 5.17.4.  If you find you do need to rebuild an extension with
-5.17.4, you may safely do so without disturbing the older
+used with 5.17.11.  If you find you do need to rebuild an extension with
+5.17.11, you may safely do so without disturbing the older
 installations.  (See L<"Coexistence with earlier versions of perl 5">
 above.)
 
@@ -2442,15 +2446,15 @@ Firstly, the bare minimum to run this script
      print("$f\n");
   }
 
-in Linux with perl-5.17.4 is as follows (under $Config{prefix}):
+in Linux with perl-5.17.11 is as follows (under $Config{prefix}):
 
   ./bin/perl
-  ./lib/perl5/5.17.4/strict.pm
-  ./lib/perl5/5.17.4/warnings.pm
-  ./lib/perl5/5.17.4/i686-linux/File/Glob.pm
-  ./lib/perl5/5.17.4/feature.pm
-  ./lib/perl5/5.17.4/XSLoader.pm
-  ./lib/perl5/5.17.4/i686-linux/auto/File/Glob/Glob.so
+  ./lib/perl5/5.17.11/strict.pm
+  ./lib/perl5/5.17.11/warnings.pm
+  ./lib/perl5/5.17.11/i686-linux/File/Glob.pm
+  ./lib/perl5/5.17.11/feature.pm
+  ./lib/perl5/5.17.11/XSLoader.pm
+  ./lib/perl5/5.17.11/i686-linux/auto/File/Glob/Glob.so
 
 Secondly, for perl-5.10.1, the Debian perl-base package contains 591 files,
 (of which 510 are for lib/unicore) totaling about 3.5MB in its i386 version.
@@ -2548,7 +2552,8 @@ need to run a Perl program is
 it's a minimal set) and if you want to find out all the files you can
 use something like the below
 
-   strace perl -le 'do "x.pl"' 2>&1 | perl -nle '/^open\(\"(.+?)"/ && print $1'
+ strace perl -le 'do "x.pl"' 2>&1 \
+                             | perl -nle '/^open\(\"(.+?)"/ && print $1'
 
 (The 'strace' is Linux-specific, other similar utilities include 'truss'
 and 'ktrace'.)