* [Buildroot] [PATCH] package/dtc: do not install headers for the host version
@ 2019-11-02 12:29 unixmania at gmail.com
2019-11-02 13:58 ` Titouan Christophe
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: unixmania at gmail.com @ 2019-11-02 12:29 UTC (permalink / raw)
To: buildroot
From: Carlos Santos <unixmania@gmail.com>
None of the packages that depend on host-dtc need the headers and they
interfere with the build of the kernel, as in beaglebone:
2019-11-01T22:23:16 /usr/bin/make -f ./scripts/Makefile.build obj=scripts
2019-11-01T22:23:16 /usr/bin/make -f ./scripts/Makefile.build obj=scripts/dtc need-builtin=
2019-11-01T22:23:16 (cat /dev/null; ) > scripts/dtc/modules.order
2019-11-01T22:23:16 /usr/bin/gcc -O2 -I/work/beaglebone/host/include -L/work/beaglebone/host/lib -Wl,-rpath,/work/beaglebone/host/lib -Wp,-MD,scripts/dtc/libfdt/.fdt_ro.o.d -Wall -Wmissing-prototypes -Wstrict-p>
2019-11-01T22:23:16 scripts/dtc/libfdt/fdt_ro.c:92:10: error: redefinition of ?fdt_get_max_phandle?
2019-11-01T22:23:16 uint32_t fdt_get_max_phandle(const void *fdt)
2019-11-01T22:23:16 ^~~~~~~~~~~~~~~~~~~
2019-11-01T22:23:16 In file included from scripts/dtc/libfdt/fdt_ro.c:54:
2019-11-01T22:23:16 /work/beaglebone/host/include/libfdt.h:384:24: note: previous definition of ?fdt_get_max_phandle? was here
2019-11-01T22:23:16 static inline uint32_t fdt_get_max_phandle(const void *fdt)
2019-11-01T22:23:16 ^~~~~~~~~~~~~~~~~~~
2019-11-01T22:23:16 make[4]: *** [scripts/Makefile.host:107: scripts/dtc/libfdt/fdt_ro.o] Error 1
2019-11-01T22:23:16 make[3]: *** [scripts/Makefile.build:544: scripts/dtc] Error 2
2019-11-01T22:23:16 make[2]: *** [Makefile:1066: scripts] Error 2
2019-11-01T22:23:16 make[1]: *** [package/pkg-generic.mk:241: /work/beaglebone/build/linux-4dae378bbe721277b08699d1d88ffae12acc9b09/.stamp_built] Error 2
Signed-off-by: Carlos Santos <unixmania@gmail.com>
---
package/dtc/dtc.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
index 7fde0dc968..35ac0b332b 100644
--- a/package/dtc/dtc.mk
+++ b/package/dtc/dtc.mk
@@ -68,7 +68,7 @@ define HOST_DTC_BUILD_CMDS
endef
define HOST_DTC_INSTALL_CMDS
- $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(HOST_DTC_MAKE_OPTS) install
+ $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(HOST_DTC_MAKE_OPTS) install-bin install-lib
endef
$(eval $(generic-package))
--
2.18.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] package/dtc: do not install headers for the host version
2019-11-02 12:29 [Buildroot] [PATCH] package/dtc: do not install headers for the host version unixmania at gmail.com
@ 2019-11-02 13:58 ` Titouan Christophe
2019-11-02 18:02 ` Yann E. MORIN
2019-11-03 9:34 ` Yann E. MORIN
2 siblings, 0 replies; 5+ messages in thread
From: Titouan Christophe @ 2019-11-02 13:58 UTC (permalink / raw)
To: buildroot
Hello Carlos,
On 11/2/19 1:29 PM, unixmania at gmail.com wrote:
> From: Carlos Santos <unixmania@gmail.com>
>
> None of the packages that depend on host-dtc need the headers and they
> interfere with the build of the kernel, as in beaglebone:
I was also looking at that particular build failure, but the solution I
had in mind was to disable the compilation of the dtc shipped with the
Kernel when host-dtc is selected.
I'm wondering if some users might actually be using the libfdt + headers
for their own EXTERNAL packages.
>
> 2019-11-01T22:23:16 /usr/bin/make -f ./scripts/Makefile.build obj=scripts
> 2019-11-01T22:23:16 /usr/bin/make -f ./scripts/Makefile.build obj=scripts/dtc need-builtin=
> 2019-11-01T22:23:16 (cat /dev/null; ) > scripts/dtc/modules.order
> 2019-11-01T22:23:16 /usr/bin/gcc -O2 -I/work/beaglebone/host/include -L/work/beaglebone/host/lib -Wl,-rpath,/work/beaglebone/host/lib -Wp,-MD,scripts/dtc/libfdt/.fdt_ro.o.d -Wall -Wmissing-prototypes -Wstrict-p>
> 2019-11-01T22:23:16 scripts/dtc/libfdt/fdt_ro.c:92:10: error: redefinition of ?fdt_get_max_phandle?
> 2019-11-01T22:23:16 uint32_t fdt_get_max_phandle(const void *fdt)
> 2019-11-01T22:23:16 ^~~~~~~~~~~~~~~~~~~
> 2019-11-01T22:23:16 In file included from scripts/dtc/libfdt/fdt_ro.c:54:
> 2019-11-01T22:23:16 /work/beaglebone/host/include/libfdt.h:384:24: note: previous definition of ?fdt_get_max_phandle? was here
> 2019-11-01T22:23:16 static inline uint32_t fdt_get_max_phandle(const void *fdt)
> 2019-11-01T22:23:16 ^~~~~~~~~~~~~~~~~~~
> 2019-11-01T22:23:16 make[4]: *** [scripts/Makefile.host:107: scripts/dtc/libfdt/fdt_ro.o] Error 1
> 2019-11-01T22:23:16 make[3]: *** [scripts/Makefile.build:544: scripts/dtc] Error 2
> 2019-11-01T22:23:16 make[2]: *** [Makefile:1066: scripts] Error 2
> 2019-11-01T22:23:16 make[1]: *** [package/pkg-generic.mk:241: /work/beaglebone/build/linux-4dae378bbe721277b08699d1d88ffae12acc9b09/.stamp_built] Error 2
>
> Signed-off-by: Carlos Santos <unixmania@gmail.com>
> ---
> package/dtc/dtc.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
> index 7fde0dc968..35ac0b332b 100644
> --- a/package/dtc/dtc.mk
> +++ b/package/dtc/dtc.mk
> @@ -68,7 +68,7 @@ define HOST_DTC_BUILD_CMDS
> endef
>
> define HOST_DTC_INSTALL_CMDS
> - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(HOST_DTC_MAKE_OPTS) install
> + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(HOST_DTC_MAKE_OPTS) install-bin install-lib
> endef
>
> $(eval $(generic-package))
>
Regards,
Titouan
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] package/dtc: do not install headers for the host version
2019-11-02 12:29 [Buildroot] [PATCH] package/dtc: do not install headers for the host version unixmania at gmail.com
2019-11-02 13:58 ` Titouan Christophe
@ 2019-11-02 18:02 ` Yann E. MORIN
2019-11-03 0:07 ` Carlos Santos
2019-11-03 9:34 ` Yann E. MORIN
2 siblings, 1 reply; 5+ messages in thread
From: Yann E. MORIN @ 2019-11-02 18:02 UTC (permalink / raw)
To: buildroot
Carlos, All,
On 2019-11-02 09:29 -0300, unixmania at gmail.com spake thusly:
> From: Carlos Santos <unixmania@gmail.com>
>
> None of the packages that depend on host-dtc need the headers and they
That's not the case with host-qemu, with system emulation enabled:
$ cat defconfig
BR2_arm=y
BR2_cortex_a7=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_QEMU=y
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
$ make >build.log 2>&1
$ grep 'fdt support'
With master:
fdt support system
With your patch:
fdt support git
So this patch means that host-qemu now uses its bundled copy rather than
the one installed by host-dtc.
Now, whether we prefer that to the current mess, let's see...
Regards,
Yann E. MORIN.
> interfere with the build of the kernel, as in beaglebone:
>
> 2019-11-01T22:23:16 /usr/bin/make -f ./scripts/Makefile.build obj=scripts
> 2019-11-01T22:23:16 /usr/bin/make -f ./scripts/Makefile.build obj=scripts/dtc need-builtin=
> 2019-11-01T22:23:16 (cat /dev/null; ) > scripts/dtc/modules.order
> 2019-11-01T22:23:16 /usr/bin/gcc -O2 -I/work/beaglebone/host/include -L/work/beaglebone/host/lib -Wl,-rpath,/work/beaglebone/host/lib -Wp,-MD,scripts/dtc/libfdt/.fdt_ro.o.d -Wall -Wmissing-prototypes -Wstrict-p>
> 2019-11-01T22:23:16 scripts/dtc/libfdt/fdt_ro.c:92:10: error: redefinition of ?fdt_get_max_phandle?
> 2019-11-01T22:23:16 uint32_t fdt_get_max_phandle(const void *fdt)
> 2019-11-01T22:23:16 ^~~~~~~~~~~~~~~~~~~
> 2019-11-01T22:23:16 In file included from scripts/dtc/libfdt/fdt_ro.c:54:
> 2019-11-01T22:23:16 /work/beaglebone/host/include/libfdt.h:384:24: note: previous definition of ?fdt_get_max_phandle? was here
> 2019-11-01T22:23:16 static inline uint32_t fdt_get_max_phandle(const void *fdt)
> 2019-11-01T22:23:16 ^~~~~~~~~~~~~~~~~~~
> 2019-11-01T22:23:16 make[4]: *** [scripts/Makefile.host:107: scripts/dtc/libfdt/fdt_ro.o] Error 1
> 2019-11-01T22:23:16 make[3]: *** [scripts/Makefile.build:544: scripts/dtc] Error 2
> 2019-11-01T22:23:16 make[2]: *** [Makefile:1066: scripts] Error 2
> 2019-11-01T22:23:16 make[1]: *** [package/pkg-generic.mk:241: /work/beaglebone/build/linux-4dae378bbe721277b08699d1d88ffae12acc9b09/.stamp_built] Error 2
>
> Signed-off-by: Carlos Santos <unixmania@gmail.com>
> ---
> package/dtc/dtc.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
> index 7fde0dc968..35ac0b332b 100644
> --- a/package/dtc/dtc.mk
> +++ b/package/dtc/dtc.mk
> @@ -68,7 +68,7 @@ define HOST_DTC_BUILD_CMDS
> endef
>
> define HOST_DTC_INSTALL_CMDS
> - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(HOST_DTC_MAKE_OPTS) install
> + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(HOST_DTC_MAKE_OPTS) install-bin install-lib
> endef
>
> $(eval $(generic-package))
> --
> 2.18.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] package/dtc: do not install headers for the host version
2019-11-02 18:02 ` Yann E. MORIN
@ 2019-11-03 0:07 ` Carlos Santos
0 siblings, 0 replies; 5+ messages in thread
From: Carlos Santos @ 2019-11-03 0:07 UTC (permalink / raw)
To: buildroot
On Sat, Nov 2, 2019 at 3:02 PM Yann E. MORIN <yann.morin.1998@free.fr> wrote:
>
> Carlos, All,
>
> On 2019-11-02 09:29 -0300, unixmania at gmail.com spake thusly:
> > From: Carlos Santos <unixmania@gmail.com>
> >
> > None of the packages that depend on host-dtc need the headers and they
>
> That's not the case with host-qemu, with system emulation enabled:
>
> $ cat defconfig
> BR2_arm=y
> BR2_cortex_a7=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_INIT_NONE=y
> BR2_SYSTEM_BIN_SH_NONE=y
> # BR2_PACKAGE_BUSYBOX is not set
> # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
> # BR2_TARGET_ROOTFS_TAR is not set
> BR2_PACKAGE_HOST_QEMU=y
> BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
>
> $ make >build.log 2>&1
>
> $ grep 'fdt support'
>
> With master:
> fdt support system
>
> With your patch:
> fdt support git
>
> So this patch means that host-qemu now uses its bundled copy rather than
> the one installed by host-dtc.
>
> Now, whether we prefer that to the current mess, let's see...
The bundled dtc code is not so old (v1.4.7) and is probably the one
with which qemu is tested so I don't think it wold be a real problem.
Titouan Christophe (in CC) was looking for an alternate approach,
disabling the compilation of the dtc shipped with the Kernel when
host-dtc is selected. Let's wait for the results.
--
Carlos Santos <unixmania@gmail.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] package/dtc: do not install headers for the host version
2019-11-02 12:29 [Buildroot] [PATCH] package/dtc: do not install headers for the host version unixmania at gmail.com
2019-11-02 13:58 ` Titouan Christophe
2019-11-02 18:02 ` Yann E. MORIN
@ 2019-11-03 9:34 ` Yann E. MORIN
2 siblings, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2019-11-03 9:34 UTC (permalink / raw)
To: buildroot
Carlos, All,
On 2019-11-02 09:29 -0300, unixmania at gmail.com spake thusly:
> From: Carlos Santos <unixmania@gmail.com>
[--SNIP--]
> define HOST_DTC_INSTALL_CMDS
> - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(HOST_DTC_MAKE_OPTS) install
> + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(HOST_DTC_MAKE_OPTS) install-bin install-lib
Besides the fact that some host packages do require the headers (as
explained in my previous reply), there is a more profound issue here:
what is even the point in installing the library if its headers are not
installed?
Either the library is used, in which case we have to also install the
headers, or the library is not used, in which case we should just
install the program(s).
But the library is used by external programs, like host-qemu, and maybe
also by programs in br2-external trees.
So, I'm even less convinced by this change now than I was yesterday...
Regards,
Yann E. MORIN.
> endef
>
> $(eval $(generic-package))
> --
> 2.18.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-11-03 9:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-02 12:29 [Buildroot] [PATCH] package/dtc: do not install headers for the host version unixmania at gmail.com
2019-11-02 13:58 ` Titouan Christophe
2019-11-02 18:02 ` Yann E. MORIN
2019-11-03 0:07 ` Carlos Santos
2019-11-03 9:34 ` Yann E. MORIN
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.