[Buildroot] musl/gettext issue
Arnout Vandecappelle
arnout at mind.be
Thu Sep 17 22:27:21 UTC 2015
On 16-09-15 22:16, Thomas Petazzoni wrote:
[snip]
> But that doesn't work with a glibc configuration: BR2_PACKAGE_GETTEXT
> can be enabled, but we don't have a libintl library, because GNU
> gettext doesn't build one in a glibc configuration. We try to link
> against libintl, but it's not there, and the build fails.
>
> So, I see two possible options here:
>
> 1/ Simply do not allow the GNU gettext package to be built with glibc
> and musl since they provide the gettext functionality internally.
Problem: something like ecryptfs-utils, which needs the gettext program at
runtime...
> The only problem with this approach is that while httping is happy
> with the POSIX compliant gettext functionality of musl, some other
> programs such as Bison
> (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786885) will
> really need GNU gettext functionality.
This one could perhaps be solved by adding a BR2_HAS_GNU_GETTEXT. But again, of
course, it must be possible to select gettext in that case.
>
> 2/ Allows force to use GNU gettext in musl configurations. This simply
> consists in:
>
> config BR2_NEEDS_GETTEXT
> bool
> - default y if BR2_TOOLCHAIN_USES_UCLIBC
> + default y if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL
>
> I have tested this solution and it does work (obviously).
>
> The drawback is obviously that we are going to build/install GNU
> gettext even for cases where the internal gettext implementation
> of musl would have been sufficient.
That sounds like a bad idea. What's the point of using musl if you're going to
add a bunch of GNU extensions to it?
Another option is that we add a different flag to indicate the dependency on
libintl:
config BR2_PACKAGE_GETTEXT_WITH_LIBINTL
bool
default y
depends on BR2_PACKAGE_GETTEXT
depends on BR2_STATIC_LIBS
depends on !BR2_TOOLCHAIN_USES_GLIBC
HTTPING_LDFLAGS = $(TARGET_LDFLAGS) \
$(if $(BR2_PACKAGE_GETTEXT_WITH_LIBINTL),-lintl) \
There's just about 30 packages that ned to be adapted.
Regards,
Arnout
>
> Do you see some other options? Any opinion between the two proposed
> options?
>
> Thanks,
>
> Thomas
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
More information about the buildroot
mailing list