To build a shared libperl, the environment variable controlling shared
library search (LD_LIBRARY_PATH in most systems, DYLD_LIBRARY_PATH for
Darwin, LD_LIBRARY_PATH/SHLIB_PATH
-for HP-UX, LIBPATH for AIX, PATH for Cygwin) must be set up to include
+for HP-UX, LIBPATH for AIX and z/OS, 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
library search settings. You can find the name of the environment
to use direct manipulation by setting C<PL_use_safe_putenv = 0;> after
the C<perl_construct()> call.
+=head3 External glob
+
+Before File::Glob entered core in 5.6.0 globbing was implemented by shelling
+out. If the environmental variable PERL_EXTERNAL_GLOB is defined and if the
+F<csh> shell is available, perl will still do this the old way.
+
=head2 Installation Directories
The installation directories can all be changed by answering the
=item Directories for the perl distribution
-By default, Configure will use the following directories for 5.31.10.
+By default, Configure will use the following directories for 5.33.1.
$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
=item LD_LIBRARY_PATH
If you run into dynamic loading problems, check your setting of
-the LD_LIBRARY_PATH environment variable. If you're creating a static
-Perl library (libperl.a rather than libperl.so) it should build
-fine with LD_LIBRARY_PATH unset, though that may depend on details
-of your local setup.
+the LD_LIBRARY_PATH environment variable (or on some systems the equivalent
+with a different name, see L</Building a shared Perl library>). If you're
+creating a static Perl library (libperl.a rather than libperl.so) it should
+build fine with LD_LIBRARY_PATH unset, though that may depend on details of
+your local setup.
=item nm extraction
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
+it has any relevant advice. You can also look through config.h
for likely suspects.
=item toke.c
executables in the target system, such as an ssh connection; this is the
C<./Configure -Dusecrosscompile -Dtargethost=...> route. The second
method doesn't need access to the target system, but requires you to
-provide a config.sh, and and a canned Makefile; the rest of this section
+provide a config.sh, and a canned Makefile; the rest of this section
describes the former.
This cross-compilation setup of Configure has successfully been used in
=head1 Coexistence with earlier versions of perl 5
-Perl 5.31.10 is not binary compatible with earlier versions of Perl.
+Perl 5.33.1 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 stable version of Perl
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.31.10
+ sh Configure -Dprefix=/opt/perl5.33.1
-and adding /opt/perl5.31.10/bin to the shell PATH variable. Such users
+and adding /opt/perl5.33.1/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.31.8 or earlier
+=head2 Upgrading from 5.32.0 or earlier
-B<Perl 5.31.10 may not be binary compatible with Perl 5.31.8 or
+B<Perl 5.33.1 may not be binary compatible with Perl 5.32.0 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.31.10. If you find you do need to rebuild an extension with
-5.31.10, you may safely do so without disturbing the older
+used with 5.33.1. If you find you do need to rebuild an extension with
+5.33.1, 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.31.10 is as follows (under $Config{prefix}):
+in Linux with perl-5.33.1 is as follows (under $Config{prefix}):
./bin/perl
- ./lib/perl5/5.31.10/strict.pm
- ./lib/perl5/5.31.10/warnings.pm
- ./lib/perl5/5.31.10/i686-linux/File/Glob.pm
- ./lib/perl5/5.31.10/feature.pm
- ./lib/perl5/5.31.10/XSLoader.pm
- ./lib/perl5/5.31.10/i686-linux/auto/File/Glob/Glob.so
+ ./lib/perl5/5.33.1/strict.pm
+ ./lib/perl5/5.33.1/warnings.pm
+ ./lib/perl5/5.33.1/i686-linux/File/Glob.pm
+ ./lib/perl5/5.33.1/feature.pm
+ ./lib/perl5/5.33.1/XSLoader.pm
+ ./lib/perl5/5.33.1/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