On 1/5/23 22:09, Alexandre Belloni wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know 
the content is safe.

This fails on the AB:

https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/4580/steps/14/logs/stdio

Hi, Alexandre

I need some help to debug this issue.

I cannot reproduce this issue on my host. First,  the gcc command used to build the binary conftest will

have as-needed enabled by default,  so actually,  these libs will not be linked, and runtime check will passed.

Refer the command:

gcc -o conftest -isystem/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include -pipe -Werror-implicit-function-declaration -g -O2 -std=gnu89 -pedantic -Wall -W -Wpointer-arith -Wwrite-strings -Wunused -Wshadow -Winline -Wnested-externs -Wmissing-declarations -Wmissing-prototypes -Wno-long-long -Wbad-function-cast -Wfloat-equal -Wno-multichar -Wsign-compare -Wundef -Wno-format-nonliteral -Wendif-labels -Wstrict-prototypes -Wdeclaration-after-statement -Wold-style-definition -Wstrict-aliasing=3 -Wcast-align -Wtype-limits -Wold-style-declaration -Wmissing-parameter-type -Wempty-body -Wclobbered -Wignored-qualifiers -Wconversion -Wno-sign-conversion -Wvla -ftree-vrp -Wdouble-promotion -Wformat=2 -Warray-bounds=2 -Wshift-negative-value -Wshift-overflow=2 -Wnull-dereference -fdelete-null-pointer-checks -Wduplicated-cond -Wunused-const-variable -Wduplicated-branches -Wrestrict -Walloc-zero -Wformat-overflow=2 -Wformat-truncation=2 -Wimplicit-fallthrough=4 -Wno-system-headers -isystem/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include -I/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//include -I/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include -DOPENSSL_SUPPRESS_DEPRECATED -I/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include -L/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib -L/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib -Wl,--enable-new-dtags -Wl,-rpath-link,/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib -Wl,-rpath,/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/mnt/lincd/build/tmp-glibc/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 -L/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//lib -L/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/lib -L/mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/lib conftest.c   -lnghttp2 -lssl -lcrypto -lssl -lcrypto -lz


I also tried to add "-Wl,--no-as-needed" in above comand, and manually run it,  then conftest will link those libraries. These libraries can also be found at runtime

since these libraries will be in recipe-sysroot-native.

$/mnt/yocto/test/tmp/work/x86_64-linux/curl-native/7.87.0-r0/build# ldd conftest
    linux-vdso.so.1 (0x00007ffd447c1000)
    libnghttp2.so.14 => /mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/libnghttp2.so.14 (0x00007f6bd36af000)     libssl.so.3 => /mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/libssl.so.3 (0x00007f6bd3606000)     libcrypto.so.3 => /mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/libcrypto.so.3 (0x00007f6bd31cf000)     libz.so.1 => /mnt/lincd/build/tmp-glibc/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/libz.so.1 (0x00007f6bd31b5000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6bd2fb9000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6bd2f96000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6bd2f90000)
 
/mnt/lincd/build/tmp-glibc/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2
 => /lib64/ld-linux-x86-64.so.2 (0x00007f6bd36e6000)
$/mnt/yocto/test/tmp/work/x86_64-linux/curl-native/7.87.0-r0/build# ./conftest


This should be an host related issue,  Does the worker "debian11-ty-3" means that this build is built on debian11 docker or debian11 host? Thanks.


Regards

Changqing


| checking run-time libs availability... failed
| configure: error: one or more libs available at link-time are not available 
run-time. Libs used at link-time: -lnghttp2 -lssl -lcrypto -lssl -lcrypto -lz
| NOTE: The following config.log files may provide further information.
| NOTE: 
/home/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-109066/tmp/work/x86_64-linux/curl-native/7.87.0-r0/build/config.log
| ERROR: configure failed
| WARNING: exit code 1 from a shell command.
NOTE: recipe curl-native-7.87.0-r0: task do_configure: Failed
ERROR: Task 
(virtual:native:/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/recipes-support/curl/curl_7.87.0.bb:do_configure)
 failed with exit code '1'

On 29/12/2022 10:34:42+0800, Changqing Li wrote:
From: Changqing Li <changqing...@windriver.com>

After commit `ostree: replace libsoup-2.4 by curl`, ostree depends on
libcurl, but it needs http2 support, otherwise it will fail with
error:
OSTree:ERROR:../git/src/libostree/ostree-fetcher-curl.c:886:initiate_next_curl_request:
 assertion failed (rc == CURLM_OK): (1 == 0)
| Bail out! 
OSTree:ERROR:../git/src/libostree/ostree-fetcher-curl.c:886:initiate_next_curl_request:
 assertion failed (rc == CURLM_OK): (1 == 0)

Enable nghttp2 to fix above error.

Signed-off-by: Changqing Li <changqing...@windriver.com>
---
  meta/recipes-support/curl/curl_7.86.0.bb | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-support/curl/curl_7.86.0.bb 
b/meta/recipes-support/curl/curl_7.86.0.bb
index f5e3e7235d..6cee548f35 100644
--- a/meta/recipes-support/curl/curl_7.86.0.bb
+++ b/meta/recipes-support/curl/curl_7.86.0.bb
@@ -24,9 +24,9 @@ inherit autotools pkgconfig binconfig multilib_header ptest
  # Entropy source for random PACKAGECONFIG option
  RANDOM ?= "/dev/urandom"

-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} libidn openssl 
proxy random threaded-resolver verbose zlib"
-PACKAGECONFIG:class-native = "ipv6 openssl proxy random threaded-resolver verbose 
zlib"
-PACKAGECONFIG:class-nativesdk = "ipv6 openssl proxy random threaded-resolver 
verbose zlib"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} libidn openssl 
proxy random threaded-resolver verbose zlib nghttp2"
+PACKAGECONFIG:class-native = "ipv6 openssl proxy random threaded-resolver verbose 
zlib nghttp2"
+PACKAGECONFIG:class-nativesdk = "ipv6 openssl proxy random threaded-resolver 
verbose zlib nghttp2"

  # 'ares' and 'threaded-resolver' are mutually exclusive
  PACKAGECONFIG[ares] = 
"--enable-ares,--disable-ares,c-ares,,,threaded-resolver"
--
2.25.1




--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#175812): 
https://lists.openembedded.org/g/openembedded-core/message/175812
Mute This Topic: https://lists.openembedded.org/mt/95931602/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to