[Buildroot] Problems with uClicbc and libc.so.6

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Fri Oct 10 11:06:19 UTC 2014


Dear Angelo Compagnucci,

On Fri, 10 Oct 2014 12:45:28 +0200, Angelo Compagnucci wrote:

> > <dllmap dll="libc" target="libc.so.0" os="!windows"/>
> 
> This is pretty wonderfull! I totally missed that! I'll include it in a
> patch file! May it work also with glibc? If yes, I can tweak a static
> version of that file to include.

No, it won't work with glibc, and it most likely won't work with musl
as well. So you'll need to $(SED) this file in a post install target
hook, depending on the C library being used. Since the default value is
OK for glibc, we only need to handle the uClibc and Musl cases. Maybe
something like:

ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
MONO_LIBC_NAME = libc.so.0
else ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
MONO_LIBC_NAME = libc.so
endif

ifneq ($(MONO_LIBC_NAME),)
define MONO_TWEAK_LIBC_NAME
	$(SED) 's,libc.so.6,$(MONO_LIBC_NAME)' $(TARGET_DIR)/etc/mono/config
endef
MONO_POST_INSTALL_TARGET_HOOKS += MONO_TWEAK_LIBC_NAME
endif


> Yes, Thomas, you caught me, I did not understand your comment!
> Actually I really don't know haw to achieve such a dual package in
> one, but if you prompt me a minimal example, I'll work on understand
> it!

I'll have a look.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com


More information about the buildroot mailing list