Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Petitboot translations broken with Buildroot 2018.05-op-build onwards #2225

Open
sammj opened this issue Jul 13, 2018 · 8 comments
Open

Petitboot translations broken with Buildroot 2018.05-op-build onwards #2225

sammj opened this issue Jul 13, 2018 · 8 comments
Assignees

Comments

@sammj
Copy link
Contributor

sammj commented Jul 13, 2018

After commit 35ac8f6 we appear to be missing some locale support in Petitboot:

 Petitboot Language Selection
 ──────────────────────────────────────────────────────────────────────────────
  Language       ( ) Deutsch
                 (*) English
                 ( ) Unable to display text in this locale (C)
                 ( ) Unable to display text in this locale (C)
                 ( ) Italiano
                 ( ) Unable to display text in this locale (C)
                 ( ) Unable to display text in this locale (C)
                 ( ) Unable to display text in this locale (C)
                 ( ) Unable to display text in this locale (C)
                 ( ) Unable to display text in this locale (C)
                 ( ) Unable to display text in this locale (C)
                 [    OK    ]  [  Cancel  ]

Investigating..

@sammj
Copy link
Contributor Author

sammj commented Jul 18, 2018

This is caused by the update from glibc-2.26 to glib-2.27. From the release notes:

Deprecated and removed features, and other changes affecting compatibility:

* Statically compiled applications attempting to load locales compiled for the
  GNU C Library version 2.27 will fail and fall back to the builtin C/POSIX
  locale.  The reason for this is that the addition of the new "%OB" and "%Ob",
  support for two grammatical forms of the month names, also extends the locale
  data binary format.  Static applications needing locale support must be
  recompiled to match the runtime and data they are deployed with.

The same issue is discussed in this Buildroot bug: https://bugs.busybox.net/show_bug.cgi?id=11096
As the bug says downgrading glibc will temporarily fix it, but I'll see if there's a way to force Buildroot's localedef to be compiled against 2.27

@sammj
Copy link
Contributor Author

sammj commented Jul 24, 2018

I've pushed a proposed fix for this here: sammj/buildroot@b9ba0ff
This does a full glibc compile for the host which takes a little longer but avoids having to patch the glibc build to only build localedef.

@shlimeng
Copy link

applied the patch from sammj/buildroot@b9ba0ff, but build failed on openpower system with ubuntu distro.

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.4 LTS
Release:	16.04
Codename:	xenial
$ gcc --version
gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure: error: ***  binary128 floating point type (GCC >= 6.2) is required on powerpc64le.
package/pkg-generic.mk:213: recipe for target '/home/op-build/output/build/host-localedef-glibc-2.27-57-g6c99e37f6fb640a50a3113b2dbee5d5389843c1e/.stamp_configured' failed
make[1]: *** [/home/op-build/output/build/host-localedef-glibc-2.27-57-g6c99e37f6fb640a50a3113b2dbee5d5389843c1e/.stamp_configured] Error 1
Makefile:79: recipe for target '_all' failed
make: *** [_all] Error 2
make: Leaving directory '/home/op-build/buildroot'

@shlimeng
Copy link

This issue can be fixed with the patch from sammj/buildroot@b9ba0ff and update host gcc to 6.4.0 (GCC >= 6.2) when build pnor.
result shows below:

 Petitboot Language Selection
 ──────────────────────────────────────────────────────────────────────────────

  Language       (*) Deutsch
                 ( ) English
                 ( ) Español
                 ( ) Français
                 ( ) Italiano
                 ( ) 日本語
                 ( ) 한국어
                 ( ) Português/Brasil
                 ( ) Русский
                 ( ) 简体中文
                 ( ) 繁體中文

                 [    OK    ]  [  Cancel  ]

@sammj
Copy link
Contributor Author

sammj commented Feb 18, 2019

There's a second patch on the Buildroot list that runs with this idea but uses a glibc patch like ptxdist does to only build localedef which saves some build time. Ideally if that goes upstream it will fix this issue.
https://patchwork.ozlabs.org/patch/1008984/

@sammj sammj changed the title Pettitboot translations broken with Buildroot 2018.05-op-build Petitboot translations broken with Buildroot 2018.05-op-build onwards Feb 18, 2019
@sammj sammj self-assigned this Feb 18, 2019
@sammj
Copy link
Contributor Author

sammj commented Mar 14, 2019

This is a combination of my localdef patch and a following patch by Paul to avoid building the whole of glibc: sammj/buildroot@bdfd9ef
While we try and upstream something, is it worth carrying this in our branch so that we have translations? @shenki ?

@shenki
Copy link
Member

shenki commented Mar 14, 2019

Yes we can carry that. We're blocked on @stewart-ibm merging the latest buildroot bump, which is in turned blocked on some CI infrastructure updates.

I have appled the patch to our 2019.02-op-build tree now. It will come "for free" once we merge #2666.

shenki pushed a commit to open-power/buildroot that referenced this issue Mar 14, 2019
In glibc 2.27 the following change occurred:
"Statically compiled applications attempting to load locales compiled
for the GNU C Library version 2.27 will fail and fall back to the
builtin C/POSIX locale."

This impacts us since upstream buildroot uses a localdef built against
an older eglibc release [0].

This is a combination of my patch to move to glibc and Peter Seiderer's
patch to avoid building all of glibc just for localedef.

 [0] https://bugs.busybox.net/show_bug.cgi?id=11096

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
[localedef build & fixups:]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[not yet upstream: open-power/op-build#2225]
Signed-off-by: Joel Stanley <joel@jms.id.au>
shenki pushed a commit to shenki/buildroot that referenced this issue May 21, 2019
In glibc 2.27 the following change occurred:
"Statically compiled applications attempting to load locales compiled
for the GNU C Library version 2.27 will fail and fall back to the
builtin C/POSIX locale."

This impacts us since upstream buildroot uses a localdef built against
an older eglibc release [0].

This is a combination of my patch to move to glibc and Peter Seiderer's
patch to avoid building all of glibc just for localedef.

 [0] https://bugs.busybox.net/show_bug.cgi?id=11096

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
[localedef build & fixups:]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[not yet upstream: open-power/op-build#2225]
Signed-off-by: Joel Stanley <joel@jms.id.au>
shenki pushed a commit to shenki/buildroot that referenced this issue May 21, 2019
In glibc 2.27 the following change occurred:
"Statically compiled applications attempting to load locales compiled
for the GNU C Library version 2.27 will fail and fall back to the
builtin C/POSIX locale."

This impacts us since upstream buildroot uses a localdef built against
an older eglibc release [0].

This is a combination of my patch to move to glibc and Peter Seiderer's
patch to avoid building all of glibc just for localedef.

 [0] https://bugs.busybox.net/show_bug.cgi?id=11096

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
[localedef build & fixups:]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[not yet upstream: open-power/op-build#2225]
Signed-off-by: Joel Stanley <joel@jms.id.au>
shenki pushed a commit to shenki/buildroot that referenced this issue May 27, 2019
In glibc 2.27 the following change occurred:
"Statically compiled applications attempting to load locales compiled
for the GNU C Library version 2.27 will fail and fall back to the
builtin C/POSIX locale."

This impacts us since upstream buildroot uses a localdef built against
an older eglibc release [0].

This is a combination of my patch to move to glibc and Peter Seiderer's
patch to avoid building all of glibc just for localedef.

 [0] https://bugs.busybox.net/show_bug.cgi?id=11096

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
[localedef build & fixups:]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[not yet upstream: open-power/op-build#2225]
Signed-off-by: Joel Stanley <joel@jms.id.au>
shenki pushed a commit to shenki/buildroot that referenced this issue Jun 2, 2019
In glibc 2.27 the following change occurred:
"Statically compiled applications attempting to load locales compiled
for the GNU C Library version 2.27 will fail and fall back to the
builtin C/POSIX locale."

This impacts us since upstream buildroot uses a localdef built against
an older eglibc release [0].

This is a combination of my patch to move to glibc and Peter Seiderer's
patch to avoid building all of glibc just for localedef.

 [0] https://bugs.busybox.net/show_bug.cgi?id=11096

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
[localedef build & fixups:]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[not yet upstream: open-power/op-build#2225]
Signed-off-by: Joel Stanley <joel@jms.id.au>
@sammj
Copy link
Contributor Author

sammj commented Jun 19, 2019

I've updated the above patch to match glibc 2.29 and posted it to the mailing list: sammj/buildroot@b02039d

sammj added a commit to sammj/buildroot that referenced this issue Jun 25, 2019
In glibc 2.27 the following change occurred:
"Statically compiled applications attempting to load locales compiled
for the GNU C Library version 2.27 will fail and fall back to the
builtin C/POSIX locale."

This impacts us since upstream buildroot uses a localdef built against
an older eglibc release [0].

This is a combination of my patch to move to glibc and Peter Seiderer's
patch to avoid building all of glibc just for localedef.

 [0] https://bugs.busybox.net/show_bug.cgi?id=11096

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
[localedef build & fixups:]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[not yet upstream: open-power/op-build#2225]
Signed-off-by: Joel Stanley <joel@jms.id.au>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants