On Sat, Aug 19, 2023 at 12:38:38AM +0200, Patrice Dumas wrote: > > Then the right thing is a configure test, that aborts the configuration > > with a message like "Your perl installations lacks the Unicode::Collate > > module. > > If you are on a Red Hat distribution, try installing the > > perl-Unicode-Collate > > package." > > I do not think that we should say something like that (if we did, we > should propose to install the perl package actually).
Yes and we shouldn't give instructions for all the different distributions. > I propose the attached patch. This would resolve the issue simply. Were the Encode and Data::Dumper modules in a similar situation in that they were not provided by some distributions in some perl configuarations? (In fact, this ChangeLog entry records the history:) 2019-01-05 Gavin Smith <gavinsmith0...@gmail.com> Check for Data::Dumper. * configure.ac: Check for Data::Dumper as well as Encode. Bruno Haible reported that Data::Dumper was missing on CentOS 7.3. (Mailing list link: https://lists.gnu.org/archive/html/bug-texinfo/2019-01/msg00031.html I'd forgotten about this completely. I haven't looked into the situation with Encode.) I've started investigating whether texi2any could provide a stub implementation of the Unicode::Collate interface for use if Unicode::Collate is not available, using simply the builtin Perl cmp operator for sorting. (As a reminder for anybody reading this discussion, this affects the sorting of document indices, and may be significant for documents written in languages other than English, but wouldn't make a noticeable difference in most cases.) This would help keep the dependencies of Texinfo small. I doubt that Data::Dumper is used much, mainly for the test suite, and texi2any could probably be made to run without it with no loss of functionality -- I'd have to investigate this too. > diff --git a/configure.ac b/configure.ac > index 1c7f337400..e996ced210 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -61,14 +61,14 @@ AC_ARG_VAR([PERL_EXT_LDFLAGS], [Linker flags for a Perl > extension]) > AC_ARG_VAR([PERL_EXT_CC], [Compiler for a Perl extension]) > > AC_MSG_CHECKING([Perl version and modules]) > -if $PERL -e "use 5.008_001; use Encode; use Data::Dumper" >/dev/null 2>&1; > then > +if $PERL -e "use 5.008_001; use Encode; use Data::Dumper; use > Unicode::Collate" >/dev/null 2>&1; then > perl_version_requirement='yes' > else > perl_version_requirement='no' > fi > AC_MSG_RESULT($perl_version_requirement) > if test z"$perl_version_requirement" = 'zno' ; then > - AC_MSG_ERROR([perl >= 5.8.1 with Encode and Data::Dumper required by > Texinfo.]) > + AC_MSG_ERROR([perl >= 5.8.1 with Encode, Data::Dumper and Unicode::Collate > required by Texinfo.]) > fi > >