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


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



Join openembedded-core@lists.openembedded.org to automatically receive all group messages.