lightdm-1.4.0 fails to build on uclibc due to LC_IDENTIFICATION undeclared

Bug #1073080 reported by Natanael Copa
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Light Display Manager
Triaged
Medium
Unassigned

Bug Description

When trying to build lightdm against uClibc on Alpine Linux I get the following error:

  CC liblightdm_gobject_1_la-session.lo
  CC liblightdm_gobject_1_la-user.lo
language.c: In function 'lightdm_language_get_name':
language.c:232:24: error: 'LC_IDENTIFICATION' undeclared (first use in this function)
language.c:232:24: note: each undeclared identifier is reported only once for each function it appears in
language.c:235:47: error: '_NL_IDENTIFICATION_LANGUAGE' undeclared (first use in this function)
language.c: In function 'lightdm_language_get_territory':
language.c:275:24: error: 'LC_IDENTIFICATION' undeclared (first use in this function)
language.c:278:46: error: '_NL_IDENTIFICATION_TERRITORY' undeclared (first use in this function)
make[2]: *** [liblightdm_gobject_1_la-language.lo] Error 1
make[2]: Leaving directory `/home/ncopa/aports/testing/lightdm/src/lightdm-1.4.0/liblightdm-gobject'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ncopa/aports/testing/lightdm/src/lightdm-1.4.0'
make: *** [all] Error 2

adding --disable-nls does not help.

Tags: uclibc
Changed in lightdm:
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
John Hein (xpqheqdvq4) wrote :

It's not clear to me that the use of LC_IDENTIFICATION in language.c is correct.

The ISO/IEC TR 14652:2002(E) Technical Report, section 4.2, seems to be describing meta data associated with the FDCC-set.
http://www.open-std.org/jtc1/SC22/WG20/docs/n972-14652ft.pdf

The glibc docs (https://sourceware.org/glibc/wiki/Locales) don't shed much light on the use of LC_IDENTIFICATION -

"LC_IDENTIFICATION - this is not a user-visible category but contains information about the locale itself and is rarely useful for users or developers (but is listed here for completeness sake)."

  and, if you are defining a new locale file:

"This category is pretty much self-explaining. You should be able to fill this category by using other locales as examples. "

Maybe LANG should be used in the setlocale() invocations in language.c? But to be honest, it's not completely clear to me what exactly the code around setlocale(LC_IDENTIFICATION, ...) in the two spots in language.c is trying to accomplish.

Maybe if someone could explain what that code is doing, we could come up with a solution for this bug.

FYI, BSD systems don't have LC_IDENTIFICATION either. So they fail to compile as well.

Revision history for this message
Preston Baker (presbaker) wrote :

Building lightdm-1.22 against musl libc (http://www.musl-libc.org/) fails for the same reason.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.