Bug 1371813

Summary: solv_extend_realloc symbol not defined in file with link time reference
Product: [Fedora] Fedora Reporter: Christopher Meng <i>
Component: hawkeyAssignee: rpm-software-management
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mluscon, packaging-team-maint, RadekHolyPublic, rpm-software-management, vmukhame
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-31 09:24:23 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:

Description Christopher Meng 2016-08-31 07:57:07 UTC
Today I installed Fedora 23 on my test server and upgraded to Rawhide, and now dnf doesn't work anymore.

This is what system gives:

# dnf update
Traceback (most recent call last):
  File "/usr/bin/dnf", line 57, in <module>
    from dnf.cli import main
  File "/usr/lib/python3.5/site-packages/dnf/__init__.py", line 31, in <module>
    import dnf.base
  File "/usr/lib/python3.5/site-packages/dnf/base.py", line 30, in <module>
    from dnf.yum import history
  File "/usr/lib/python3.5/site-packages/dnf/yum/history.py", line 22, in <module>
    import hawkey
  File "/usr/lib64/python3.5/site-packages/hawkey/__init__.py", line 24, in <module>
    from . import _hawkey
ImportError: /lib64/libhawkey.so.2: symbol solv_extend_realloc, version SOLV_1.0 not defined in file libsolv.so.0 with link time reference

My installation information:

# rpm -qa |grep -E "dnf|haw|python3[^-]|system-python"
hawkey-0.6.3-5.fc26.x86_64
python3-dnf-1.1.10-1.fc26.noarch
dnf-langpacks-conf-0.15.1-1.fc23.noarch
system-python-libs-3.5.2-1.fc26.x86_64
system-python-3.5.2-1.fc26.x86_64
python3-hawkey-0.6.3-5.fc26.x86_64
dnf-conf-1.1.10-1.fc26.noarch
dnf-1.1.10-1.fc26.noarch
python3-dnf-plugins-core-0.1.21-4.fc26.noarch
dnf-plugins-core-0.1.21-4.fc26.noarch
dnf-yum-1.1.10-1.fc26.noarch

Comment 1 Igor Gnatenko 2016-08-31 08:04:12 UTC
$ rpm -q libsolv
please.

P.S. Christopher, I'm happy that you are again contributing to Fedora!

Comment 2 Christopher Meng 2016-08-31 09:21:34 UTC
(In reply to Igor Gnatenko from comment #1)
> $ rpm -q libsolv
> please.
> 
> P.S. Christopher, I'm happy that you are again contributing to Fedora!

Nice to meet you!

libsolv-0.6.14-2.fc23.x86_64

Oh...It seems that this wasn't updated during dnf update. I think it's a serious problem for people like me don't use dnf update -y for everything but rpm by rpm.

Admittedly the issue was caused by myself, but a explicit requires for such symbol bump should be added into spec to make sure this wont happen again.

Comment 3 Igor Gnatenko 2016-08-31 09:24:23 UTC
(In reply to Christopher Meng from comment #2)
> (In reply to Igor Gnatenko from comment #1)
> > $ rpm -q libsolv
> > please.
> > 
> > P.S. Christopher, I'm happy that you are again contributing to Fedora!
> 
> Nice to meet you!
> 
> libsolv-0.6.14-2.fc23.x86_64
> 
> Oh...It seems that this wasn't updated during dnf update. I think it's a
> serious problem for people like me don't use dnf update -y for everything
> but rpm by rpm.
use distro-sync. basically it's update --best + downgrades.
> 
> Admittedly the issue was caused by myself, but a explicit requires for such
> symbol bump should be added into spec to make sure this wont happen again.
Agree, but we rely on soname. I will write bug/patch for RPM dependency generator.



As a solution for your problem: download latest libsolv, install it using rpm and do dnf distro-sync.

Comment 4 Christopher Meng 2016-08-31 09:51:24 UTC
Thanks! I've used rpm -Uvh to fix the problem.