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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox