After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 650342 - [regression] build failure in git/master:
[regression] build failure in git/master:
Status: RESOLVED NOTGNOME
Product: gnome-control-center
Classification: Core
Component: general
3.0.x
Other Linux
: Normal critical
: ---
Assigned To: Control-Center Maintainers
Control-Center Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-05-16 19:07 UTC by David Ronis
Modified: 2011-06-17 10:17 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description David Ronis 2011-05-16 19:07:33 UTC
I just tried to upgrade my git master g-c-c (I last sucessfully built it on May 8).   The build dies with:

make[4]: Entering directory `/home/ronis/Project/notar/GNOME/garnome/svn/gnome-control-center/work/main.d/gnome-control-center-git/panels/info'
./test-hostname > /dev/null

info-cc-panel-ERROR **: Result for 'M�llers Computer' doesn't match 'mullers-computer' (got: 'm-ullers-computer')
/bin/sh: line 1: 12981 Trace/breakpoint trap   (core dumped) ./test-hostname > /dev/null
Comment 1 Bastien Nocera 2011-05-16 22:00:01 UTC
What's your locale?
Comment 2 David Ronis 2011-05-17 01:52:43 UTC
locale gives:

LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=en_US
Comment 3 Bastien Nocera 2011-05-17 14:26:12 UTC
Please test with this commit:

commit 11571bf609659008a0093abaf71ded91b9c98c6a
Author: Bastien Nocera <hadess@hadess.net>
Date:   Tue May 17 15:19:46 2011 +0100

    info: Split test cases into separate file
    
    This fixes errors when run in non-UTF-8 locales.

If it doesn't work, attach the full output of:
./test-hostname hostnames-test.txt
Comment 4 David Ronis 2011-05-17 16:40:20 UTC
Updated the git/master and rebuilt from scratch.   The compilation still fails, but with a slightly different form of the error message:

  CCLD   libinfo.la
./test-hostname ./hostnames-test.txt > /dev/null

info-cc-panel-ERROR **: Result for 'M\xfcllers Computer' doesn't match 'mullers-computer' (got: 'm-ullers-computer')
/bin/sh: line 1: 26086 Trace/breakpoint trap   (core dumped) ./test-hostname ./hostnames-test.txt > /dev/null
make[4]: *** [check-local] Error 133

Running 

./test-hostname hostnames-test.txt gives:

./test-hostname hostnames-test.txt
(process:26827): info-cc-panel-DEBUG: Input: 'Lennart's PC'
(process:26827): info-cc-panel-DEBUG: 	translit: 'Lennart's PC'
(process:26827): info-cc-panel-DEBUG: 	apostrophes: 'Lennarts PC'
(process:26827): info-cc-panel-DEBUG: 	canon: 'Lennarts-PC'
(process:26827): info-cc-panel-DEBUG: 	leading: 'Lennarts-PC'
(process:26827): info-cc-panel-DEBUG: 	trailing: 'Lennarts-PC'
(process:26827): info-cc-panel-DEBUG: 	duplicate: 'Lennarts-PC'
(process:26827): info-cc-panel-DEBUG: Result for 'Lennart's PC' matches 'lennarts-pc'
(process:26827): info-cc-panel-DEBUG: Input: 'Lennart's PC'
(process:26827): info-cc-panel-DEBUG: 	translit: 'Lennart's PC'
(process:26827): info-cc-panel-DEBUG: 	apostrophes: 'Lennarts PC'
(process:26827): info-cc-panel-DEBUG: 	canon: 'Lennarts-PC'
(process:26827): info-cc-panel-DEBUG: 	leading: 'Lennarts-PC'
(process:26827): info-cc-panel-DEBUG: 	trailing: 'Lennarts-PC'
(process:26827): info-cc-panel-DEBUG: 	duplicate: 'Lennarts-PC'
(process:26827): info-cc-panel-DEBUG: Result for 'Lennart's PC' matches 'Lennarts-PC'
(process:26827): info-cc-panel-DEBUG: Input: 'M�llers Computer'
(process:26827): info-cc-panel-DEBUG: 	translit: 'M"ullers Computer'
(process:26827): info-cc-panel-DEBUG: 	apostrophes: 'M"ullers Computer'
(process:26827): info-cc-panel-DEBUG: 	canon: 'M-ullers-Computer'
(process:26827): info-cc-panel-DEBUG: 	leading: 'M-ullers-Computer'
(process:26827): info-cc-panel-DEBUG: 	trailing: 'M-ullers-Computer'
(process:26827): info-cc-panel-DEBUG: 	duplicate: 'M-ullers-Computer'

info-cc-panel-ERROR **: Result for 'M\xfcllers Computer' doesn't match 'mullers-computer' (got: 'm-ullers-computer')
Trace/breakpoint trap (core dumped)
Comment 5 Bastien Nocera 2011-05-17 16:50:54 UTC
I think your locale must be busted, or something.

There's no way ü should be transliterated to "u. Is this running in the "C" locale instead of a useful one?
Comment 6 David Ronis 2011-05-17 18:17:14 UTC
Not as far as I can figure out (see comment 2).
Comment 7 Bastien Nocera 2011-05-18 12:10:56 UTC
I ended up forcing en_US.UTF-8 as the locale in the tests, and it's the only one we know will work for certain.

I'm pretty certain your compilation environment is running as the C locale, or you have incomplete glibc locale data, otherwise ü would not get transliterated to u" (and that was the only way I could reproduce your problem).

commit d1a1a060cfbb4b97725cf87a6ef5e03043754b7a
Author: Bastien Nocera <hadess@hadess.net>
Date:   Wed May 18 13:08:43 2011 +0100

    info: Work-around test failing in some locales
    
    https://bugzilla.gnome.org/show_bug.cgi?id=650342
Comment 8 David Ronis 2011-05-18 15:03:37 UTC
I updated g-c-c via git, rebuilt configure, and tried to rebuild.   I get the same error:

Merging translations into gnome-info-panel.desktop.
  CCLD   libinfo.la
./test-hostname ./hostnames-test.txt > /dev/null

info-cc-panel-ERROR **: Result for 'M��llers Computer' doesn't match 'mullers-computer' (got: 'm-ullers-computer')
/bin/sh: line 1: 24431 Trace/breakpoint trap   (core dumped) ./test-hostname ./hostnames-test.txt > /dev/null
make[4]: *** [check-local] Error 133

I've got glib 2.29.4 installed.  The only nonstandard options used in configuring glib were --enable-explicit-deps=yes  --with-libiconv=gnu.

Finally, I've set up locale as:

locale
LANG=C
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

I've reopened the bug.
Comment 9 Bastien Nocera 2011-05-18 15:14:37 UTC
(In reply to comment #8)
<snip>
> I've got glib 2.29.4 installed.  The only nonstandard options used in
> configuring glib were --enable-explicit-deps=yes  --with-libiconv=gnu.

I didn't say glib, but glibc.

You'll need to check with your distribution that it's working properly. Seeing as the test can't even print out "Müllers" properly, I doubt that there's any sort of i18n support there.
Comment 10 David Ronis 2011-05-18 18:32:32 UTC
As you've guesssed, I've got an older version of glibc (slackware 12.2).   Is this test new?  Things worked a few days ago.
Comment 11 Bastien Nocera 2011-05-18 19:02:53 UTC
(In reply to comment #10)
> As you've guesssed, I've got an older version of glibc (slackware 12.2).   Is
> this test new?  Things worked a few days ago.

The test is new, the functionality it uses isn't. See:
http://git.gnome.org/browse/gnome-control-center/tree/panels/info/hostname-helper.c#n114
Comment 12 David Ronis 2011-06-07 02:38:40 UTC
I've upgraded this box to slackware-13.37.0 (the current release).   The problem remains.   Also, for what it's worth, there is an installed  package called:  var/log/packages/glibc-i18n-2.13-i486-4 which sounds like the i18n support is there.

Finally, I just noticed that the build commands seem to be prefixed by LC_ALL=C, like:

LC_ALL=C /opt/garnome-svn-3.1.1/bin/intltool-merge -d -u -c ../../po/.intltool-merge-cache ../../po gnome-region-panel.desktop.in gnome-region-panel.desktop
Found cached translation database
Merging translations into gnome-region-panel.desktop.
  CCLD   libregion.la

This is after a make distclean and reconfiguring etc., with LC_ALL=en_US.UTF-8
Comment 13 David Ronis 2011-06-15 22:48:05 UTC
ping!
Comment 14 David Ronis 2011-06-15 22:52:12 UTC
I manually changed all references to LC_ALL=C to LC_ALL=en_US.UTF8 in all makefiles.  The problem remains.
Comment 15 Bastien Nocera 2011-06-16 08:57:36 UTC
You're still the only person to have reported that problem. I still think your system is inadequate, but I'm afraid that I won't be spending time checking whether the Slackware i18n support is correct or not...
Comment 16 David Ronis 2011-06-16 14:32:51 UTC
I found the problem.   I'm building in a heavily modified garnome environment, which sets nonstandard prefixes in configure (in particular,  to /opt/garnome-xx-yy/).   Somehow, g-c-c is using this information literally, and is trying to find /opt/garnome-xx-yy/lib/locale which doesn't exist.   My locale support comes from slackware and the directory is in it's usual place /usr/lib/locale.   Making a soft link fixes the problem; however, shouldn't there be some sort of local_path to list possible places where the locale information is stored?
Comment 17 Bastien Nocera 2011-06-17 10:17:11 UTC
Your glibc can't find the locale. There's no actual locale needs from the test application.