=item Directories for the perl distribution
-By default, Configure will use the following directories for 5.16.0.
+By default, Configure will use the following directories for 5.17.0.
$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
directory, and has to include architecture-dependent directories separately,
eg.
- sh Configure -Dinc_version_list="5.16.0/x86_64-linux 5.14.0" ...
+ sh Configure -Dinc_version_list="5.17.0/x86_64-linux 5.14.0" ...
When using the newer perl, you can add these paths again in the
PERL5LIB environment variable or with perl's -I runtime option.
This will run the regression tests on the perl you just made. If
'make test' doesn't say "All tests successful" then something went
-wrong. See the file t/README in the t subdirectory.
+wrong.
Note that you can't run the tests in background if this disables
opening of /dev/tty. You can use 'make test-notty' in that case but
=head2 What if make test doesn't work?
If make test bombs out, just cd to the t directory and run ./TEST
-by hand to see if it makes any difference. If individual tests
-bomb, you can run them by hand, e.g.,
+by hand to see if it makes any difference.
- ./perl -MTestInit t/op/groups.t
-
-Another way to get more detailed information about failed tests and
-individual subtests is to cd to the t directory and run
+One way to get more detailed information about failed tests and
+individual subtests is to run the harness from the t directory:
cd t ; ./perl harness <list of tests>
complicated constructs). If no list of tests is provided, harness
will run all tests.
+If individual tests fail, you can often run them by hand (from the main
+perl directory), e.g.,
+
+ ./perl -MTestInit t/op/groups.t
+
You should also read the individual tests to see if there are any helpful
comments that apply to your system. You may also need to setup your
shared library path if you get errors like:
/sbin/loader: Fatal Error: cannot map libperl.so
+The file t/README in the t subdirectory contains more information about
+running and modifying tests.
+
See L</"Building a shared Perl library"> earlier in this document.
=over 4
=head1 Coexistence with earlier versions of perl 5
-Perl 5.16 is not binary compatible with earlier versions of Perl.
+Perl 5.17 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.
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.16.0
+ sh Configure -Dprefix=/opt/perl5.17.0
-and adding /opt/perl5.16.0/bin to the shell PATH variable. Such users
+and adding /opt/perl5.17.0/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.
subversions may not have all the compatibility wrinkles ironed out
yet.
-=head2 Upgrading from 5.15.6 or earlier
+=head2 Upgrading from 5.16.0 or earlier
-B<Perl 5.16.0 is binary incompatible with Perl 5.15.6 and any earlier
-Perl release.> Perl modules having binary parts
+B<Perl 5.17.0 may not be is binary incompatible with Perl 5.16.0 or
+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.16.0. If you find you do need to rebuild an extension with
-5.16.0, you may safely do so without disturbing the older
+used with 5.17.0. If you find you do need to rebuild an extension with
+5.17.0, you may safely do so without disturbing the older
installations. (See L<"Coexistence with earlier versions of perl 5">
above.)
print("$f\n");
}
-in Linux with perl-5.16.0 is as follows (under $Config{prefix}):
+in Linux with perl-5.17.0 is as follows (under $Config{prefix}):
./bin/perl
- ./lib/perl5/5.16.0/strict.pm
- ./lib/perl5/5.16.0/warnings.pm
- ./lib/perl5/5.16.0/i686-linux/File/Glob.pm
- ./lib/perl5/5.16.0/feature.pm
- ./lib/perl5/5.16.0/XSLoader.pm
- ./lib/perl5/5.16.0/i686-linux/auto/File/Glob/Glob.so
+ ./lib/perl5/5.17.0/strict.pm
+ ./lib/perl5/5.17.0/warnings.pm
+ ./lib/perl5/5.17.0/i686-linux/File/Glob.pm
+ ./lib/perl5/5.17.0/feature.pm
+ ./lib/perl5/5.17.0/XSLoader.pm
+ ./lib/perl5/5.17.0/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.