* [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