Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Building Perl 5.28.0 on OpenBSD 6.4 -current

by fishy (Pilgrim)
on Nov 04, 2018 at 19:02 UTC ( #1225215=perlquestion: print w/replies, xml ) Need Help??

fishy has asked for the wisdom of the Perl Monks concerning the following question:

Hello Fellows,

I'm trying to build Perl 5.28.0 on OpenBSD 6.4 -current (snapshot november 03, 2018) but with only 99.96% success.

That is because when testing I get:

Failed 1 test out of 2459, 99.96% okay. run/locale.t
Running ./perl harness on t/run/locale.t, I get:
$ cd src/perl-5.28.0 $ LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH; cd t; ./perl harness +t/run/locale.t run/locale.t .. 2/? # Failed test 8 - In setting complicated invalid L +C_ALL, final individ category doesn't need a ';' at run/locale.t line + 482 # got "65280" # expected "0" # Failed test 9 - In setting complicated valid LC_ALL, final individ c +ategory doesn't need a ';' at run/locale.t line 491 # got "65280" # expected "0" run/locale.t .. Failed 2/9 subtests (less 1 skipped subtest: 6 okay) Test Summary Report ------------------- run/locale.t (Wstat: 0 Tests: 9 Failed: 2) Failed tests: 8-9 Files=1, Tests=9, 1 wallclock secs ( 0.02 usr 0.02 sys + 0.28 cusr + 0.20 csys = 0.52 CPU) Result: FAIL

Following the "make test" section of the INSTALL document (in perl source code), I tried without success the setting:

LC_ALL=C;export LC_ALL

Then I found this post where Karl Williamson wrote:

"locale tests can fail for a number of reasons. There could be a bug in
perl; there could be a bug in the platform; there could be a bug in a
particular locale definition."

Finally I digged deeper into the web and found following related tickets:
RT 122296 (year 2014)
RT 129953 (year 2016)

Now I'm confused and want to ask for some enlightenment.
I could install Perl and there will be no problem at all, maybe.

Just in case, my Configure arguments:

config_args='-des -Dprefix=/home/puffy/opt/perl-5.28 -Dman1dir=none -D +man3dir=none -Dsite1dir=none -Dsite3dir=none -Dvendorman1=none -Dvend +orman3=none'

Thanks and greetings.

Replies are listed 'Best First'.
Re: Building Perl 5.28.0 on OpenBSD 6.4 -current
by haukex (Chancellor) on Nov 04, 2018 at 20:45 UTC
    Failed 1 test out of 2459, 99.96% okay. ... run/locale.t .. Failed 2/9 subtests

    Looking at the source, it's really just testing what the message said: complicated LC_ALL settings. AFAIK, this should only affect you if you're using locale in the first place (are you?) and you happen to trigger this specific bug with a complicated LC_ALL. If you think that's unlikely, I'd probably go ahead and ignore it and install Perl. You can of course also report this via perlbug.

      Thank you for your time, haukex!
Re: Building Perl 5.28.0 on OpenBSD 6.4 -current
by bliako (Vicar) on Nov 05, 2018 at 09:49 UTC

    I suggest you start by editing lines 482 and 491 of t/run/locale.t to print out $valid_string and $invalid_string, like so:

    is ($?, 0, "In setting complicated valid LC_ALL, final individ categor +y doesn't need a \';'. valid_string is '$valid_string'");

    That last test (the one which fails, in line 491) is skipped only if your current locale is neither C nor POSIX (see line 70). So it is also worth printing out from the shell your current locale, just to be sure what you have:

    echo $LC_ALL

    btw, exporting shell variables can be achieved by the shorter:

    export LC_ALL=C

    And once you are there, print all the locales the test script found around line 24 (e.g. print join(",", @locales)."\n";)

    Edit: the source of the locale.t is here

      Thank you bliako,

      Printing on lines 482 and 491, I got:

      invalid_string is 'LC_COLLATE=foo_BAR;LC_CTYPE=foo_BAR;LC_MESSAGES=foo_BAR;LC_MONETARY=foo_BAR;LC_NUMERIC=foo_BAR'


      echo $LC_ALL
      printed nothing.

      I will investigate further.
      Thanks again.
        I will investigate further.

        There's a bug report just created about this at:

        It suggests that the test failure can be avoided by building a threaded perl.
        (Of course, there's no implication that such an avoidance should be regarded as a solution.)

        I suggest that you follow that bug report - or even contribute to it if you've discovered something that might be useful.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1225215]
Approved by Perlbotics
Front-paged by Corion
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (1)
As of 2019-08-21 03:12 GMT
Find Nodes?
    Voting Booth?

    No recent polls found