[PATCH 2/2] curl: enable nghttp2 for support HTTP2


Changqing Li
 

From: Changqing Li <changqing.li@...>

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@...>
---
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


Khem Raj
 

nghttp2-native fails to build which is exposed by this change

ERROR: nghttp2-native-1.50.0-r0 do_compile:
ExecutionError('/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093',
1, None, None)
ERROR: Logfile of failure stored in:
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/log.do_compile.1646093
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: cmake --build
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build
--target all --
| [1/1] cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/recipe-sysroot-native/usr/bin/python3-native/
python3 setup.py build
| FAILED: python/CMakeFiles/python
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build/python/CMakeFiles/python
| cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/recipe-sysroot-native/usr/bin/python3-native/python
3 setup.py build
| Traceback (most recent call last):
| File "/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build/python/setup.py",
line 24, in <module>
| from setuptools import setup, Extension
| ModuleNotFoundError: No module named 'setuptools'
| ninja: build stopped: subcommand failed.
| WARNING: /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093:161
exit 1 from 'eval ${DESTDIR:+DESTDIR=${DESTDIR} } cmake --build
'/mnt/b/yoe/master/build/tmp/work/x8
6_64-linux/nghttp2-native/1.50.0-r0/build' "$@" -- ${EXTRA_OECMAKE_BUILD}'
| WARNING: Backtrace (BB generated script):
| #1: cmake_runcmake_build,
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093,
line 161
| #2: cmake_do_compile,
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093,
line 155
| #3: do_compile,
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093,
line 150
| #4: main,
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093,
line 174
ERROR: Task (virtual:native:/mnt/b/yoe/master/sources/poky/meta/recipes-support/nghttp2/nghttp2_1.50.0.bb:do_compile)
failed with exit code '1'

On Wed, Dec 28, 2022 at 6:34 PM Changqing Li
<changqing.li@...> wrote:

From: Changqing Li <changqing.li@...>

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@...>
---
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
 

This fails on the AB:

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

| 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@...>

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@...>
---
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


Changqing Li
 

On 1/5/23 03:17, Khem Raj 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.

nghttp2-native fails to build which is exposed by this change

ERROR: nghttp2-native-1.50.0-r0 do_compile:
ExecutionError('/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093',
1, None, None)
ERROR: Logfile of failure stored in:
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/log.do_compile.1646093
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: cmake --build
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build
--target all --
| [1/1] cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/recipe-sysroot-native/usr/bin/python3-native/
python3 setup.py build
| FAILED: python/CMakeFiles/python
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build/python/CMakeFiles/python
| cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/recipe-sysroot-native/usr/bin/python3-native/python
3 setup.py build
| Traceback (most recent call last):
| File "/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build/python/setup.py",
line 24, in <module>
| from setuptools import setup, Extension
| ModuleNotFoundError: No module named 'setuptools'
| ninja: build stopped: subcommand failed.
| WARNING: /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093:161
exit 1 from 'eval ${DESTDIR:+DESTDIR=${DESTDIR} } cmake --build
'/mnt/b/yoe/master/build/tmp/work/x8
6_64-linux/nghttp2-native/1.50.0-r0/build' "$@" -- ${EXTRA_OECMAKE_BUILD}'
| WARNING: Backtrace (BB generated script):
| #1: cmake_runcmake_build,
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093,
line 161
| #2: cmake_do_compile,
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093,
line 155
| #3: do_compile,
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093,
line 150
| #4: main,
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093,
line 174
ERROR: Task (virtual:native:/mnt/b/yoe/master/sources/poky/meta/recipes-support/nghttp2/nghttp2_1.50.0.bb:do_compile)
failed with exit code '1'
Hi, Khem

I think autobuilder reproduced  this issue since on this machine, cython and PythonLibs is found so ENABLE_PYTHON_BINDINGS is set to ON,

but on my build host,  it will be OFF, so python subdir will not be compiled. I plan to just disable ENABLE_PYTHON_BINDINGS directly to make

deterministic build, and send V2 later.


Refer part of the CMakeList.txt

find_package(Cython)

find_package(PythonLibs)

if(CYTHON_FOUND AND PYTHONLIBS_FOUND)

set(ENABLE_PYTHON_BINDINGS_DEFAULT ON)

else()

set(ENABLE_PYTHON_BINDINGS_DEFAULT OFF)

endif()


On Wed, Dec 28, 2022 at 6:34 PM Changqing Li
<changqing.li@...> wrote:
From: Changqing Li <changqing.li@...>

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@...>
---
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



Khem Raj
 

On Tue, Jan 10, 2023 at 1:32 AM Changqing Li <changqing.li@...> wrote:


On 1/5/23 03:17, Khem Raj 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.

nghttp2-native fails to build which is exposed by this change

ERROR: nghttp2-native-1.50.0-r0 do_compile:
ExecutionError('/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093',
1, None, None)
ERROR: Logfile of failure stored in:
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/log.do_compile.1646093
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: cmake --build
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build
--target all --
| [1/1] cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/recipe-sysroot-native/usr/bin/python3-native/
python3 setup.py build
| FAILED: python/CMakeFiles/python
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build/python/CMakeFiles/python
| cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/recipe-sysroot-native/usr/bin/python3-native/python
3 setup.py build
| Traceback (most recent call last):
| File "/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/build/python/setup.py",
line 24, in <module>
| from setuptools import setup, Extension
| ModuleNotFoundError: No module named 'setuptools'
| ninja: build stopped: subcommand failed.
| WARNING: /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093:161
exit 1 from 'eval ${DESTDIR:+DESTDIR=${DESTDIR} } cmake --build
'/mnt/b/yoe/master/build/tmp/work/x8
6_64-linux/nghttp2-native/1.50.0-r0/build' "$@" -- ${EXTRA_OECMAKE_BUILD}'
| WARNING: Backtrace (BB generated script):
| #1: cmake_runcmake_build,
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093,
line 161
| #2: cmake_do_compile,
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093,
line 155
| #3: do_compile,
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093,
line 150
| #4: main,
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.50.0-r0/temp/run.do_compile.1646093,
line 174
ERROR: Task (virtual:native:/mnt/b/yoe/master/sources/poky/meta/recipes-support/nghttp2/nghttp2_1.50.0.bb:do_compile)
failed with exit code '1'
Hi, Khem

I think autobuilder reproduced this issue since on this machine, cython
and PythonLibs is found so ENABLE_PYTHON_BINDINGS is set to ON,

but on my build host, it will be OFF, so python subdir will not be
compiled. I plan to just disable ENABLE_PYTHON_BINDINGS directly to make

deterministic build, and send V2 later.
Thanks for root causing the following up.



Refer part of the CMakeList.txt

find_package(Cython)

find_package(PythonLibs)

if(CYTHON_FOUND AND PYTHONLIBS_FOUND)

set(ENABLE_PYTHON_BINDINGS_DEFAULT ON)

else()

set(ENABLE_PYTHON_BINDINGS_DEFAULT OFF)

endif()


On Wed, Dec 28, 2022 at 6:34 PM Changqing Li
<changqing.li@...> wrote:
From: Changqing Li <changqing.li@...>

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@...>
---
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




Changqing Li
 

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.li@...>

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@...>
---
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


Alexandre Belloni
 

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@...>

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@...>
---
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



--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


Changqing Li
 

On 1/16/23 05:30, 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.

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.
Hi, Alex

I cannot reproduce this with debian 11 docker image.

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

configure:33927: checking run-time libs availability
configure:33983: gcc  -o conftest -isystem/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include -pipe -Werror-implicit-function-declaration -O2 -Wno-system-headers -isystem/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include -I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//include -I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include -DOPENSSL_SUPPRESS_DEPRECATED -I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include -L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib -L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib -Wl,--enable-new-dtags -Wl,-rpath-link,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib -Wl,-rpath,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/mnt/yocto/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 -L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//lib -L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/lib -L/mnt/yocto/build/tmp/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  >&5
configure:33983: $? = 0
configure:33983: ./conftest
configure:33983: $? = 0
configure:33985: result: fine


Is it possible to login the autobuilder host to check this?


Regards

Changqing



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@...>

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@...>
---
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
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


Changqing Li
 

On 1/20/23 09:48, Changqing Li wrote:

On 1/16/23 05:30, 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.

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.
Hi, Alex

I cannot reproduce this with debian 11 docker image.

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

configure:33927: checking run-time libs availability
configure:33983: gcc  -o conftest -isystem/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include -pipe -Werror-implicit-function-declaration -O2 -Wno-system-headers -isystem/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include -I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//include -I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include -DOPENSSL_SUPPRESS_DEPRECATED -I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include -L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib -L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib -Wl,--enable-new-dtags -Wl,-rpath-link,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib -Wl,-rpath,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/mnt/yocto/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 -L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//lib -L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/lib -L/mnt/yocto/build/tmp/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  >&5
configure:33983: $? = 0
configure:33983: ./conftest
configure:33983: $? = 0
configure:33985: result: fine


Is it possible to login the autobuilder host to check this?
Hi, Alex, Richard

Could you help to give some suggestions to debug this issue?

Thanks

Changqing



Regards

Changqing



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@...>

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@...>
---
   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
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


Khem Raj
 

still failing on archlinux

| [26/27] Generating nghttp2.c
| /usr/lib/python3.10/site-packages/Cython/Compiler/Main.py:369:
FutureWarning: Cython directive 'language_level' not set, using 2 for
now (Py2). This will change in a later release! File:
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/nghttp2-1.51.0/python/nghttp2.pyx
| tree = Parsing.p_module(s, pxd, full_module_name)
| [27/27] cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/recipe-sysroot-native/usr/bin/python3-native/python3
setup.py build
| FAILED: python/CMakeFiles/python
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python/CMakeFiles/python
| cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/recipe-sysroot-native/usr/bin/python3-native/python3
setup.py build
| Traceback (most recent call last):
| File "/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python/setup.py",
line 24, in <module>
| from setuptools import setup, Extension
| ModuleNotFoundError: No module named 'setuptools'
| ninja: build stopped: subcommand failed.
| WARNING: /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/temp/run.do_compile.2200023:167
exit 1 from 'eval ${DESTDIR:+DESTDIR=${DESTDIR} } cmake --build
'/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build'
"$@" -- ${EXTRA_OECMAKE_BUILD}'



On Sat, Jan 28, 2023 at 12:03 AM Changqing Li
<changqing.li@...> wrote:

On 1/20/23 09:48, Changqing Li wrote:

On 1/16/23 05:30, 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.

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.
Hi, Alex

I cannot reproduce this with debian 11 docker image.

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

configure:33927: checking run-time libs availability
configure:33983: gcc -o conftest
-isystem/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include
-pipe -Werror-implicit-function-declaration -O2 -Wno-system-headers
-isystem/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include
-I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//include
-I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include
-DOPENSSL_SUPPRESS_DEPRECATED
-I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib
-Wl,--enable-new-dtags
-Wl,-rpath-link,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib
-Wl,-rpath-link,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib
-Wl,-rpath,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib
-Wl,-rpath,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib
-Wl,-O1 -Wl,--allow-shlib-undefined
-Wl,--dynamic-linker=/mnt/yocto/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//lib
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/lib
-L/mnt/yocto/build/tmp/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 >&5
configure:33983: $? = 0
configure:33983: ./conftest
configure:33983: $? = 0
configure:33985: result: fine


Is it possible to login the autobuilder host to check this?
Hi, Alex, Richard

Could you help to give some suggestions to debug this issue?

Thanks

Changqing



Regards

Changqing



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@...>

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@...>
---
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
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



Khem Raj
 

I have sent a fix for nghttp2 which unblocks builds on archlinux build
hosts atleast.

On Sat, Jan 28, 2023 at 3:17 PM Khem Raj <raj.khem@...> wrote:

still failing on archlinux

| [26/27] Generating nghttp2.c
| /usr/lib/python3.10/site-packages/Cython/Compiler/Main.py:369:
FutureWarning: Cython directive 'language_level' not set, using 2 for
now (Py2). This will change in a later release! File:
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/nghttp2-1.51.0/python/nghttp2.pyx
| tree = Parsing.p_module(s, pxd, full_module_name)
| [27/27] cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/recipe-sysroot-native/usr/bin/python3-native/python3
setup.py build
| FAILED: python/CMakeFiles/python
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python/CMakeFiles/python
| cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/recipe-sysroot-native/usr/bin/python3-native/python3
setup.py build
| Traceback (most recent call last):
| File "/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python/setup.py",
line 24, in <module>
| from setuptools import setup, Extension
| ModuleNotFoundError: No module named 'setuptools'
| ninja: build stopped: subcommand failed.
| WARNING: /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/temp/run.do_compile.2200023:167
exit 1 from 'eval ${DESTDIR:+DESTDIR=${DESTDIR} } cmake --build
'/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build'
"$@" -- ${EXTRA_OECMAKE_BUILD}'



On Sat, Jan 28, 2023 at 12:03 AM Changqing Li
<changqing.li@...> wrote:

On 1/20/23 09:48, Changqing Li wrote:

On 1/16/23 05:30, 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.

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.
Hi, Alex

I cannot reproduce this with debian 11 docker image.

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

configure:33927: checking run-time libs availability
configure:33983: gcc -o conftest
-isystem/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include
-pipe -Werror-implicit-function-declaration -O2 -Wno-system-headers
-isystem/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include
-I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//include
-I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include
-DOPENSSL_SUPPRESS_DEPRECATED
-I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib
-Wl,--enable-new-dtags
-Wl,-rpath-link,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib
-Wl,-rpath-link,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib
-Wl,-rpath,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib
-Wl,-rpath,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib
-Wl,-O1 -Wl,--allow-shlib-undefined
-Wl,--dynamic-linker=/mnt/yocto/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//lib
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/lib
-L/mnt/yocto/build/tmp/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 >&5
configure:33983: $? = 0
configure:33983: ./conftest
configure:33983: $? = 0
configure:33985: result: fine


Is it possible to login the autobuilder host to check this?
Hi, Alex, Richard

Could you help to give some suggestions to debug this issue?

Thanks

Changqing



Regards

Changqing



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@...>

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@...>
---
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
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



Changqing Li
 

On 1/29/23 07:32, Khem Raj 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.

I have sent a fix for nghttp2 which unblocks builds on archlinux build
hosts atleast.
Thanks Khem, I planed to send out the fix together with this debian11 issue, but I cannot

reproduce this issue on debian11.  It is an different issue with this archlinux one.

//Changqing

On Sat, Jan 28, 2023 at 3:17 PM Khem Raj <raj.khem@...> wrote:
still failing on archlinux

| [26/27] Generating nghttp2.c
| /usr/lib/python3.10/site-packages/Cython/Compiler/Main.py:369:
FutureWarning: Cython directive 'language_level' not set, using 2 for
now (Py2). This will change in a later release! File:
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/nghttp2-1.51.0/python/nghttp2.pyx
| tree = Parsing.p_module(s, pxd, full_module_name)
| [27/27] cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/recipe-sysroot-native/usr/bin/python3-native/python3
setup.py build
| FAILED: python/CMakeFiles/python
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python/CMakeFiles/python
| cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/recipe-sysroot-native/usr/bin/python3-native/python3
setup.py build
| Traceback (most recent call last):
| File "/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python/setup.py",
line 24, in <module>
| from setuptools import setup, Extension
| ModuleNotFoundError: No module named 'setuptools'
| ninja: build stopped: subcommand failed.
| WARNING: /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/temp/run.do_compile.2200023:167
exit 1 from 'eval ${DESTDIR:+DESTDIR=${DESTDIR} } cmake --build
'/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build'
"$@" -- ${EXTRA_OECMAKE_BUILD}'



On Sat, Jan 28, 2023 at 12:03 AM Changqing Li
<changqing.li@...> wrote:
On 1/20/23 09:48, Changqing Li wrote:
On 1/16/23 05:30, 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.

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.
Hi, Alex

I cannot reproduce this with debian 11 docker image.

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

configure:33927: checking run-time libs availability
configure:33983: gcc -o conftest
-isystem/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include
-pipe -Werror-implicit-function-declaration -O2 -Wno-system-headers
-isystem/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include
-I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//include
-I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include
-DOPENSSL_SUPPRESS_DEPRECATED
-I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib
-Wl,--enable-new-dtags
-Wl,-rpath-link,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib
-Wl,-rpath-link,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib
-Wl,-rpath,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib
-Wl,-rpath,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib
-Wl,-O1 -Wl,--allow-shlib-undefined
-Wl,--dynamic-linker=/mnt/yocto/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//lib
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/lib
-L/mnt/yocto/build/tmp/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 >&5
configure:33983: $? = 0
configure:33983: ./conftest
configure:33983: $? = 0
configure:33985: result: fine


Is it possible to login the autobuilder host to check this?
Hi, Alex, Richard

Could you help to give some suggestions to debug this issue?

Thanks

Changqing


Regards

Changqing

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@...>

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@...>
---
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
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


Alexandre Belloni
 

Note that it also breaks meta-mingw:

https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/6613/steps/12/logs/stdio

On 29/01/2023 10:24:37+0800, Changqing Li wrote:

On 1/29/23 07:32, Khem Raj 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.

I have sent a fix for nghttp2 which unblocks builds on archlinux build
hosts atleast.
Thanks Khem, I planed to send out the fix together with this debian11 issue,
but I cannot

reproduce this issue on debian11.  It is an different issue with this
archlinux one.
Here is the actual issue on debian11:

/usr/lib/gcc/x86_64-linux-gnu/10/cc1: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/l
ib/pkgconfig/../../../usr/lib/libzstd.so.1)

I guess this is a missing dependency and you are linking with the host
lib.

//Changqing

On Sat, Jan 28, 2023 at 3:17 PM Khem Raj <raj.khem@...> wrote:
still failing on archlinux

| [26/27] Generating nghttp2.c
| /usr/lib/python3.10/site-packages/Cython/Compiler/Main.py:369:
FutureWarning: Cython directive 'language_level' not set, using 2 for
now (Py2). This will change in a later release! File:
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/nghttp2-1.51.0/python/nghttp2.pyx
| tree = Parsing.p_module(s, pxd, full_module_name)
| [27/27] cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/recipe-sysroot-native/usr/bin/python3-native/python3
setup.py build
| FAILED: python/CMakeFiles/python
/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python/CMakeFiles/python
| cd /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python
&& /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/recipe-sysroot-native/usr/bin/python3-native/python3
setup.py build
| Traceback (most recent call last):
| File "/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build/python/setup.py",
line 24, in <module>
| from setuptools import setup, Extension
| ModuleNotFoundError: No module named 'setuptools'
| ninja: build stopped: subcommand failed.
| WARNING: /mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/temp/run.do_compile.2200023:167
exit 1 from 'eval ${DESTDIR:+DESTDIR=${DESTDIR} } cmake --build
'/mnt/b/yoe/master/build/tmp/work/x86_64-linux/nghttp2-native/1.51.0-r0/build'
"$@" -- ${EXTRA_OECMAKE_BUILD}'



On Sat, Jan 28, 2023 at 12:03 AM Changqing Li
<changqing.li@...> wrote:
On 1/20/23 09:48, Changqing Li wrote:
On 1/16/23 05:30, 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.

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.
Hi, Alex

I cannot reproduce this with debian 11 docker image.

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

configure:33927: checking run-time libs availability
configure:33983: gcc -o conftest
-isystem/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include
-pipe -Werror-implicit-function-declaration -O2 -Wno-system-headers
-isystem/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/include
-I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//include
-I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include
-DOPENSSL_SUPPRESS_DEPRECATED
-I/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib
-Wl,--enable-new-dtags
-Wl,-rpath-link,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib
-Wl,-rpath-link,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib
-Wl,-rpath,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib
-Wl,-rpath,/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/lib
-Wl,-O1 -Wl,--allow-shlib-undefined
-Wl,--dynamic-linker=/mnt/yocto/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/..//lib
-L/mnt/yocto/build/tmp/work/x86_64-linux/curl-native/7.87.0-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/lib
-L/mnt/yocto/build/tmp/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 >&5
configure:33983: $? = 0
configure:33983: ./conftest
configure:33983: $? = 0
configure:33985: result: fine


Is it possible to login the autobuilder host to check this?
Hi, Alex, Richard

Could you help to give some suggestions to debug this issue?

Thanks

Changqing


Regards

Changqing

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@...>

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@...>
---
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
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com