[Buildroot] [PATCH] package/sngrep: add missing ncurses dependencies

Romain Naour romain.naour at gmail.com
Sat Feb 18 19:09:11 UTC 2017


Hi Bernd, Thomas, All,

Le 18/02/2017 à 19:21, Bernd Kuhls a écrit :
> Hi Thomas,
> 
> Thomas Petazzoni <thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8
> @public.gmane.org> wrote in news:20170218164928.59e0f1c5 at free-electrons.com:
> 
>> However, I still don't understand how it can fail on the autobuilders.
> 
> because the autobuilders fail with BR2_PACKAGE_NCURSES_WCHAR=y:
> http://lists.busybox.net/pipermail/buildroot/2017-January/182468.html

Thanks Bernd for the link.

You're right, the problem come from --disable-unicode option which force sngrep
to use the the non-wide-character ncurses library.
So sngrep is looking for libpanel.so and libform.so even if
BR2_PACKAGE_NCURSES_WCHAR is selected.

When BR2_PACKAGE_NCURSES_WCHAR is selected a symlink between libncurses.so and
libncursesw.so is created unconditionally. But this is not the case for the
other ncurses libraries like libpanel and libfrom!
The symlink is only created when BR2_PACKAGE_NCURSES_TARGET_PANEL and
BR2_PACKAGE_NCURSES_TARGET_FORM are selected

See [1]:

NCURSES_LIBS-y = ncurses
NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_MENU) += menu
NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_PANEL) += panel
NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_FORM) += form

[...]

ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
NCURSES_CONF_OPTS += --enable-widec
NCURSES_LIB_SUFFIX = w

[...]

define NCURSES_LINK_LIBS_SHARED
	$(foreach lib,$(NCURSES_LIBS-y:%=lib%), \
		ln -sf $(lib)$(NCURSES_LIB_SUFFIX).so $(1)/usr/lib/$(lib).so
	)
	ln -sf libncurses$(NCURSES_LIB_SUFFIX).so \
		$(1)/usr/lib/libcurses.so
endef

[...]

NCURSES_LINK_STAGING_LIBS = \
	$(if $(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call
NCURSES_LINK_LIBS_SHARED,$(STAGING_DIR)))

[...]

else # BR2_PACKAGE_NCURSES_WCHAR
NCURSES_ABI_VERSION = 5
endif # BR2_PACKAGE_NCURSES_WCHAR

So selecting BR2_PACKAGE_NCURSES_TARGET_PANEL and
BR2_PACKAGE_NCURSES_TARGET_FORM is the right thing to do here to create a the
missing symlinks in staging directory.

But the help text in BR2_PACKAGE_NCURSES_TARGET_[FORM,MENU,PANEL] is about
target directory only. But staging is also affected.

Best regards,
Romain

[1] https://git.busybox.net/buildroot/tree/package/ncurses/ncurses.mk

> 
> Regards, Bernd
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> 




More information about the buildroot mailing list