This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
update references to earlier versions
[perl5.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 3240699..01b22e1 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -36,13 +36,18 @@ any prefix location by adding "-Dprefix='/some/dir'" to Configure's args.
 To explicitly name the perl binary, use the command
 "make install PERLNAME=myperl".
 
+Building perl from source requires an ANSI compliant C-Compiler.
+A minimum of C89 is required. Some features available in C99 will
+be probed for and used when found. The perl build process does not
+rely on anything more than C89.
+
 These options, and many more, are explained in further detail below.
 
 If you have problems, corrections, or questions, please see
 L<"Reporting Problems"> below.
 
 For information on what's new in this release, see the
-pod/perl5120delta.pod file.  For more information about how to find more
+pod/perldelta.pod file.  For more information about how to find more
 specific detail about changes, see the Changes file.
 
 =head1 DESCRIPTION
@@ -75,10 +80,10 @@ directory.
 
 =head2 Changes and Incompatibilities
 
-Please see pod/perl5120delta.pod for a description of the changes and
+Please see pod/perldelta.pod for a description of the changes and
 potential incompatibilities introduced with this release.  A few of
 the most important issues are listed below, but you should refer
-to pod/perl5120delta.pod for more detailed information.
+to pod/perldelta.pod for more detailed information.
 
 B<WARNING:> This version is not binary compatible with prior releases of Perl.
 If you have built extensions (i.e. modules that include C code)
@@ -93,7 +98,7 @@ The standard extensions supplied with Perl will be handled automatically.
 
 On a related issue, old modules may possibly be affected by the changes
 in the Perl language in the current release.  Please see
-pod/perl5120delta.pod for a description of what's changed.  See your
+pod/perldelta.pod for a description of what's changed.  See your
 installed copy of the perllocal.pod file for a (possibly incomplete)
 list of locally installed modules.  Also see CPAN::autobundle for one
 way to make a "bundle" of your currently installed modules.
@@ -495,9 +500,10 @@ to avoid these leaks. The default is now to perform direct manipulation
 whenever perl is running as a stand alone interpreter, and to call the safe
 but potentially leaky C<putenv()> function when the perl interpreter is
 embedded in another application. You can force perl to always use C<putenv()>
-by compiling with -DPERL_USE_SAFE_PUTENV. You can force an embedded perl to
-use direct manipulation by setting C<PL_use_safe_putenv = 0;> after the
-C<perl_construct()> call.
+by compiling with C<-Accflags="-DPERL_USE_SAFE_PUTENV">, see section
+L</"Altering Configure variables for C compiler switches etc.">.
+You can force an embedded perl to use direct manipulation by setting
+C<PL_use_safe_putenv = 0;> after the C<perl_construct()> call.
 
 =head2 Installation Directories
 
@@ -524,9 +530,9 @@ 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.12.0.
+By default, Configure will use the following directories for 5.13.8.
 $version is the full perl version number, including subversion, e.g.
-5.12.0 or 5.9.5, and $archname is a string like sun4-sunos,
+5.13.8 or 5.9.5, and $archname is a string like sun4-sunos,
 determined by Configure.  The full definitions of all Configure
 variables are in the file Porting/Glossary.
 
@@ -830,6 +836,13 @@ modules, you can specify to not include the paths found:
 
        sh Configure -Dinc_version_list=none ...
 
+If you do want to use modules from some previous perl versions, the variable
+must contain a space separated list of directories under the site_perl
+directory, and has to include architecture-dependent directories separately,
+eg.
+
+       sh Configure -Dinc_version_list="5.12.0/x86_64-linux 5.12.0" ...
+
 When using the newer perl, you can add these paths again in the
 $PERL5LIB environment variable or with perl's -I runtime option.
 
@@ -1561,6 +1574,26 @@ specific rule.
 SCO prior to 3.2.4 may be missing dbmclose().  An upgrade to 3.2.4
 that includes libdbm.nfs (which includes dbmclose()) may be available.
 
+=item error: too few arguments to function 'dbmclose'
+
+Building ODBM_File on some (Open)SUSE distributions might run into this
+error, as the header file is broken. There are two ways to deal with this
+
+ 1. Disable the use of ODBM_FILE
+
+    Configure ... -Dnoextensions=ODBM_File
+
+ 2. Fix the header file, somewhat like this:
+
+    --- a/usr/include/dbm.h  2010-03-24 08:54:59.000000000 +0100
+    +++ b/usr/include/dbm.h  2010-03-24 08:55:15.000000000 +0100
+    @@ -59,4 +59,4 @@ extern datum  firstkey __P((void));
+
+     extern datum   nextkey __P((datum key));
+
+    -extern int     dbmclose __P((DBM *));
+    +extern int     dbmclose __P((void));
+
 =item Note (probably harmless): No library found for -lsomething
 
 If you see such a message during the building of an extension, but
@@ -2085,6 +2118,7 @@ make install will install the following:
        psed            A Perl implementation of sed
        ptar            A Perl implementation of tar
        ptardiff        A diff for tar archives
+       ptargrep        A grep for tar archives
        s2p             sed-to-perl translator
        shasum          A tool to print or check SHA checksums
        splain          Describe Perl warnings and errors
@@ -2340,9 +2374,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.12.0
+       sh Configure -Dprefix=/opt/perl5.13.8
 
-and adding /opt/perl5.12.0/bin to the shell PATH variable.  Such users
+and adding /opt/perl5.13.8/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.
 
@@ -2355,13 +2389,13 @@ seriously consider using a separate directory, since development
 subversions may not have all the compatibility wrinkles ironed out
 yet.
 
-=head2 Upgrading from 5.11.0 or earlier
+=head2 Upgrading from 5.13.7 or earlier
 
-B<Perl 5.12.0 is binary incompatible with Perl 5.11.1 and any earlier
+B<Perl 5.13.8 is binary incompatible with Perl 5.13.7 and any earlier
 Perl release.>  Perl modules having binary parts
 (meaning that a C compiler is used) will have to be recompiled to be
-used with 5.12.0.  If you find you do need to rebuild an extension with
-5.12.0, you may safely do so without disturbing the older
+used with 5.13.8.  If you find you do need to rebuild an extension with
+5.13.8, you may safely do so without disturbing the older
 installations.  (See L<"Coexistence with earlier versions of perl 5">
 above.)