Skip to content

Not a bug, but a suggestion for an improvement #23174

@rubyFeedback

Description

@rubyFeedback

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions