-
Notifications
You must be signed in to change notification settings - Fork 601
Description
Hey there perl devs,
Have a look at the LFS/BLFS instructions in how to compile perl:
https://www.linuxfromscratch.org/lfs/view/development/chapter07/perl.html
sh Configure -des
-D prefix=/usr
-D vendorprefix=/usr
-D useshrplib
-D privlib=/usr/lib/perl5/5.40/core_perl
-D archlib=/usr/lib/perl5/5.40/core_perl
-D sitelib=/usr/lib/perl5/5.40/site_perl
-D sitearch=/usr/lib/perl5/5.40/site_perl
-D vendorlib=/usr/lib/perl5/5.40/vendor_perl
-D vendorarch=/usr/lib/perl5/5.40/vendor_perl
Sometimes we may also add:
-Duseshrplib -Dusethreads -Dusedevel -Dstatic_ext='Data/Dumper Fcntl IO POSIX'
Anyway. I believe this is cumbersome. You may also reason that the LFS/BLFS instruction
are not necessary. But, even in that case, I believe that the way how perl configures itself
is not good. Neither python nor ruby require the same, nor php by the way.
Python:
https://www.linuxfromscratch.org/blfs/view/svn/general/python3.html
CXX="/usr/bin/g++"
./configure --prefix=/usr
--enable-shared
--with-system-expat
--enable-optimizations &&
make
(Not sure setting CXX is necessary here, but LFS/BLFS tried to conform to
many different computer systems.)
Ruby:
https://www.linuxfromscratch.org/blfs/view/svn/general/ruby.html
./configure --prefix=/usr
--disable-rpath
--enable-shared
--without-valgrind
--without-baseruby
ac_cv_func_qsort_r=no
--docdir=/usr/share/doc/ruby-3.4.2 &&
make
Both ruby and perl conform to standard configure via "./configure".
Can you guys bring perl to 2025 and try for ./configure as well
rather than "sh Configure" asking numerous questions nobody
wants to answer?
I am aware that the perl instructions work well, so this is not a
very important request. But it would be better if perl could also
come along with python and ruby and just use a configure script
rather than find reasons to want to be different. Even PHP makes
use of configure:
https://www.linuxfromscratch.org/blfs/view/svn/general/php.html
./configure --prefix=/usr
--sysconfdir=/etc
--localstatedir=/var
--datadir=/usr/share/php
--mandir=/usr/share/man
--without-pear
--enable-fpm
--with-fpm-user=apache
--with-fpm-group=apache
--with-config-file-path=/etc
--with-zlib
--enable-bcmath
--with-bz2
--enable-calendar
--enable-dba=shared
--with-gdbm
--with-gmp
--enable-ftp
--with-gettext
--enable-mbstring
--disable-mbregex
--with-readline &&
make
PS: It may be reasonable to use "sh Configure" if no alternatives
exist, but if this is not the case, then I would highly recommend for
perl to join python, ruby, php etc... and also tap into "./configure".
Anyway, this was my suggestion - of course it is up to you whether
to consider this or not. Either way thanks for reading this and please
feel free to close the issue if it is not applicable or consider worth
the time investment for any change.