Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] slang: fix static link with ncurses
@ 2016-03-01 12:20 Baruch Siach
  2016-03-01 16:43 ` Peter Korsgaard
  2016-03-05 14:17 ` Thomas Petazzoni
  0 siblings, 2 replies; 4+ messages in thread
From: Baruch Siach @ 2016-03-01 12:20 UTC (permalink / raw)
  To: buildroot

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
 else
 SLANG_CONF_OPTS += ac_cv_path_nc5config=no
 endif
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] slang: fix static link with ncurses
  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
  2016-03-05 14:17 ` Thomas Petazzoni
  1 sibling, 1 reply; 4+ messages in thread
From: Peter Korsgaard @ 2016-03-01 16:43 UTC (permalink / raw)
  To: buildroot

>>>>> "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?

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

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

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] slang: fix static link with ncurses
  2016-03-01 16:43 ` Peter Korsgaard
@ 2016-03-01 18:15   ` Baruch Siach
  0 siblings, 0 replies; 4+ messages in thread
From: Baruch Siach @ 2016-03-01 18:15 UTC (permalink / raw)
  To: buildroot

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 -

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] slang: fix static link with ncurses
  2016-03-01 12:20 [Buildroot] [PATCH] slang: fix static link with ncurses Baruch Siach
  2016-03-01 16:43 ` Peter Korsgaard
@ 2016-03-05 14:17 ` Thomas Petazzoni
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2016-03-05 14:17 UTC (permalink / raw)
  To: buildroot

Dear Baruch Siach,

On Tue,  1 Mar 2016 14:20:55 +0200, Baruch Siach wrote:
> 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(+)

I've marked this patch as Superseded in patchwork, as I believe it was
superseded by your patch "[PATCH] slang: fix static link with
readline", even though the title has changed and v2 was not indicated.

Let me know if this isn't correct.

Thanks!

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-03-05 14:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2016-03-05 14:17 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox