Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 11 Mar 2016 16:13:31 +0900
From: Masanori Ogino <>
Subject: Re: [PATCH] Add `intl` to EMPTY_LIB_NAMES.

2016-03-11 13:58 GMT+09:00 Rich Felker <>:
> On Tue, Mar 08, 2016 at 02:50:51PM +0900, OGINO Masanori wrote:
>> It makes programs that depend on libintl work with musl.
>> Signed-off-by: OGINO Masanori <>
>> ---
>>  Makefile | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> diff --git a/Makefile b/Makefile
>> index ec54880..394b32f 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -60,7 +60,7 @@ GENERIC_INCLUDES = $(wildcard $(srcdir)/arch/generic/bits/*.h)
>>  INCLUDES = $(wildcard $(srcdir)/include/*.h $(srcdir)/include/*/*.h)
>>  ALL_INCLUDES = $(sort $(INCLUDES:$(srcdir)/%=%) $(GENH:obj/%=%) $(ARCH_INCLUDES:$(srcdir)/arch/$(ARCH)/%=include/%) $(GENERIC_INCLUDES:$(srcdir)/arch/generic/%=include/%))
>> -EMPTY_LIB_NAMES = m rt pthread crypt util xnet resolv dl
>> +EMPTY_LIB_NAMES = m rt pthread crypt util xnet resolv dl intl
>>  EMPTY_LIBS = $(EMPTY_LIB_NAMES:%=lib/lib%.a)
>>  CRT_LIBS = $(addprefix lib/,$(notdir $(CRT_OBJS)))
>>  STATIC_LIBS = lib/libc.a
> Sorry for not responding to this sooner.

No problem. Thank you for the reply.

> I think we need more information to know if this is a good idea. The other libs in
> EMPTY_LIBS are standard names specified by POSIX, whereas libintl is a
> GNU thing, and I think some distros are using GNU libintl alongside
> musl (mainly for legacy reasons). Adding this might break things for
> them.

OK, I understood. I use Gentoo Linux (its musl userland uses musl's
libintl) and found that a package failed to link to libintl with musl,
so I sent the patch. The failure was actually a bug of the distro,

> From what I remember, the core problem here is that the autoconf
> tests for gettext wrongly detect that musl does not have a suitable
> gettext (because they probe for glibc-internal symbols) and these
> packages are trying to use an external GNU libintl instead. Perhaps
> someone who's followed the issue closely could link to the old threads
> on it, or bugtracker items?
> Rich

Now I got them thanks to Google:

>From the last link:
> According to the post linked from the above, the check seems to be there
> to exclude incompatible implementations of gettext(), like Solaris 7 and
> NetBSD:
> If musl's gettext implementation is compatible with GNU gettext, I guess
> we could adjust the check to accept it.  However, I have no idea which
> symbols or macros can be used for the check.  It would be helpful if
> musl people could chime in and give us a hint.

Masanori Ogino

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.