From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Changqing Li <changqing.li@eng.windriver.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH 2/2] curl: enable nghttp2 for support HTTP2
Date: Sun, 15 Jan 2023 22:30:18 +0100 [thread overview]
Message-ID: <Y8RwajkarV+GAz+O@mail.local> (raw)
In-Reply-To: <a690d84f-aa54-4187-e0dd-780a966cf454@windriver.com>
On 13/01/2023 16:04:42+0800, Changqing Li wrote:
>
> 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.
This is a debian 11 host.
>
>
> 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.li@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.li@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/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2023-01-15 21:30 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-29 2:34 [PATCH 1/2] cmake-native: use internal cmcurl library changqing.li
2022-12-29 2:34 ` [PATCH 2/2] curl: enable nghttp2 for support HTTP2 changqing.li
2023-01-04 19:17 ` [OE-core] " Khem Raj
2023-01-10 9:32 ` Changqing Li
2023-01-10 16:49 ` Khem Raj
2023-01-05 14:09 ` Alexandre Belloni
2023-01-13 8:04 ` Changqing Li
2023-01-15 21:30 ` Alexandre Belloni [this message]
2023-01-20 1:48 ` Changqing Li
[not found] ` <173BE13D4A763969.24231@lists.openembedded.org>
2023-01-28 8:03 ` Changqing Li
2023-01-28 23:17 ` Khem Raj
2023-01-28 23:32 ` Khem Raj
2023-01-29 2:24 ` Changqing Li
2023-01-29 3:38 ` Alexandre Belloni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y8RwajkarV+GAz+O@mail.local \
--to=alexandre.belloni@bootlin.com \
--cc=changqing.li@eng.windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.