PERL_PERTURB_KEYS_DETERMINISTIC
In Perl 5.18 the seed used for the hash function is randomly selected
-at process start which can be overriden by specifing a seed by setting
+at process start which can be overridden by specifying a seed by setting
the PERL_HASH_SEED environment variable.
You can change this behavior by building perl with the
=item Directories for the perl distribution
-By default, Configure will use the following directories for 5.18.0.
+By default, Configure will use the following directories for 5.19.7.
$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
what you are doing, accept the default list of libraries suggested by
Configure.
+If the libs variable is missing -lm, there is a chance that libm.so.1
+is available, but the required (symbolic) link to libm.so is missing.
+(same could be the case for other libraries like libcrypt.so). You
+should check your installation for packages that create that link, and
+if no package is installed that supplies that link or you cannot install
+them, make the symbolic link yourself e.g.:
+
+ $ rpm -qf /usr/lib64/libm.so
+ glibc-devel-2.15-22.17.1.x86_64
+ $ ls -lgo /usr/lib64/libm.so
+ lrwxrwxrwx 1 16 Jan 7 2013 /usr/lib64/libm.so -> /lib64/libm.so.6
+
+ or
+
+ $ sudo ln -s /lib64/libm.so.6 /lib64/libm.so
+
If the libs variable looks correct, you might have the
L<"nm extraction"> problem discussed above.
If you still have missing routines or undefined symbols, you probably
-need to add some library or other, or you need to undefine some feature
-that Configure thought was there but is defective or incomplete. If
-you used a hint file, see if it has any relevant advice. You can also
-look through through config.h for likely suspects.
+need to add some library or other, make a symbolic link like described
+above, or you need to undefine some feature that Configure thought was
+there but is defective or incomplete. If you used a hint file, see if
+it has any relevant advice. You can also look through through config.h
+for likely suspects.
=item toke.c
different
versions of perl.
cpan The CPAN shell.
- cpan2dist The CPANPLUS distribution creator.
- cpanp The CPANPLUS shell.
- cpanp-run-perl A helper for cpanp.
enc2xs Encoding module generator.
find2perl find-to-perl translator.
h2ph Extract constants and simple macros from C
utility iconv.
pl2pm Convert Perl 4 .pl files to Perl 5 .pm modules.
pod2html, Converters from perl's pod documentation format
- pod2latex, to other useful formats.
pod2man,
pod2text,
pod2usage
make realclean
The only difference between the two is that make distclean also removes
-your old config.sh and Policy.sh files.
+your old config.sh and Policy.sh files. (A plain 'make clean' will not
+delete the makefiles used for rebuilding perl, and will also not delete
+a number of library and utility files extracted during the build process.)
If you are upgrading from a previous version of perl, or if you
change systems or compilers or make other significant changes, or if
=head1 Coexistence with earlier versions of perl 5
-Perl 5.18.0 is not binary compatible with earlier versions of Perl.
+Perl 5.19.7 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.18.0
+ sh Configure -Dprefix=/opt/perl5.19.7
-and adding /opt/perl5.18.0/bin to the shell PATH variable. Such users
+and adding /opt/perl5.19.7/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.17.11 or earlier
+=head2 Upgrading from 5.19.0 or earlier
-B<Perl 5.18.0 may not be binary compatible with Perl 5.17.11 or
+B<Perl 5.19.7 may not be binary compatible with Perl 5.19.6 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.18.0. If you find you do need to rebuild an extension with
-5.18.0, you may safely do so without disturbing the older
+used with 5.19.7. If you find you do need to rebuild an extension with
+5.19.7, 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.18.0 is as follows (under $Config{prefix}):
+in Linux with perl-5.19.7 is as follows (under $Config{prefix}):
./bin/perl
- ./lib/perl5/5.18.0/strict.pm
- ./lib/perl5/5.18.0/warnings.pm
- ./lib/perl5/5.18.0/i686-linux/File/Glob.pm
- ./lib/perl5/5.18.0/feature.pm
- ./lib/perl5/5.18.0/XSLoader.pm
- ./lib/perl5/5.18.0/i686-linux/auto/File/Glob/Glob.so
+ ./lib/perl5/5.19.7/strict.pm
+ ./lib/perl5/5.19.7/warnings.pm
+ ./lib/perl5/5.19.7/i686-linux/File/Glob.pm
+ ./lib/perl5/5.19.7/feature.pm
+ ./lib/perl5/5.19.7/XSLoader.pm
+ ./lib/perl5/5.19.7/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.