Bug 1410644

Summary: Updating packages on rawhide has completely broken python, including dnf
Product: [Fedora] Fedora Reporter: Robin Powell <rlpowell>
Component: python3Assignee: Charalampos Stratakis <cstratak>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: rawhideCC: bkabrda, cstratak, mcyprian, mhroncok, pviktori, rkuska, rlpowell, tomspur, torsava, twp
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: python3-3.6.0-5.fc26 python35-3.5.2-7.fc26 python34-3.4.5-3.fc26 python2-2.7.13-1.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-01-12 10:22:09 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 Robin Powell 2017-01-06 00:33:35 UTC
(I have no idea where this problem actually occured; the "python3" component was just a guess.)

After running: sudo dnf update container-selinux.x86_64       libselinux.x86_64              libselinux-devel.x86_64        libselinux-python.x86_64       libselinux-python3.x86_64      libselinux-ruby.x86_64         libselinux-utils.x86_64        rpm-plugin-selinux.x86_64      selinux-policy.noarch          selinux-policy-devel.noarch    selinux-policy-doc.noarch      selinux-policy-targeted.noarch docker.x86_64        docker-common.x86_64

every use of python does this:

rlpowell@vrici> sudo dnf list python
/usr/libexec/system-python: relocation error: /lib64/libpython3.6m.so.1.0: symbol getentropy, version GLIBC_2.25 not defined in file libc.so.6 with link time reference

This leaves me with no way to try to produce a minimal test case, as this is my only rawhide box and it can't run dnf.

(Oh, I can't run fpaste to show you the output; yay.)

Here's the complete dnf output:

https://gist.github.com/anonymous/d247ebf946c1fbdffd771249a65777bc

Comment 1 Robin Powell 2017-01-06 03:13:04 UTC
Fixed it like so:

yumdownloader glibc libcrypt-nss glibc-common glibc-langpack-en glibc-headers glibc-devel

sudo rpm -U glibc-2.24.90-26.fc26.x86_64.rpm glibc-2.24.90-26.fc26.i686.rpm glibc-all-langpacks-2.24.90-26.fc26.x86_64.rpm glibc-common-2.24.90-26.fc26.x86_64.rpm glibc-langpack-en-2.24.90-26.fc26.x86_64.rpm libcrypt-nss-2.24.90-26.fc26.x86_64.rpm glibc-headers-2.24.90-26.fc26.x86_64.rpm glibc-devel-2.24.90-26.fc26.x86_64.rpm libcrypt-nss-2.24.90-26.fc26.i686.rpm

So.  Apparently y'all got a dependency problem.

Comment 2 Miro Hrončok 2017-01-06 09:59:42 UTC
Could you please show me output of:

  rpm -q python3

?

Comment 3 Robin Powell 2017-01-06 21:24:47 UTC
rlpowell@vrici>   rpm -q python3
python3-3.6.0-1.fc26.x86_64

Comment 4 Miro Hrončok 2017-01-07 16:00:29 UTC
There's an updated version that fixed some glibc related issues. However, i don't know how to test if it fixes the dependency thing.

Comment 5 Charalampos Stratakis 2017-01-09 13:33:03 UTC
This seems like the issue mentioned at #1410187

Could we confirm that this is fixed somehow? The fix and the build have been applied in rawhide.

Comment 6 Miro Hrončok 2017-01-10 12:19:41 UTC
# rpm -q system-python
system-python-3.5.1-15.fc26.x86_64

# dnf update dnf
... pulls in new python3, but not glibc ...

# rpm -q system-python
system-python-3.6.0-3.fc26.x86_64

# rpm -q python3
python3-3.6.0-3.fc26.x86_64

# rpm -q glibc
glibc-2.24.90-2.fc26.x86_64

# python3
python3: relocation error: /lib64/libpython3.6m.so.1.0: symbol getrandom, version GLIBC_2.25 not defined in file libc.so.6 with link time reference

# dnf
/usr/libexec/system-python: relocation error: /lib64/libpython3.6m.so.1.0: symbol getrandom, version GLIBC_2.25 not defined in file libc.so.6 with link time reference

Indeed, this is a bug and python3 built with glibc >= 2.25 needs to require it. I wonder why this is not handled automatically.

Comment 7 Miro Hrončok 2017-01-10 12:22:43 UTC
Oh and it's glibc 2.24.90 not 2.25 as the error suggest :(

Comment 8 Miro Hrončok 2017-01-10 12:23:14 UTC
Or even 2.24.90-26.

Comment 9 Miro Hrončok 2017-01-10 13:20:25 UTC
I suppose we manually add:

    Requires: glibc >= 2.24.90-26

To system-python-libs.

Comment 10 Petr Viktorin 2017-01-10 13:26:04 UTC
Yes, that would be good.

Comment 11 Miro Hrončok 2017-01-10 15:33:01 UTC
All Pythons in rawhide probably needs this.

Comment 12 Charalampos Stratakis 2017-01-10 22:51:53 UTC
python2 and python33 remains to be fixed

Comment 13 Charalampos Stratakis 2017-01-12 10:22:09 UTC
Commits have been pushed for all the interpreters in rawhide to require glibc.

Comment 14 Tim Pierce 2017-02-03 22:24:13 UTC
This change does not appear to have been needed for python2. Why was it made to that package?

Comment 15 Miro Hrončok 2017-02-07 18:27:31 UTC
Because it was rebuilded.