mingw-wine-gecko failed to build from source in Fedora rawhide/f35 https://koji.fedoraproject.org/koji/taskinfo?taskID=72407619 For details on the mass rebuild see: https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Please fix mingw-wine-gecko at your earliest convenience and set the bug's status to ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks, mingw-wine-gecko will be orphaned. Before branching of Fedora 36, mingw-wine-gecko will be retired, if it still fails to build. For more details on the FTBFS policy, please visit: https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/
Created attachment 1808088 [details] build.log
Created attachment 1808089 [details] root.log file root.log too big, will only attach last 32768 bytes
Created attachment 1808090 [details] state.log
Dear Maintainer, your package has an open Fails To Build From Source bug for Fedora 35. Action is required from you. If you can fix your package to build, perform a build in koji, and either create an update in bodhi, or close this bug without creating an update, if updating is not appropriate [1]. If you are working on a fix, set the status to ASSIGNED to acknowledge this. If you have already fixed this issue, please close this Bugzilla report. Following the policy for such packages [2], your package will be orphaned if this bug remains in NEW state more than 8 weeks (not sooner than 2021-09-23). A week before the mass branching of Fedora 36 according to the schedule [3], any packages not successfully rebuilt at least on Fedora 34 will be retired regardless of the status of this bug. [1] https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/ [2] https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/ [3] https://fedorapeople.org/groups/schedule/f-36/f-36-key-tasks.html
This bug appears to have been reported against 'rawhide' during the Fedora 35 development cycle. Changing version to 35.
Created attachment 1829940 [details] mingw-wine-gecko - some py3.10 fixes for F35 Attached is a patch with a number of py3.10 "fixes" so the mingw-wine-gecko build progresses (warning: I have little pyFoo). I got stuck at this error: 0:02.02 checking for python3... /usr/bin/python3 0:02.03 Creating Python environment 0:02.04 /builddir/build/BUILD/wine-gecko-2.47.2/wine-gecko-2.47.2/python/mozbuild/mozbuild/virtualenv.py:10: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives 0:02.04 import distutils.sysconfig 0:02.05 /builddir/build/BUILD/wine-gecko-2.47.2/wine-gecko-2.47.2/python/mozbuild/mozbuild/virtualenv.py:10: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead 0:02.05 import distutils.sysconfig 0:02.09 /builddir/build/BUILD/wine-gecko-2.47.2/wine-gecko-2.47.2/python/virtualenv/virtualenv.py:25: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives 0:02.09 import distutils.spawn 0:02.10 /builddir/build/BUILD/wine-gecko-2.47.2/wine-gecko-2.47.2/python/virtualenv/virtualenv.py:26: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead 0:02.10 import distutils.sysconfig 0:02.11 /builddir/build/BUILD/wine-gecko-2.47.2/wine-gecko-2.47.2/python/virtualenv/virtualenv.py:1047: DeprecationWarning: the imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses 0:02.11 import imp 0:02.14 Using base prefix '/usr' 0:02.14 New python executable in /builddir/build/BUILD/wine-gecko-2.47.2/wine-gecko-2.47.2-x86/_virtualenv/bin/python3 0:02.14 Not overwriting existing python script /builddir/build/BUILD/wine-gecko-2.47.2/wine-gecko-2.47.2-x86/_virtualenv/bin/python (you must use /builddir/build/BUILD/wine-gecko-2.47.2/wine-gecko-2.47.2-x86/_virtualenv/bin/python3) 0:02.16 Installing setuptools, pip, wheel... 0:02.16 Complete output from command /builddir/build/BUIL...rtualenv/bin/python3 - setuptools pip wheel: 0:02.16 Traceback (most recent call last): 0:02.16 File "<stdin>", line 3, in <module> 0:02.16 ModuleNotFoundError: No module named 'pkgutil' 0:02.16 ---------------------------------------- 0:02.16 ...Installing setuptools, pip, wheel...done. 0:02.16 Traceback (most recent call last): HTH
Created attachment 1850487 [details] Broken try to address "ModuleNotFoundError: No module named 'pkgutil'"
Miro, may I kindly ask you to have a look to this issue? It seems like the virtualenv creation is an issue with a current Python version.
The sources seem to bundle virtualenv 15.2.0 (from 2018) that does not support Pythons larger than 3.6. Try updating it?
Unfortunately virtualenv 20.13.0 doesn't seem to be usable as a drop-in replacement for 15.2.0, at least with my Python knowledge ;-(
Do you know where, how, and why it is actually invoked?
It's invoked by the build scripts (mixture of bash and python scripts) of the wine-gecko package, and I from my so far understanding this happens because of MinGW for the cross-build for Microsoft Windows, because the outcome for the RPM package at the end is a *.msi (Windows Installer) file (which is then being used by wine and its tools by end users). I'm not the package maintainer, but of playonlinux which depends on mingw-wine-gecko at runtime.
The build machinery here is not simple :( I suggest trying to replace the bundled virtualenv with the legacy branch from https://github.com/pypa/virtualenv/tree/legacy which is more or less 16.7.11. That should be a more or less drop-in replacement for 15.2.0. And if there are problems with Python 3.10, I can try to help fix them.
(In reply to Miro Hrončok from comment #13) > The build machinery here is not simple :( > > I suggest trying to replace the bundled virtualenv with the legacy branch > from https://github.com/pypa/virtualenv/tree/legacy which is more or less > 16.7.11. That should be a more or less drop-in replacement for 15.2.0. And > if there are problems with Python 3.10, I can try to help fix them. Thank you for your suggestion. I added the virtualenv legacy branch to the wine-gecko src and the build moves forward until it finds another py3.10 incompatibity. 0:38.44 from collections import defaultdict, MutableSequence 0:38.44 ImportError: cannot import name 'MutableSequence' from 'collections' (/builddir/build/BUILD/wine-gecko/wine-gecko-2.47.3-x86/_virtualenv/lib64/python3.10/collections/__init__.py) 0:38.46 *** Fix above errors and then restart with\ 0:38.46 "/usr/bin/gmake -f client.mk build" which requires a collections -> collections.abc fix. I'll keep rebuilding and if something is beyond my pyFoo then I'll comment here.
The build fails in (AFAICT) different ways when using _smpmflags: 1 or not. I would appreciate some extra eyes on this. Build with _smpmflags: 1 https://copr.fedorainfracloud.org/coprs/patrickl/mingw-wine-gecko/build/3163240/ Build without _smpmflags https://copr.fedorainfracloud.org/coprs/patrickl/mingw-wine-gecko/build/3163344/ Any ideas?
Created attachment 1850691 [details] Py3.10 fixes needed after the virtualenv -16.7.11 replacement Small patch with some py3.10 fixes needed after replacing virtualenv with the one suggested by Miro.
Upstream: https://bugs.winehq.org/show_bug.cgi?id=51918 (and https://bugs.winehq.org/show_bug.cgi?id=52085)
FYI: I'm working on it. Latest update: * 32-bit MSI is fully compiling with Patrick and my changes. Yay! * 64-bit MSI is mostly compiling. There are linker errors with libffi, ffvpx, and libav. ** Good news is that libffi can be updated to the latest upstream and it now compiles. ** Bad news is that libav is no longer shipped as part of Firefox so there is no updated code. I'm also having to cobble together a fixed ffvpx.
I have a 64-bit MSI package. A build is spinning up in Koji. https://koji.fedoraproject.org/koji/taskinfo?taskID=82018730
FEDORA-2022-884818a723 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-884818a723
FEDORA-2022-884818a723 has been pushed to the Fedora 36 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2022-5dea466843 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2022-5dea466843
FEDORA-2022-5dea466843 has been pushed to the Fedora 35 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-5dea466843` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-5dea466843 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2022-5dea466843 has been pushed to the Fedora 35 stable repository. If problem still persists, please make note of it in this bug report.