Bug 1851008

Summary: distutils module: sysconfig.get_config_var('LIBPL') returns non existing directory
Product: [Fedora] Fedora Reporter: Zdenek Dohnal <zdohnal>
Component: python3Assignee: Victor Stinner <vstinner>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 31CC: cstratak, dmalcolm, lantw44, m.cyprian, mhroncok, mplch, pviktori, rkuska, shcherbina.iryna, slavek.kabrda, tomspur, torsava, vstinner
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python3.7-3.7.8~rc1-2.fc33 python3-3.7.8-1.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1851090 (view as bug list) Environment:
Last Closed: 2020-07-30 19:07:55 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:
Bug Depends On:    
Bug Blocks: 1851090    

Description Zdenek Dohnal 2020-06-25 12:17:01 UTC
Description of problem:
python3-3.7.7-3 introduces a regression in distutils module:

python3-3.7.7-1.fc31:
$ python3 -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('LIBPL'))"

/usr/lib64/python3.7/config-3.7m-x86_64-linux-gnu

python3-3.7.7-3.fc31:
$ python3 -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('LIBPL'))"

/usr/lib64/python3.7/config-m-x86_64-linux-gnu

The regression causes Vim to fail to build in F31 branch.

Version-Release number of selected component (if applicable):
python3-3.7.7-3.fc31

How reproducible:
Always

Steps to Reproduce:
See above

Actual results:
prints an incorrect path

Expected results:
prints a correct path

Additional info:

Comment 1 Miro Hrončok 2020-06-25 12:31:52 UTC
Thanks for the report. Victor, can you please have a look?

$ python3.6 -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('LIBPL'))"
/usr/lib64/python3.6/config-m-x86_64-linux-gnu

$ python3.7 -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('LIBPL'))"
/usr/lib64/python3.7/config-m-x86_64-linux-gnu

$ python3.8 -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('LIBPL'))"
/usr/lib64/python3.8/config-3.8-x86_64-linux-gnu

Comment 2 Victor Stinner 2020-06-25 14:51:51 UTC
Oh no! I broke sysconfig LIBPL variable when fixing "python3-config --configdir" in bz#1772988 :-(

bz#1772988 fixed a first downstream bug, and this issue is about a second downstream bug: the 00178-dont-duplicate-flags-in-sysconfig.patch downstream patch is wrong and should be removed. It causes this bug.

If I revert it, distutils.sysconfig.get_config_var('LIBPL') returns /usr/lib64/python3.7/config-3.7m-x86_64-linux-gnu as expected.

Comment 3 Victor Stinner 2020-06-25 15:02:15 UTC
This issue is basically the same than https://bugzilla.redhat.com/show_bug.cgi?id=1710767 which was fixed by removing 00178-dont-duplicate-flags-in-sysconfig.patch in the Python 3.8 package.

I proposed https://src.fedoraproject.org/rpms/python3.7/pull-request/4 to remove the patch.

Comment 4 Victor Stinner 2020-06-25 15:15:42 UTC
And https://src.fedoraproject.org/rpms/python3.6/pull-request/4 for Python 3.6.

Comment 5 Victor Stinner 2020-06-25 15:57:53 UTC
> This issue is basically the same than https://bugzilla.redhat.com/show_bug.cgi?id=1710767 which was fixed by removing 00178-dont-duplicate-flags-in-sysconfig.patch in the Python 3.8 package.

The patch 178 comes from https://src.fedoraproject.org/rpms/python3/c/58f477b403222ea6c13d5d7358551b606cddc0f8?branch=master

It was supposed to fix https://bugs.python.org/issue17679: I rejected this issue since it wasn't a real bug. sysconfig should simply parse the Makefile variables, it should not modify its content ("remove duplicated flags"). Also the patch was wrong (see the issue for the details).

The patch was removed in the Python 3.8 package of Fedora and the full Python test suite still pass. I am not sure why tests failed when https://bugs.python.org/issue17679 was reported. Maybe the test was fixed in the meanwhile.

Comment 6 Miro Hrončok 2020-06-26 08:16:43 UTC
Zdenek, we have fixed this in rawhide in python3.7-3.7.8~rc1-2.fc33. I plan to backport this to Fedora 31 together with the 3.7.8 final update (upstream release planned for tmrw, might get to Fedora early next week). Let me know if that's too late -- I can help you build vim with python3-3.7.7-1.fc31 if it is urgent.

Comment 7 Zdenek Dohnal 2020-06-26 08:42:08 UTC
I have no urgent bug which is blocked by FTBFS - I just update Vim weekly to be on the same patchlevel as upstream. If the bug will be solved in a week or two, I'm okay with it.

Comment 8 Fedora Update System 2020-07-01 13:23:25 UTC
FEDORA-2020-8bdd3fd7a4 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-8bdd3fd7a4

Comment 9 Fedora Update System 2020-07-01 13:23:25 UTC
FEDORA-2020-ea5bdbcc90 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-ea5bdbcc90

Comment 10 Fedora Update System 2020-07-02 01:12:07 UTC
FEDORA-2020-ea5bdbcc90 has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-ea5bdbcc90`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-ea5bdbcc90

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Fedora Update System 2020-07-02 01:15:43 UTC
FEDORA-2020-8bdd3fd7a4 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-8bdd3fd7a4`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-8bdd3fd7a4

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 12 Fedora Update System 2020-07-02 09:41:18 UTC
FEDORA-2020-13460f5613 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-13460f5613

Comment 13 Fedora Update System 2020-07-02 09:42:37 UTC
FEDORA-2020-56e5d11739 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-56e5d11739

Comment 14 Fedora Update System 2020-07-03 01:22:57 UTC
FEDORA-2020-56e5d11739 has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-56e5d11739`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-56e5d11739

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 15 Fedora Update System 2020-07-03 02:04:28 UTC
FEDORA-2020-13460f5613 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-13460f5613`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-13460f5613

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 16 Fedora Update System 2020-07-04 01:12:26 UTC
FEDORA-2020-8bdd3fd7a4 has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 17 Fedora Update System 2020-07-10 01:01:07 UTC
FEDORA-2020-ea5bdbcc90 has been pushed to the Fedora 31 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 18 Victor Stinner 2020-07-10 10:30:08 UTC
Status: python37-3.7.8-1.fc32 is not pushed to stable yet, https://bodhi.fedoraproject.org/updates/FEDORA-2020-13460f5613 It should be pushed soon: updated created one week ago with "Stable by Time: 7 days".

Comment 19 Victor Stinner 2020-07-10 10:32:53 UTC
Status: python3-3.7.8-1.fc31 is not pushed to stable yet: https://bodhi.fedoraproject.org/updates/FEDORA-2020-56e5d11739 "Stable by Time: 14 days" still require one week. Also, it has a karma of 0 ("Stable by Karma: 5").

Comment 20 Fedora Update System 2020-07-11 01:08:37 UTC
FEDORA-2020-13460f5613 has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 21 Zdenek Dohnal 2020-07-23 11:22:41 UTC
Victor,

F31 update can be pushed now, would you mind pushing it?

Comment 22 Miro Hrončok 2020-07-23 11:33:53 UTC
Victor is on vacation. The update should be pushed automatically any time now.

Do you want a buildroot override?

Comment 23 Zdenek Dohnal 2020-07-23 11:41:05 UTC
Aha, I missed a new option 'Stable by time' - I was recently surprised that my updates hanged in testing even after 14 days, so I thought it is a new default. But my alias for bodhi doesn't have the new option...

No problem, the automatic push is okay.

Comment 24 Fedora Update System 2020-07-30 19:07:55 UTC
FEDORA-2020-56e5d11739 has been pushed to the Fedora 31 stable repository.
If problem still persists, please make note of it in this bug report.