Curl is broken after an update, which subsequently breaks zypper

Hello,

I am encountering an issue after updating curl to the latest version available in the Trumbleweed repos. After the update, every curl command returns the following error :


$ curl
curl: symbol lookup error: /lib64/libcurl.so.4: undefined symbol: nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation

And I couldn’t find a solution to this, I couldn’t downgrade at all because zypper now returns the same error, and I couldn’t find all the necessary packages to manually downgrade with the rpm command…

Did someone also encounter this issue? Do someone can suggest a solution?

Thank you :slight_smile:

1 Like

It happened to me more than once. Find rpm libnghttp2-14 and install with rpm. I think it may be a victim of a broken dependency.

Oh, my! Thank you so much!

I downloaded the package from here: https://www.rpmfind.net/linux/RPM/opensuse/tumbleweed/x86_64/libnghttp2-14-1.50.0-1.1.x86_64.html
And installed it with:

$ rpm -i --force libnghttp2-14-1.50.0-1.1.x86_64.rpm

I had to force the install to replace the libnghttp2-14-1.47.0-1.4.x86_64 file which was already installed by the new one.

Thank you so much, now everything works great again!

Same here, thanks for reporting this!

But, better get it from the official archives:


$ wget https://download.opensuse.org/tumbleweed/repo/oss/x86_64/libnghttp2-14-1.50.0-1.1.x86_64.rpm
$ sudo rpm --force -hiv libnghttp2-14-1.50.0-1.1.x86_64.rpm

Thank you :slight_smile:
I couldn’t find a link to the archives when I looked for older versions of the package.

https://download.opensuse.org/ should be the starting point for any openSUSE download search. It’s where everything downloadable and official lives. Is that not where you started looking? The URIs in /etc/zypp/repos.d/*repo provide hints to narrow the search when necessary.

Thank you for the information. When I looked for the package I only got results from the software website or the build service.
But now I’ll know where to look first :slight_smile:

And now I wonder why I didn’t look in the repo files…

I just ran into this issue on Leap 15.4 and got here by Google search. It occurs when you install libcurl-devel which only exists in repo devel:libraries:c_c++. Zypper will suggest to also update curl and libcurl (option 1) and after you do so, curl is broken.

Just for your convenience, if your OS is Leap 15.4, the commands to fix the issue are:

wget https://download.opensuse.org/repositories/devel:/libraries:/c_c++/15.4/x86_64/libnghttp2-14-1.52.0-lp154.1.1.x86_64.rpm
sudo rpm --force -hiv libnghttp2-14-1.52.0-lp154.1.1.x86_64.rpm

This never happened here. On infamous host erlangen the package gets installed automatically:

erlangen:~ # zypper info libnghttp2-14
Loading repository data...
Reading installed packages...


Information for package libnghttp2-14:
--------------------------------------
Repository     : Haupt-Repository (OSS)
Name           : libnghttp2-14
Version        : 1.52.0-1.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 171.3 KiB
Installed      : Yes (automatically)
Status         : up-to-date
Source package : nghttp2-1.52.0-1.1.src
Upstream URL   : https://nghttp2.org/
Summary        : Shared library for nghttp2
Description    : 
    Shared C libraries for implementation of Hypertext Transfer Protocol
    version 2.

erlangen:~ # 

Users may want to check their /var/lib/zypp/AutoInstalled.