-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Abe Timmerman wrote:
> Abe Timmerman wrote:
>> Automated smoke report for 5.10.0 patch 31938
>> wodan.test-smoke.org: Intel Pentium III (686-class) (i386/1 cpu)
>>     on        netbsd - 3.1
>>     using     cc version 3.3.3 (NetBSD nb3 20040520)
>>     smoketime 10 hours 54 minutes (average 1 hour 21 minutes)
> 
>> Summary: FAIL(F)
> 
> [snip]
> 
> That doesn't look good :(
> 
>       $ LC_ALL=en_US.UTF-8 ./perl -e '1'
>       perl: warning: Setting locale failed.
>       perl: warning: Please check that your locale settings:
>               LC_ALL = "en_US.UTF-8",
>               LANG = (unset)
>           are supported and installed on your system.
>       perl: warning: Falling back to the standard locale ("C").
> 
> I reconfigured with:
>       -A append:ccflags='-DNO_LOCALE_COLLATE -DNO_LOCALE_NUMERIC'
> 
> now:
> 
>       $ LC_ALL=en_US.UTF-8 PERLUNICODE="" ./perl harness
> 
> Yields the much better:
> 
> Failed Test     Stat Wstat Total Fail  List of Failed
> -------------------------------------------------------------------------------
> ../lib/locale.t              117   10  2-9 15 54
> uni/overload.t     8  2048   208    8  34 38 40 44 46 50 52 56
> 71 tests and 889 subtests skipped.
> Failed 2/1461 test scripts. 18/184551 subtests failed.
> Files=1461, Tests=184551, 1803 wallclock secs (684.07 cusr + 129.90 csys =
> 813.97 CPU)
> Failed 2/1461 test programs. 18/184551 subtests failed.
> 
> 
> Looking at lib/locale.t, it looks like tainting is not turned on for the
> LC_CTYPE goup of functions.
> 
> Looking at t/uni/overload.t, it looks like netbsd also has a broken
> 'en_GB.ISO8859-1', I can send a patch to add netbsd to the list.
> 
> 
> Now is it useful to try and make the locale work on NetBSD, without LC_COLLATE
> and LC_NUMERIC?
> 
> If so, is there a way to add those NO_LOCALE_xxx macro's only for the
> compilation of locale.c (by default on NetBSD)?

The attached patch:

        * adds $locale_cflags and $sv_cflags to hints/netbsd.sh with
- -DNO_LOCALE_COLLATE and -DNO_LOCALE_NUMERIC

        * adds netbsd to the list of osses that have a broken 'en_GB.ISO8859-1'


HTH +
Good luck,

Abe
- --
Documenting bugs before they're found is kinda hard.
Can I borrow your time machine? Mine won't start.
                                  -- Michael G. Schwern on p5p @ 2002-11-19
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG9aE20u0nt7xxiCIRAnrKAJ0ZTvoW5fnFcWt7B3GHXu0PvOPxhQCfUWn0
wbnAFwPREFUjsE78TjVLfLU=
=dBGp
-----END PGP SIGNATURE-----
diff -ruaN perl-5.10.0/hints/netbsd.sh perl-current/hints/netbsd.sh
--- perl-5.10.0/hints/netbsd.sh	2007-09-06 16:15:11.000000000 +0200
+++ perl-current/hints/netbsd.sh	2007-09-22 23:49:23.000000000 +0200
@@ -103,6 +103,14 @@
 	;;
 esac
 
+# @20070922: setlocale() doesn't support LC_COLLATE and LC_NUMERIC
+case "$osvers" in
+2.*|3.*|4.*)
+locale_cflags='ccflags="$ccflags -DNO_LOCALE_COLLATE -DNO_LOCALE_NUMERIC"'
+sv_cflags='ccflags="$ccflags -DNO_LOCALE_COLLATE"'
+	;;
+esac
+
 # These are obsolete in any netbsd.
 d_setrgid="$undef"
 d_setruid="$undef"
diff -ruaN perl-5.10.0/t/uni/overload.t perl-current/t/uni/overload.t
--- perl-5.10.0/t/uni/overload.t	2006-10-24 16:44:23.000000000 +0200
+++ perl-current/t/uni/overload.t	2007-09-22 20:10:52.000000000 +0200
@@ -101,7 +101,7 @@
 	skip "No setlocale", 24;
     } elsif (!setlocale(&POSIX::LC_ALL, "en_GB.ISO8859-1")) {
 	skip "Could not setlocale to en_GB.ISO8859-1", 24;
-    } elsif ($^O eq 'dec_osf' || $^O eq 'VMS') {
+    } elsif ($^O eq 'dec_osf' || $^O eq 'VMS' || $^O eq 'netbsd') {
 	skip "$^O has broken en_GB.ISO8859-1 locale", 24;
     } else {
 	use locale;

Reply via email to