Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 720002 - dev-python/PyQt5-5.14.2: race condition in parallel install
Summary: dev-python/PyQt5-5.14.2: race condition in parallel install
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 734372
  Show dependency tree
 
Reported: 2020-04-29 10:41 UTC by Benda Xu
Modified: 2020-09-16 00:48 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
PyQt5.patch (PyQt5.patch,488 bytes, patch)
2020-04-29 10:47 UTC, Benda Xu
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Benda Xu gentoo-dev 2020-04-29 10:41:48 UTC
In Prefix, dev-python/PyQt5 fails during src_install with a race condition, with EPREFIX=/cvmfs/juno.ihep.ac.cn/ci/gentoo.  Forcing MAKEOPTS=-j1 fixes this issue.  It seems to be related to the ubiquitous bug of Python distutils.

make[1]: Leaving directory '/tmp/portage/dev-python/PyQt5-5.14.2/work/PyQt5-5.14.2-python3_6/Qt'
/cvmfs/juno.ihep.ac.cn/ci/gentoo/usr/lib64/qt5/bin/qmake -install qinstall /tmp/portage/dev-python/PyQt5-5.14.2/work/PyQt5-5.14.2/sip/QtWebChannel/QtWebChannelmod.sip /tmp/portage/dev-python/PyQt5-5.14.2/image/Py
Qt5_tmp_root/cvmfs/juno.ihep.ac.cn/ci/gentoo/usr/share/sip/PyQt5/QtWebChannel/QtWebChannelmod.sip
/cvmfs/juno.ihep.ac.cn/ci/gentoo/usr/lib64/qt5/bin/qmake -install qinstall /tmp/portage/dev-python/PyQt5-5.14.2/work/PyQt5-5.14.2/sip/QtWebChannel/qwebchannel.sip /tmp/portage/dev-python/PyQt5-5.14.2/image/PyQt5_
tmp_root/cvmfs/juno.ihep.ac.cn/ci/gentoo/usr/share/sip/PyQt5/QtWebChannel/qwebchannel.sip
/cvmfs/juno.ihep.ac.cn/ci/gentoo/usr/lib64/qt5/bin/qmake -install qinstall /tmp/portage/dev-python/PyQt5-5.14.2/work/PyQt5-5.14.2/sip/QtWebChannel/qwebchannelabstracttransport.sip /tmp/portage/dev-python/PyQt5-5.
14.2/image/PyQt5_tmp_root/cvmfs/juno.ihep.ac.cn/ci/gentoo/usr/share/sip/PyQt5/QtWebChannel/qwebchannelabstracttransport.sip
/cvmfs/juno.ihep.ac.cn/ci/gentoo/usr/bin/python3.6 /tmp/portage/dev-python/PyQt5-5.14.2/work/PyQt5-5.14.2/mk_distinfo.py "/tmp/portage/dev-python/PyQt5-5.14.2/image/PyQt5_tmp_root" /cvmfs/juno.ihep.ac.cn/ci/gento
o/usr/lib64/python3.6/site-packages/PyQt5-5.14.2.dist-info installed.txt                      
Traceback (most recent call last):                                                                        
  File "/tmp/portage/dev-python/PyQt5-5.14.2/work/PyQt5-5.14.2/mk_distinfo.py", line 112, in <module>
    fn_f = open(fn, 'rb')                                                                                 
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/portage/dev-python/PyQt5-5.14.2/image/PyQt5_tmp_root/cvmfs/juno.ihep.ac.cn/ci/gentoo/usr/lib64/python3.6/site-packages/PyQt5/__init__.py'
make: *** [Makefile:2632: install_distinfo] Error 1


Reproducible: Always
Comment 1 Benda Xu gentoo-dev 2020-04-29 10:47:39 UTC
Created attachment 635154 [details, diff]
PyQt5.patch

What do you think of this patch of workaround?

@Python Team, would you like to comment on the parallel build of distutils/setuptools?
Comment 2 Arfrever Frehtes Taifersar Arahesis 2020-04-29 19:12:33 UTC
dev-python/PyQt5 has qmake-based build system, not distutils/setuptools.
Comment 3 Benda Xu gentoo-dev 2020-04-30 16:37:09 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #2)
> dev-python/PyQt5 has qmake-based build system, not distutils/setuptools.

I see.  Thanks for clarifying.
Comment 4 Larry the Git Cow gentoo-dev 2020-09-16 00:48:07 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97ae223251a26f941c1404dc36390244c636e142

commit 97ae223251a26f941c1404dc36390244c636e142
Author:     Davide Pesavento <pesa@gentoo.org>
AuthorDate: 2020-09-16 00:41:30 +0000
Commit:     Davide Pesavento <pesa@gentoo.org>
CommitDate: 2020-09-16 00:47:59 +0000

    dev-python/PyQt5: add 5.15.1
    
    Go back to using 'emake -j1' to workaround the parallel install
    failure. The previous approach wasn't maintainable and upstream
    doesn't seem to be interested in a proper fix.
    
    Closes: https://bugs.gentoo.org/720002
    Package-Manager: Portage-3.0.6, Repoman-3.0.1
    Signed-off-by: Davide Pesavento <pesa@gentoo.org>

 dev-python/PyQt5/Manifest            |   1 +
 dev-python/PyQt5/PyQt5-5.15.1.ebuild | 190 +++++++++++++++++++++++++++++++++++
 2 files changed, 191 insertions(+)