Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/ncurses: drop our custom host build commands
@ 2022-08-30 12:44 Yann E. MORIN
  2022-09-23 21:55 ` Thomas Petazzoni
  2022-09-30 15:01 ` Peter Korsgaard
  0 siblings, 2 replies; 3+ messages in thread
From: Yann E. MORIN @ 2022-08-30 12:44 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

Commit bf446513e7e7 (ncurses: fix hanging installation due to old
version of tic) introduced the build of the host tic, to be used by the
target ncurses. That commit purportedly built a static tic, but that is
(at least now) wrong: there is nothing that makes the build of tic
static.

Initially, host-ncurses was configured with --without-shared, but that
only drives whether to generate shared libs or not, it does not drive
whether to do a shared or static link of executables.

And in any case, in af23d762e51b (ncurses: enable shared library build
on the host) we explicitly stopped requesting the build of a static
library, to instead require the build of a shared library.

So, we never had a statically linked tic ever.

Furthermore, we override the _BUKLLD_CMDS, but we do not provide any
_INSTALL_CMDS. As a consequence, the full ncurses is installed, not just
tic. And since we override the _BUILD_CMDS, the libraries are not built,
so they get built during the install step.

And we do indeed need the libraries (host-gettext needs them), and not
just tic.

So, just drop our custom _BUILD_CMDS and just build the whole package
with the default settings. We keep the explicit use of --with-shared,
as this is not the standard flag (--enable-shared) and it is not obvious
what the default is.

The set of files installed before and after this change is exactly the
same, and tic still is an "ELF 64-bit LSB shared object" with a RUNPATH
that still correctly points to $(HOST_DIR)/lib

To be noted: there is no regressin in build time either, since we were
already building everything anyway.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/ncurses/ncurses.mk | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk
index 5d9c6bb0dd..2881ca1308 100644
--- a/package/ncurses/ncurses.mk
+++ b/package/ncurses/ncurses.mk
@@ -184,16 +184,6 @@ define NCURSES_TARGET_CLEANUP_TERMINFO
 endef
 NCURSES_POST_INSTALL_TARGET_HOOKS += NCURSES_TARGET_CLEANUP_TERMINFO
 
-#
-# On systems with an older version of tic, the installation of ncurses hangs
-# forever. To resolve the problem, build a static version of tic on host
-# ourselves, and use that during installation.
-#
-define HOST_NCURSES_BUILD_CMDS
-	$(HOST_MAKE_ENV) $(MAKE1) -C $(@D) sources
-	$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/progs tic
-endef
-
 HOST_NCURSES_CONF_ENV = \
 	ac_cv_path_LDCONFIG=""
 
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH] package/ncurses: drop our custom host build commands
  2022-08-30 12:44 [Buildroot] [PATCH] package/ncurses: drop our custom host build commands Yann E. MORIN
@ 2022-09-23 21:55 ` Thomas Petazzoni
  2022-09-30 15:01 ` Peter Korsgaard
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2022-09-23 21:55 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: buildroot

On Tue, 30 Aug 2022 14:44:23 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> Commit bf446513e7e7 (ncurses: fix hanging installation due to old
> version of tic) introduced the build of the host tic, to be used by the
> target ncurses. That commit purportedly built a static tic, but that is
> (at least now) wrong: there is nothing that makes the build of tic
> static.
> 
> Initially, host-ncurses was configured with --without-shared, but that
> only drives whether to generate shared libs or not, it does not drive
> whether to do a shared or static link of executables.
> 
> And in any case, in af23d762e51b (ncurses: enable shared library build
> on the host) we explicitly stopped requesting the build of a static
> library, to instead require the build of a shared library.
> 
> So, we never had a statically linked tic ever.
> 
> Furthermore, we override the _BUKLLD_CMDS, but we do not provide any
> _INSTALL_CMDS. As a consequence, the full ncurses is installed, not just
> tic. And since we override the _BUILD_CMDS, the libraries are not built,
> so they get built during the install step.
> 
> And we do indeed need the libraries (host-gettext needs them), and not
> just tic.
> 
> So, just drop our custom _BUILD_CMDS and just build the whole package
> with the default settings. We keep the explicit use of --with-shared,
> as this is not the standard flag (--enable-shared) and it is not obvious
> what the default is.
> 
> The set of files installed before and after this change is exactly the
> same, and tic still is an "ELF 64-bit LSB shared object" with a RUNPATH
> that still correctly points to $(HOST_DIR)/lib
> 
> To be noted: there is no regressin in build time either, since we were
> already building everything anyway.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> ---
>  package/ncurses/ncurses.mk | 10 ----------
>  1 file changed, 10 deletions(-)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH] package/ncurses: drop our custom host build commands
  2022-08-30 12:44 [Buildroot] [PATCH] package/ncurses: drop our custom host build commands Yann E. MORIN
  2022-09-23 21:55 ` Thomas Petazzoni
@ 2022-09-30 15:01 ` Peter Korsgaard
  1 sibling, 0 replies; 3+ messages in thread
From: Peter Korsgaard @ 2022-09-30 15:01 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > Commit bf446513e7e7 (ncurses: fix hanging installation due to old
 > version of tic) introduced the build of the host tic, to be used by the
 > target ncurses. That commit purportedly built a static tic, but that is
 > (at least now) wrong: there is nothing that makes the build of tic
 > static.

 > Initially, host-ncurses was configured with --without-shared, but that
 > only drives whether to generate shared libs or not, it does not drive
 > whether to do a shared or static link of executables.

 > And in any case, in af23d762e51b (ncurses: enable shared library build
 > on the host) we explicitly stopped requesting the build of a static
 > library, to instead require the build of a shared library.

 > So, we never had a statically linked tic ever.

 > Furthermore, we override the _BUKLLD_CMDS, but we do not provide any
 > _INSTALL_CMDS. As a consequence, the full ncurses is installed, not just
 > tic. And since we override the _BUILD_CMDS, the libraries are not built,
 > so they get built during the install step.

 > And we do indeed need the libraries (host-gettext needs them), and not
 > just tic.

 > So, just drop our custom _BUILD_CMDS and just build the whole package
 > with the default settings. We keep the explicit use of --with-shared,
 > as this is not the standard flag (--enable-shared) and it is not obvious
 > what the default is.

 > The set of files installed before and after this change is exactly the
 > same, and tic still is an "ELF 64-bit LSB shared object" with a RUNPATH
 > that still correctly points to $(HOST_DIR)/lib

 > To be noted: there is no regressin in build time either, since we were
 > already building everything anyway.

 > Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>

Committed to 2022.02.x, 2022.05.x and 2022.08.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2022-09-30 15:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-30 12:44 [Buildroot] [PATCH] package/ncurses: drop our custom host build commands Yann E. MORIN
2022-09-23 21:55 ` Thomas Petazzoni
2022-09-30 15:01 ` Peter Korsgaard

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