Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1631804

Summary: libcurl update breaks dnf (missing dep?)
Product: [Fedora] Fedora Reporter: Denys Vlasenko <dvlasenk>
Component: curlAssignee: Kamil Dudka <kdudka>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: john.j5live, kdudka, paul
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: curl-7.61.1-2.fc30 curl-7.61.1-2.fc29 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-10-07 21:00:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Denys Vlasenko 2018-09-21 15:21:37 UTC
As of today, I have the latest dnf installed:

# dnf update dnf
Last metadata expiration check: 1:46:00 ago on Fri 21 Sep 2018 03:31:40 PM CEST.
Dependencies resolved.
Nothing to do.
Complete!

My libcurl is:
# rpm -qi libcurl
Name        : libcurl
Version     : 7.59.0
Release     : 7.fc28

If I would update to latest libcurl:

# dnf update libcurl
Last metadata expiration check: 1:48:04 ago on Fri 21 Sep 2018 03:31:40 PM CEST.
Dependencies resolved.
================================================================================
 Package          Arch            Version                Repository        Size
================================================================================
Upgrading:
 libcurl          x86_64          7.61.1-1.fc30          rawhide          246 k
Is this ok [y/N]: Y


then "dnf" breaks on the next run:

# dnf
Traceback (most recent call last):
  File "/usr/lib64/python3.7/site-packages/libdnf/conf.py", line 14, in swig_import_helper
    return importlib.import_module(mname)
  File "/usr/lib64/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 583, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1043, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: /lib64/libcurl.so.4: undefined symbol: psl_latest

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/bin/dnf", line 57, in <module>
    from dnf.cli import main
  File "/usr/lib/python3.7/site-packages/dnf/__init__.py", line 30, in <module>
    import dnf.base
  File "/usr/lib/python3.7/site-packages/dnf/base.py", line 29, in <module>
    import libdnf.transaction
  File "/usr/lib64/python3.7/site-packages/libdnf/__init__.py", line 3, in <module>
    from . import conf
  File "/usr/lib64/python3.7/site-packages/libdnf/conf.py", line 17, in <module>
    _conf = swig_import_helper()
  File "/usr/lib64/python3.7/site-packages/libdnf/conf.py", line 16, in swig_import_helper
    return importlib.import_module('_conf')
  File "/usr/lib64/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_conf'

Comment 1 Paul Howarth 2018-09-21 16:47:56 UTC
I suspect this will work if you update libpsl along with libcurl.

We should probably add a versioned dependency for libpsl like the ones we already have for openssl and libssh.

Comment 2 Paul Howarth 2018-09-21 16:50:19 UTC
You might also want to try a distro sync since you seem to have a mix of fc28 and Rawhide packages on your system.

Comment 3 Kamil Dudka 2018-10-05 11:43:35 UTC
(In reply to Paul Howarth from comment #1)
> We should probably add a versioned dependency for libpsl like the ones we
> already have for openssl and libssh.

Sounds like a good idea!

Comment 5 Fedora Update System 2018-10-05 13:38:12 UTC
curl-7.61.1-2.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-c4a6754e29

Comment 6 Fedora Update System 2018-10-05 18:24:13 UTC
curl-7.61.1-2.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-c4a6754e29

Comment 7 Fedora Update System 2018-10-07 21:00:33 UTC
curl-7.61.1-2.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.