All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.