xref: /openbsd/gnu/usr.bin/perl/README.linux (revision e0680481)
1*e0680481Safresh1# vim: syntax=pod
2*e0680481Safresh1
352bd00bfSmillertIf you read this file _as_is_, just ignore the funny characters you
452bd00bfSmillertsee.  It is written in the POD format (see pod/perlpod.pod) which is
552bd00bfSmillertspecifically designed to be readable as is.
652bd00bfSmillert
752bd00bfSmillert=head1 NAME
852bd00bfSmillert
9898184e3Ssthenperllinux - Perl version 5 on Linux systems
1052bd00bfSmillert
1152bd00bfSmillert=head1 DESCRIPTION
1252bd00bfSmillert
1352bd00bfSmillertThis document describes various features of Linux that will affect how Perl
1452bd00bfSmillertversion 5 (hereafter just Perl) is compiled and/or runs.
1552bd00bfSmillert
1656d68f1eSafresh1=head2 Deploying Perl on Linux
1756d68f1eSafresh1
1856d68f1eSafresh1Normally one can install F</usr/bin/perl> on Linux using your distribution's
1956d68f1eSafresh1package manager (e.g: C<sudo apt-get install perl>, or
2056d68f1eSafresh1C<sudo dnf install perl>). Note that sometimes one needs to install some
2156d68f1eSafresh1extra system packages in order to be able to use CPAN frontends, and that
2256d68f1eSafresh1messing with the system's perl is not always recommended. One can use
2356d68f1eSafresh1L<perlbrew|https://perlbrew.pl/> to avoid such issues.
2456d68f1eSafresh1
2556d68f1eSafresh1Otherwise, perl should build fine on Linux using the mainstream compilers
2656d68f1eSafresh1GCC and clang, while following the usual instructions.
2756d68f1eSafresh1
2852bd00bfSmillert=head2 Experimental Support for Sun Studio Compilers for Linux OS
2952bd00bfSmillert
30898184e3SsthenSun Microsystems has released a port of their Sun Studio compilers for
3156d68f1eSafresh1Linux.  As of May 2019, the last stable release took place on 2017, and one can
3256d68f1eSafresh1buy support contracts for them.
3352bd00bfSmillert
3456d68f1eSafresh1There are some special instructions for building Perl with Sun Studio on
3556d68f1eSafresh1Linux.  Following the normal C<Configure>, you have to run make as follows:
3652bd00bfSmillert
3752bd00bfSmillert    LDLOADLIBS=-lc make
3852bd00bfSmillert
3956d68f1eSafresh1C<LDLOADLIBS> is an environment variable used by the linker to link
4052bd00bfSmillertC</ext> modules to glibc.  Currently, that environment variable is not getting
4152bd00bfSmillertpopulated by a combination of C<Config> entries and C<ExtUtil::MakeMaker>.
4252bd00bfSmillertWhile there may be a bug somewhere in Perl's configuration or
4352bd00bfSmillertC<ExtUtil::MakeMaker> causing the problem, the most likely cause is an
4452bd00bfSmillertincomplete understanding of Sun Studio by this author.  Further investigation
4552bd00bfSmillertis needed to get this working better.
4652bd00bfSmillert
4752bd00bfSmillert=head1 AUTHOR
4852bd00bfSmillert
4952bd00bfSmillertSteve Peters <steve@fisharerojo.org>
5052bd00bfSmillert
5198dafc01Safresh1Please report any errors, updates, or suggestions to
5298dafc01Safresh1L<https://github.com/Perl/perl5/issues>.
5352bd00bfSmillert
54