* [Buildroot] [PATCH] package/qemu: disable curl for the host variant
@ 2020-04-29 22:56 Romain Naour
2020-05-02 17:08 ` Yann E. MORIN
0 siblings, 1 reply; 2+ messages in thread
From: Romain Naour @ 2020-04-29 22:56 UTC (permalink / raw)
To: buildroot
Under certain circumstances (host distribution, openssl version),
the qemu-system binary fail to start:
qemu-system-aarch64: symbol lookup error: /lib64/libssh.so.4: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
There is no problem when only host-qemu is built, but it's linked with /lib64/libcurl.so.4
$ make host-qemu
$ ldd output/host/bin/qemu-system-aarch64
[...]
libcurl.so.4 => /lib64/libcurl.so.4 (0x00007fb21cb57000)
libssh.so.4 => /lib64/libssh.so.4 (0x00007fb21c35d000)
libpsl.so.5 => /lib64/libpsl.so.5 (0x00007fb21c34a000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007fb21c2b4000)
Note: /lib64/libcurl.so.4 is linked with libssh and libssl:
$ ldd /lib64/libcurl.so.4
[...]
libssh.so.4 => /lib64/libssh.so.4 (0x00007f90d8efd000)
libpsl.so.5 => /lib64/libpsl.so.5 (0x00007f90d8eea000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f90d8e54000)
Continue the build.
$ make
We can notice that qemu_aarch64_virt_defconfig set
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
So host-openssl package is built and this is the problem:
$ ldd output/host/bin/qemu-system-aarch64
[...]
libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f3adb444000)
libssh.so.4 => /lib64/libssh.so.4 (0x00007f3adac4a000)
libpsl.so.5 => /lib64/libpsl.so.5 (0x00007f3adac37000)
libssl.so.1.1 => /home/naourr/buildroot/test/qemu_aarch64_virt_defconfig-master/host/lib/libssl.so.1.1 (0x00007f3adaba8000)
qemu-system-aarch64: symbol lookup error: /lib64/libssh.so.4: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
This is due to the build system trying to find libcurl using
pkg-config or curl-config.
libcurl is used by the QEMU Block driver for CURL images and
elf2dmp tool which is not needed.
Instead of adding host-libcurl dependency, we can disable it
entierely.
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
There are a lot more build options that are not handled by
the qemu package...
---
package/qemu/qemu.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index e8b43d3b36..0bb29f9369 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -305,6 +305,7 @@ define HOST_QEMU_CONFIGURE_CMDS
--extra-ldflags="$(HOST_LDFLAGS)" \
--python=$(HOST_DIR)/bin/python3 \
--disable-bzip2 \
+ --disable-curl \
--disable-libssh \
--disable-sdl \
--disable-vnc-jpeg \
--
2.25.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [Buildroot] [PATCH] package/qemu: disable curl for the host variant
2020-04-29 22:56 [Buildroot] [PATCH] package/qemu: disable curl for the host variant Romain Naour
@ 2020-05-02 17:08 ` Yann E. MORIN
0 siblings, 0 replies; 2+ messages in thread
From: Yann E. MORIN @ 2020-05-02 17:08 UTC (permalink / raw)
To: buildroot
Romain, All,
On 2020-04-30 00:56 +0200, Romain Naour spake thusly:
> Under certain circumstances (host distribution, openssl version),
> the qemu-system binary fail to start:
>
> qemu-system-aarch64: symbol lookup error: /lib64/libssh.so.4: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
>
> There is no problem when only host-qemu is built, but it's linked with /lib64/libcurl.so.4
> $ make host-qemu
> $ ldd output/host/bin/qemu-system-aarch64
> [...]
> libcurl.so.4 => /lib64/libcurl.so.4 (0x00007fb21cb57000)
> libssh.so.4 => /lib64/libssh.so.4 (0x00007fb21c35d000)
> libpsl.so.5 => /lib64/libpsl.so.5 (0x00007fb21c34a000)
> libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007fb21c2b4000)
>
> Note: /lib64/libcurl.so.4 is linked with libssh and libssl:
> $ ldd /lib64/libcurl.so.4
> [...]
> libssh.so.4 => /lib64/libssh.so.4 (0x00007f90d8efd000)
> libpsl.so.5 => /lib64/libpsl.so.5 (0x00007f90d8eea000)
> libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f90d8e54000)
>
> Continue the build.
> $ make
>
> We can notice that qemu_aarch64_virt_defconfig set
> BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
>
> So host-openssl package is built and this is the problem:
>
> $ ldd output/host/bin/qemu-system-aarch64
> [...]
> libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f3adb444000)
> libssh.so.4 => /lib64/libssh.so.4 (0x00007f3adac4a000)
> libpsl.so.5 => /lib64/libpsl.so.5 (0x00007f3adac37000)
> libssl.so.1.1 => /home/naourr/buildroot/test/qemu_aarch64_virt_defconfig-master/host/lib/libssl.so.1.1 (0x00007f3adaba8000)
>
> qemu-system-aarch64: symbol lookup error: /lib64/libssh.so.4: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
>
> This is due to the build system trying to find libcurl using
> pkg-config or curl-config.
>
> libcurl is used by the QEMU Block driver for CURL images and
> elf2dmp tool which is not needed.
> Instead of adding host-libcurl dependency, we can disable it
> entierely.
>
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
Applied to master, thanks.
Regards,
Yann E. MORIN.
> ---
> There are a lot more build options that are not handled by
> the qemu package...
> ---
> package/qemu/qemu.mk | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
> index e8b43d3b36..0bb29f9369 100644
> --- a/package/qemu/qemu.mk
> +++ b/package/qemu/qemu.mk
> @@ -305,6 +305,7 @@ define HOST_QEMU_CONFIGURE_CMDS
> --extra-ldflags="$(HOST_LDFLAGS)" \
> --python=$(HOST_DIR)/bin/python3 \
> --disable-bzip2 \
> + --disable-curl \
> --disable-libssh \
> --disable-sdl \
> --disable-vnc-jpeg \
> --
> 2.25.4
>
> _______________________________________________
> 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] 2+ messages in thread
end of thread, other threads:[~2020-05-02 17:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-29 22:56 [Buildroot] [PATCH] package/qemu: disable curl for the host variant Romain Naour
2020-05-02 17:08 ` 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.