Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Baruch Siach <baruch@tkos.co.il>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] slang: fix static link with ncurses
Date: Tue, 1 Mar 2016 20:15:24 +0200	[thread overview]
Message-ID: <20160301181524.GR2399@tarshish> (raw)
In-Reply-To: <8760x6kv2w.fsf@dell.be.48ers.dk>

Hi Peter,

On Tue, Mar 01, 2016 at 05:43:19PM +0100, Peter Korsgaard wrote:
> >>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes:
> 
>  > slang does forgets ncurses that is a dependency of readline when linking the
>  > slsh binary. Correct this.
> 
>  > While at it, also make sure to use staging ncurses5-config script and not the
>  > host one.
> 
>  > Fixes:
>  > http://autobuild.buildroot.net/results/1dc/1dc52048254c32a24070fef1c1039cebb32e7ac1/
>  > http://autobuild.buildroot.net/results/c17/c176511cbb147c2d8cb0ec0ff3c1612ce8971cb8/
>  > http://autobuild.buildroot.net/results/78d/78dc2ba07b1d7f888aab94e223f3e0b1a1df3af5/
> 
>  > Signed-off-by: Baruch Siach <baruch@tkos.co.il>
>  > ---
>  >  package/slang/slang.mk | 4 ++++
>  >  1 file changed, 4 insertions(+)
> 
>  > diff --git a/package/slang/slang.mk b/package/slang/slang.mk
>  > index 1a7576afc363..464d92065112 100644
>  > --- a/package/slang/slang.mk
>  > +++ b/package/slang/slang.mk
>  > @@ -40,6 +40,10 @@ endif
>  
>  >  ifeq ($(BR2_PACKAGE_NCURSES),y)
>  >  SLANG_DEPENDENCIES += ncurses
>  > +SLANG_CONF_ENV += ac_cv_path_nc5config=$(STAGING_DIR)/usr/bin/ncurses5-config
>  > +ifeq ($(BR2_STATIC_LIBS),y)
>  > +SLANG_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs ncurses`"
>  > +endif
> 
> You forgot to add host-pkgconf as a dependency. Why is both needed,
> doesn't ncurses5-config return correct info?

It does. I'll change that in v2.

> Here they seem to be equivalent with a static build:
> 
> ./host/usr/bin/pkg-config --libs ncurses
> -lncurses
> ./staging/usr/bin/ncurses5-config --libs
> -L/home/peko/source/buildroot/output-test/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -lncurses

slang does not link with ncurses. The only use for ncurses5-config in slang is 
to find the location of terminfo files at run-time. The output of host 
ncurses5-config doesn't make sense.

$ ./output/host/usr/bin/ncurses5-config --terminfo
/home/baruch/git/buildroot-fixes/output/host/usr/share/terminfo
$ ./output/staging/usr/bin/ncurses5-config --terminfo
/usr/share/terminfo

> Your commit message talks about readline, so perhaps the problem is
> really about readline? How does slang figure out how to link with readline?

slang configure script just hard codes LIB_READLINE=-lreadline when it gets 
--with-readline=gnu like we do. I'll move the BR2_STATIC_LIBS block under 
BR2_PACKAGE_READLINE above.

Thanks for reviewing.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

  reply	other threads:[~2016-03-01 18:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-01 12:20 [Buildroot] [PATCH] slang: fix static link with ncurses Baruch Siach
2016-03-01 16:43 ` Peter Korsgaard
2016-03-01 18:15   ` Baruch Siach [this message]
2016-03-05 14:17 ` Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160301181524.GR2399@tarshish \
    --to=baruch@tkos.co.il \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox