diff mbox series

[2/2] package/libcurl: add host-nghttp2 to host deps

Message ID 20220422181418.2411463-2-joseph.kogut@gmail.com
State Rejected
Headers show
Series [1/2] package/nghttp2: add host variant | expand

Commit Message

Joseph Kogut April 22, 2022, 6:14 p.m. UTC
This fixes building host-libcurl, which otherwise would fail with
undefined references to nghttp2 symbols.

/usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_pack_settings_payload'
/usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_http2_strerror'
/usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_submit_request'
/usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_submit_rst_stream'
<snip>
collect2: error: ld returned 1 exit status

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/libcurl/libcurl.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Arnout Vandecappelle April 22, 2022, 9:56 p.m. UTC | #1
On 22/04/2022 20:14, Joseph Kogut wrote:
> This fixes building host-libcurl, which otherwise would fail with
> undefined references to nghttp2 symbols.
> 
> /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_pack_settings_payload'
> /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_http2_strerror'
> /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_submit_request'
> /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_submit_rst_stream'

  I guess this happens because it somehow finds libnghttp2 installed on the host 
but then fails to link with it? In any case, we don't actually need host-libcurl 
to be built with nghttp2 I think. So just pass --without-nghttp2.

  Regards,
  Arnout

> <snip>
> collect2: error: ld returned 1 exit status
> 
> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> ---
>   package/libcurl/libcurl.mk | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk
> index 97857954db..d5805a1d32 100644
> --- a/package/libcurl/libcurl.mk
> +++ b/package/libcurl/libcurl.mk
> @@ -173,7 +173,7 @@ endef
>   LIBCURL_POST_INSTALL_TARGET_HOOKS += LIBCURL_TARGET_CLEANUP
>   endif
>   
> -HOST_LIBCURL_DEPENDENCIES = host-openssl
> +HOST_LIBCURL_DEPENDENCIES = host-openssl host-nghttp2
>   HOST_LIBCURL_CONF_OPTS = \
>   	--disable-manual \
>   	--disable-ntlm-wb \
Joseph Kogut April 22, 2022, 10:09 p.m. UTC | #2
On Fri, Apr 22, 2022 at 2:56 PM Arnout Vandecappelle <arnout@mind.be> wrote:
>
>
>
> On 22/04/2022 20:14, Joseph Kogut wrote:
> > This fixes building host-libcurl, which otherwise would fail with
> > undefined references to nghttp2 symbols.
> >
> > /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_pack_settings_payload'
> > /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_http2_strerror'
> > /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_submit_request'
> > /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_submit_rst_stream'
>
>   I guess this happens because it somehow finds libnghttp2 installed on the host
> but then fails to link with it? In any case, we don't actually need host-libcurl
> to be built with nghttp2 I think. So just pass --without-nghttp2.
>

It seems so. I think either providing the library or disabling it will
work fine, I just didn't want to assume what other users need here.
I'll respin with that config, thanks for the review.

>
>   Regards,
>   Arnout
>
> > <snip>
> > collect2: error: ld returned 1 exit status
> >
> > Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> > ---
> >   package/libcurl/libcurl.mk | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk
> > index 97857954db..d5805a1d32 100644
> > --- a/package/libcurl/libcurl.mk
> > +++ b/package/libcurl/libcurl.mk
> > @@ -173,7 +173,7 @@ endef
> >   LIBCURL_POST_INSTALL_TARGET_HOOKS += LIBCURL_TARGET_CLEANUP
> >   endif
> >
> > -HOST_LIBCURL_DEPENDENCIES = host-openssl
> > +HOST_LIBCURL_DEPENDENCIES = host-openssl host-nghttp2
> >   HOST_LIBCURL_CONF_OPTS = \
> >       --disable-manual \
> >       --disable-ntlm-wb \
Arnout Vandecappelle April 22, 2022, 10:19 p.m. UTC | #3
On 23/04/2022 00:09, Joseph Kogut wrote:
> On Fri, Apr 22, 2022 at 2:56 PM Arnout Vandecappelle <arnout@mind.be> wrote:
>>
>>
>>
>> On 22/04/2022 20:14, Joseph Kogut wrote:
>>> This fixes building host-libcurl, which otherwise would fail with
>>> undefined references to nghttp2 symbols.
>>>
>>> /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_pack_settings_payload'
>>> /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_http2_strerror'
>>> /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_submit_request'
>>> /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_submit_rst_stream'
>>
>>    I guess this happens because it somehow finds libnghttp2 installed on the host
>> but then fails to link with it? In any case, we don't actually need host-libcurl
>> to be built with nghttp2 I think. So just pass --without-nghttp2.
>>
> 
> It seems so. I think either providing the library or disabling it will
> work fine, I just didn't want to assume what other users need here.
> I'll respin with that config, thanks for the review.

  Actually, host-libcurl was only added for host-cargo. When host-cargo was 
removed, we should have removed host-libcurl as well.

  So the even better solution would be to simply revert commit 
736e0fc5d6103300fb5d6b0cde5e22ce978b8a80.

  How did you even run in to this error? There should be no reason to build 
host-libcurl...

  Regards,
  Arnout

> 
>>
>>    Regards,
>>    Arnout
>>
>>> <snip>
>>> collect2: error: ld returned 1 exit status
>>>
>>> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
>>> ---
>>>    package/libcurl/libcurl.mk | 2 +-
>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk
>>> index 97857954db..d5805a1d32 100644
>>> --- a/package/libcurl/libcurl.mk
>>> +++ b/package/libcurl/libcurl.mk
>>> @@ -173,7 +173,7 @@ endef
>>>    LIBCURL_POST_INSTALL_TARGET_HOOKS += LIBCURL_TARGET_CLEANUP
>>>    endif
>>>
>>> -HOST_LIBCURL_DEPENDENCIES = host-openssl
>>> +HOST_LIBCURL_DEPENDENCIES = host-openssl host-nghttp2
>>>    HOST_LIBCURL_CONF_OPTS = \
>>>        --disable-manual \
>>>        --disable-ntlm-wb \
Joseph Kogut April 22, 2022, 10:32 p.m. UTC | #4
On Fri, Apr 22, 2022 at 3:19 PM Arnout Vandecappelle <arnout@mind.be> wrote:
>
>
>
> On 23/04/2022 00:09, Joseph Kogut wrote:
> > On Fri, Apr 22, 2022 at 2:56 PM Arnout Vandecappelle <arnout@mind.be> wrote:
> >>
> >>
> >>
> >> On 22/04/2022 20:14, Joseph Kogut wrote:
> >>> This fixes building host-libcurl, which otherwise would fail with
> >>> undefined references to nghttp2 symbols.
> >>>
> >>> /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_pack_settings_payload'
> >>> /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_http2_strerror'
> >>> /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_submit_request'
> >>> /usr/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `nghttp2_submit_rst_stream'
> >>
> >>    I guess this happens because it somehow finds libnghttp2 installed on the host
> >> but then fails to link with it? In any case, we don't actually need host-libcurl
> >> to be built with nghttp2 I think. So just pass --without-nghttp2.
> >>
> >
> > It seems so. I think either providing the library or disabling it will
> > work fine, I just didn't want to assume what other users need here.
> > I'll respin with that config, thanks for the review.
>
>   Actually, host-libcurl was only added for host-cargo. When host-cargo was
> removed, we should have removed host-libcurl as well.
>
>   So the even better solution would be to simply revert commit
> 736e0fc5d6103300fb5d6b0cde5e22ce978b8a80.
>
>   How did you even run in to this error? There should be no reason to build
> host-libcurl...
>

I have an external package that makes an HTTP query to populate a
config file. I'm not sure if there's a better way to do this, if you
have any thoughts, I'm all ears.

>   Regards,
>   Arnout
>
> >
> >>
> >>    Regards,
> >>    Arnout
> >>
> >>> <snip>
> >>> collect2: error: ld returned 1 exit status
> >>>
> >>> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> >>> ---
> >>>    package/libcurl/libcurl.mk | 2 +-
> >>>    1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk
> >>> index 97857954db..d5805a1d32 100644
> >>> --- a/package/libcurl/libcurl.mk
> >>> +++ b/package/libcurl/libcurl.mk
> >>> @@ -173,7 +173,7 @@ endef
> >>>    LIBCURL_POST_INSTALL_TARGET_HOOKS += LIBCURL_TARGET_CLEANUP
> >>>    endif
> >>>
> >>> -HOST_LIBCURL_DEPENDENCIES = host-openssl
> >>> +HOST_LIBCURL_DEPENDENCIES = host-openssl host-nghttp2
> >>>    HOST_LIBCURL_CONF_OPTS = \
> >>>        --disable-manual \
> >>>        --disable-ntlm-wb \
diff mbox series

Patch

diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk
index 97857954db..d5805a1d32 100644
--- a/package/libcurl/libcurl.mk
+++ b/package/libcurl/libcurl.mk
@@ -173,7 +173,7 @@  endef
 LIBCURL_POST_INSTALL_TARGET_HOOKS += LIBCURL_TARGET_CLEANUP
 endif
 
-HOST_LIBCURL_DEPENDENCIES = host-openssl
+HOST_LIBCURL_DEPENDENCIES = host-openssl host-nghttp2
 HOST_LIBCURL_CONF_OPTS = \
 	--disable-manual \
 	--disable-ntlm-wb \