Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jan 2016 16:46:04 +0100
From:      Rainer Hurling <rhurlin@gwdg.de>
To:        "Julian H. Stacey" <jhs@berklix.com>
Cc:        <office@freebsd.org>
Subject:   Re: maintainer-feedback requested: [Bug 206191] german/hunspell: Does not build, when LANG=de_DE.UTF-8
Message-ID:  <5696713C.2010600@gwdg.de>
In-Reply-To: <201601131502.u0DF1off026546@fire.js.berklix.net>
References:  <201601131502.u0DF1off026546@fire.js.berklix.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Julian,

Am 13.01.16 um 16:01 schrieb Julian H. Stacey:
> Hi, Reference:
>> From:		bugzilla-noreply@freebsd.org
>> Date:		Wed, 13 Jan 2016 10:56:40 +0000
> 
> bugzilla-noreply@freebsd.org wrote:
>> Rainer Hurling <rhurlin@gwdg.de> has reassigned Bugzilla Automation
>> <bugzilla@FreeBSD.org>'s request for maintainer-feedback to office@FreeBSD.org:
> 
> 
>> Bug 206191: german/hunspell: Does not build, when LANG=de_DE.UTF-8
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206191
>>
>>
>>
>> --- Description ---
>> Created attachment 165492
>>   --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=165492&action=edit
>> patch to make the build of german/hunspell independend from locale settings
>>
>> I am not able to build german/hunspell for some time now:
>>
>>
>> [..snip..]
>> cat hunspell-capmain-plus_de_CH.tmp.unfiltered-list.tmp | ( sed -f
>> ./bin/dic2iso | aspell --encoding=iso8859-1 --lang=de_CH
>> --local-data-dir=./aspell expand ) >
>> hunspell-capmain-plus_de_CH.tmp.unfiltered-list-expanded.tmp
>> sed -f ./bin/dic2iso <
>> hunspell-capmain-plus_de_CH.tmp.unfiltered-list-expanded.tmp |sed "s/qq//g" |
>> nl | hunspell `hunspell -h 2>&1 | grep -q "hunspell \\-i" && echo "-i latin1"`
>> -d hunspell/de_CH_small -L > hunspell-capmain-plus_de_CH.tmp.unknown.tmp
>> error: line 1: missing or bad word count in the dic file
>> Hash Manager Error : 4
>> sed "s/^ *\([0-9]*\)\t.*$/\1/" hunspell-capmain-plus_de_CH.tmp.unknown.tmp >
>> hunspell-capmain-plus_de_CH.tmp.list-unknown-lines.tmp
>> ./bin/extractlines.pl hunspell-capmain-plus_de_CH.tmp.list-unknown-lines.tmp
>> hunspell-capmain-plus_de_CH.tmp.unfiltered-list.tmp >
>> hunspell-capmain-plus_de_CH.tmp.tmp
>> ./bin/hunspell-capmain hunspell-capmain-plus_de_CH.tmp.tmp | sed -f
>> ./bin/iso2dic > hunspell-capmain-plus_de_CH.tmp
>> sed: 3: ./bin/iso2dic: RE error: illegal byte sequence
>> + INFILE=hunspell-capmain-plus_de_CH.tmp.tmp
>> + test -z hunspell-capmain-plus_de_CH.tmp.tmp
>> + grep $'^[A-Z\304\326\334\311]' hunspell-capmain-plus_de_CH.tmp.tmp
>> + grep -v -- --x
>> + ./bin/myspellfixprefix.pl
>> + ./bin/lcfirst.pl
>> + sed 's:$:/ozm: ; s:/\(.*\)/:/\1: ; s:--x::'
>> + echo
>> Makefile:341: die Regel für Ziel „hunspell-capmain-plus_de_CH.tmp“ scheiterte
>> gmake[2]: *** [hunspell-capmain-plus_de_CH.tmp] Fehler 1
>> gmake[2]: Verzeichnis „/usr/ports/german/hunspell/work/igerman98-20151222“ wird
>> verlassen
>> ===> Compilation failed unexpectedly.
>>
>>
>> This error was reported some years ago in a mail[1] and as bug #175423, but
>> seems not definitely solved?
>>
>> As far as I can see, it is a problem with the locale environment, especially
>> with some LANG= settings, for example with LANG=de_DE.UTF-8. Probably, it
>> occurs on from the latest UTF changes in base?
>>
>> If I unset LANG= or set it to LANG=C, all builts fine. The appended patch
>> solved the problem for at least my german locale settings.
>>
>> My boxes run a very recent FreeBSD 11.0-CURRENT amd64.
>>
>>
>> [1] http://lists.freebsd.org/pipermail/freebsd-office/2011-August/000084.html
>> _______________________________________________
>> freebsd-office@freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-office
>> To unsubscribe, send any mail to "freebsd-office-unsubscribe@freebsd.org"
>>
> 
> Hi rhurlin@gwdg.de
> You have re-allocated this bug to wrong list.  office@ gets too
> many automated error reports already.  Many on office@ will never
> have heard of german/hunspell & have zero use for it.  german/hunspel
> is not a monster office app, its a little X tool for German

I filed a PR via Bugzilla, as usual. The allocation was done by the
Bugzilla system, because office@ is mentioned in german/hunspell as
maintainer address. So there is no re-allocation by me ;)

AFAIK, it is not the submitter, who sets the allocation, but the system.

> 
> I just did a succesful build
>   uname -a
>     FreeBSD lapr.js.berklix.net 11.0-CURRENT FreeBSD 11.0-CURRENT
>     #12182: Mon Oct 19 23:57:08 CEST 2015
>     jhs@lapr.js.berklix.net:/usr/src/sys/amd64/compile/LAPR.small
>     amd64
>   my ports/ are current yesterday, my src/ is an old 4 or 5 week current.

german/hunspell was updated today, so I wanted to rebuild and update my
installation of the port.

>   I won't invoke a browser to read a bug report for some
>   port I've never heard of, which did not build for someone 
>   but does build here. Personaly
>   I avoid Locale environmental stuff like the plague. 
>   & use Ascii, & spell German Umlauts as AE OE UE etc.

If I understand right, you build the port without setting locales to
something like de_DE.UTF-8 (or other no standard). Of course, this will
work as expected. The build error only happens, if LANG= and LC_ALL= are
not set to the default.

With r290494 and follow-ups in the base system, bapt@ brought in many
improvements to collation string and locales support. After those
updates, a few of my installed ports had problems with locales in the
build process, when set to any other than 'C'. There were some
discussions in the last weeks about problems like this on the mailing
lists, for example [1]. Even ports like lang/gcc48 etc were affected on
systems with non-standard locales.

> If you want more testing on your Locale issue,  please provide
> an explicit script of all setenv & unsetenv, & revert your re-assign, away
> from office@ to http://lists.freebsd.org/mailman/listinfo/freebsd-i18n

To reproduce the failure, I think it is sufficient, to set the following
in ~/.login_conf and after that, to log in into that account:

me:\
	:charset=UTF-8:\
	:lang=de_DE.UTF-8:\
	:setenv=LC_COLLATE=C,LC_CTYPE=de_DE.UTF-8,LC_TIME=de_DE.UTF-8,LC_NUMERIC=de_DE.UTF-8,LC_MONETARY=de_DE.UTF-8,TZ=Europe/Berlin:

This gives the following local settings, which also could be set manually:

#locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_COLLATE=C
LC_TIME="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_ALL=

Greetings,
Rainer

[1] https://www.mail-archive.com/freebsd-ports@freebsd.org/msg66706.html

> 
> Cheers,
> Julian
> --
> Julian Stacey,  BSD Linux Unix Sys. Eng. Consultant Munich http://berklix.com
>  Reply After previous text to preserve context, as in a play script.
>  Indent previous text with > 		Insert new lines before 80 chars.
>  Use plain text, Not quoted-printable, Not HTML, Not base64, Not MS.doc.
> 





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5696713C.2010600>