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 <masanori.ogino@...il.com>
To: musl@...ts.openwall.com
Subject: Re: [PATCH] Add `intl` to EMPTY_LIB_NAMES.

2016-03-11 13:58 GMT+09:00 Rich Felker <dalias@...c.org>:
> 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 <masanori.ogino@...il.com>
>> ---
>>  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,
though.

> 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:

http://www.openwall.com/lists/musl/2015/04/16/1
http://www.openwall.com/lists/musl/2015/04/16/2
http://www.openwall.com/lists/musl/2015/04/16/3
http://www.openwall.com/lists/musl/2015/04/16/4
http://savannah.gnu.org/bugs/?46436
http://lists.gnu.org/archive/html/bug-gettext/2015-11/msg00015.html

>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:
> https://lists.gnu.org/archive/html/bug-gnu-utils/2006-03/msg00011.html
>
> 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.