Hello, Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (ignatenkobrain). Your package (pcp) Fails To Install in Fedora 33: can't install python3-pcp: - nothing provides python(abi) = 3.8 needed by python3-pcp-5.1.0-1.fc33.x86_64 can't install pcp-pmda-statsd: - nothing provides libhdr_histogram.so.4()(64bit) needed by pcp-pmda-statsd-5.1.0-1.fc33.x86_64 If you don't react accordingly to the policy for FTBFS/FTI bugs (https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/), your package may be orphaned in 8+ weeks. P.S. The data was generated solely from koji buildroot, so it might be newer than the latest compose or the content on mirrors. P.P.S. If this bug has been reported in the middle of upgrading multiple dependent packages, please consider using side tags: https://docs.fedoraproject.org/en-US/rawhide-gating/multi-builds/ Thanks!
This build has been superseded by the pcp-5.1.1 build which resolves these issues.
pcp-5.1.1 has never been built.
*** Bug 1844010 has been marked as a duplicate of this bug. ***
Mark, what's the status of the rawhide builds of pcp-5.1.1? (I know they're done for f31 and f32)
OK, the rawhide PCP build is failing because the python3-openxlsx module seems to be unusable. The PCP configure script expects it to be functional (i.e. 'import openxlsx' works) but it fails, so configure switches off that part of the build. But later on the spec file expects it to have worked, like it does on all earlier Fedora versions. So it looks like we're stuck behind python3.9 updates still I guess ... is this openxlsx issue known, Miro, do you know?
> ... is this openxlsx issue known, Miro, do you know? This is the first time I hear about openxlsx.
Is that coming from the python3-openpyxl package?
(In reply to Miro Hrončok from comment #7) > Is that coming from the python3-openpyxl package? Yes, we have a build dep on python3-openpyxl and a configure check which attempts an import using ... dnl check availability of some Python modules dnl usage PCP_CHECK_PYTHON_MODULE(module_name) or dnl PCP_CHECK_PYTHON_MODULE(module_name, <import string>) dnl default <import string> is "import module_name" dnl dnl sets $have_python_<module_name> as true or false dnl AC_DEFUN([PCP_CHECK_PYTHON_MODULE], [ AC_MSG_CHECKING(for Python module $1) if test -n "$2" then txt="$2" else txt="import $1" fi $pcp_python_prog -c 'import sys; '"$txt" >>config.log 2>&1 if test "$?" = 0 then AC_MSG_RESULT(yes) eval have_python_$1=true else AC_MSG_RESULT(no) eval have_python_$1=false fi ]) PCP_CHECK_PYTHON_MODULE(BPF, [from bcc import BPF]) AC_SUBST(have_python_BPF) PCP_CHECK_PYTHON_MODULE(OrderedDict, [from collections import OrderedDict]) AC_SUBST(have_python_OrderedDict) PCP_CHECK_PYTHON_MODULE(jsonpointer) AC_SUBST(have_python_jsonpointer) PCP_CHECK_PYTHON_MODULE(openpyxl) AC_SUBST(have_python_openpyxl) Its this final check that 'fails', resulting in have_python_openpyxl=false unexpectedly, resulting in subsequent build failure at packaging time.
I cannot reproduce any failure when importing openpyxl: python<mock-chroot> sh-5.0# python3 Python 3.9.0b1 (default, May 29 2020, 00:00:00) [GCC 10.1.1 20200507 (Red Hat 10.1.1-1)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import openpyxl >>> openpyxl.__file__ '/usr/lib/python3.9/site-packages/openpyxl/__init__.py' >>> <mock-chroot> sh-5.0# rpm -q python3 python3-3.9.0~b1-4.fc33.x86_64 <mock-chroot> sh-5.0# rpm -q python3-openpyxl python3-openpyxl-2.6.2-6.fc33.noarch
A rawhide build: https://koji.fedoraproject.org/koji/taskinfo?taskID=45508752 checking for Python module openpyxl... no
*** Bug 1813076 has been marked as a duplicate of this bug. ***
(In reply to Miro Hrončok from comment #9) > I cannot reproduce any failure when importing openpyxl: > > python<mock-chroot> sh-5.0# python3 > Python 3.9.0b1 (default, May 29 2020, 00:00:00) > [GCC 10.1.1 20200507 (Red Hat 10.1.1-1)] on linux > Type "help", "copyright", "credits" or "license" for more information. > >>> import openpyxl > >>> openpyxl.__file__ The configure script does only the import (from command line via -c), then it returns the python exit status. > '/usr/lib/python3.9/site-packages/openpyxl/__init__.py' So, not this bit I guess. The exit status from python is what guides configure, so there must be something odd with the module causing python to return 1 (only for this module - rest seem fine)...? cheers.
In an update-to-date rawhide VM, openpyxl cannot be imported. It throws an exception as follows : rawhide:mgoodwin@~[]$ cat test-openpyxl.python import sys; import openpyxl; rawhide:mgoodwin@~[]$ python3 test-openpyxl.python Traceback (most recent call last): File "/home/mgoodwin/test-openpyxl.python", line 2, in <module> import openpyxl; File "/usr/lib/python3.9/site-packages/openpyxl/__init__.py", line 6, in <module> from openpyxl.workbook import Workbook File "/usr/lib/python3.9/site-packages/openpyxl/workbook/__init__.py", line 5, in <module> from .workbook import Workbook File "/usr/lib/python3.9/site-packages/openpyxl/workbook/workbook.py", line 8, in <module> from openpyxl.worksheet.worksheet import Worksheet File "/usr/lib/python3.9/site-packages/openpyxl/worksheet/worksheet.py", line 30, in <module> from openpyxl.cell import Cell, MergedCell File "/usr/lib/python3.9/site-packages/openpyxl/cell/__init__.py", line 4, in <module> from .cell import Cell, WriteOnlyCell, MergedCell File "/usr/lib/python3.9/site-packages/openpyxl/cell/cell.py", line 46, in <module> from openpyxl.utils.inference import ( File "/usr/lib/python3.9/site-packages/openpyxl/utils/inference.py", line 10, in <module> from openpyxl.styles import numbers File "/usr/lib/python3.9/site-packages/openpyxl/styles/__init__.py", line 5, in <module> from .alignment import Alignment File "/usr/lib/python3.9/site-packages/openpyxl/styles/alignment.py", line 6, in <module> from openpyxl.descriptors import Bool, MinMax, Min, Alias, NoneSet File "/usr/lib/python3.9/site-packages/openpyxl/descriptors/__init__.py", line 5, in <module> from .sequence import Sequence File "/usr/lib/python3.9/site-packages/openpyxl/descriptors/sequence.py", line 5, in <module> from openpyxl.xml.functions import Element File "/usr/lib/python3.9/site-packages/openpyxl/xml/functions.py", line 40, in <module> from xml.etree.cElementTree import iterparse ModuleNotFoundError: No module named 'xml.etree.cElementTree' rawhide:mgoodwin@~[]$ rpm -q --requires python3-openpyxl python(abi) = 3.9 python3.9dist(et-xmlfile) python3.9dist(jdcal) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsZstd) <= 5.4.18-1 rawhide:mgoodwin@~[]$ rpm -q --whatprovides 'python3.9dist(et-xmlfile)' python3-et_xmlfile-1.0.1-19.fc33.noarch So python3-openpyxl needs xml.etree.cElementTree but no module or RPM package provides it?
cElementTree was part of the standard library. now it isn't. https://docs.python.org/3.9/whatsnew/3.9.html#removed "The xml.etree.cElementTree module has been removed, use the xml.etree.ElementTree module instead. Since Python 3.3 the xml.etree.cElementTree module has been deprecated, the xml.etree.ElementTree module uses a fast implementation whenever available." However, I still cannot reproduce this: <mock-chroot> sh-5.0# cat > test.py import sys; import openpyxl; <mock-chroot> sh-5.0# python3 test.py <mock-chroot> sh-5.0# echo $? 0 <mock-chroot> sh-5.0# rpm -q python3-openpyxl python3-openpyxl-2.6.2-6.fc33.noarch <mock-chroot> sh-5.0# rpm -q python3 python3-3.9.0~b1-4.fc33.x86_64 I've looked into: /usr/lib/python3.9/site-packages/openpyxl/xml/functions.py And the problem is, it has: from lxml.etree import XMLSyntaxError if DEFUSEDXML is True: from defusedxml.common import DefusedXmlException from defusedxml.cElementTree import iterparse from defusedxml.lxml import fromstring as _fromstring, tostring def fromstring(*args, **kwargs): try: return _fromstring(*args, **kwargs) except XMLSyntaxError as e: raise DefusedXmlException(str(e)) else: from lxml.etree import fromstring, tostring from xml.etree.cElementTree import iterparse # do not resolve entities safe_parser = XMLParser(resolve_entities=False) fromstring = partial(fromstring, parser=safe_parser) else: try: from xml.etree.cElementTree import ( ElementTree, Element, SubElement, QName, register_namespace ) if DEFUSEDXML is True: from defusedxml.cElementTree import ( fromstring, tostring, iterparse, ) else: from xml.etree.cElementTree import ( fromstring, tostring, iterparse ) except ImportError: from xml.etree.ElementTree import ( ElementTree, Element, SubElement, QName, register_namespace ) if DEFUSEDXML is True: from defusedxml.ElementTree import ( fromstring, tostring, iterparse, ) else: from xml.etree.ElementTree import ( fromstring, tostring, iterparse, ) from et_xmlfile import xmlfile So it only fails if I install lxml: <mock-chroot> sh-5.0# rpm -q python3-lxml python3-lxml-4.5.1-1.fc33.x86_64 <mock-chroot> sh-5.0# python3 -c 'import openpyxl' Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3.9/site-packages/openpyxl/__init__.py", line 6, in <module> from openpyxl.workbook import Workbook File "/usr/lib/python3.9/site-packages/openpyxl/workbook/__init__.py", line 5, in <module> from .workbook import Workbook File "/usr/lib/python3.9/site-packages/openpyxl/workbook/workbook.py", line 8, in <module> from openpyxl.worksheet.worksheet import Worksheet File "/usr/lib/python3.9/site-packages/openpyxl/worksheet/worksheet.py", line 30, in <module> from openpyxl.cell import Cell, MergedCell File "/usr/lib/python3.9/site-packages/openpyxl/cell/__init__.py", line 4, in <module> from .cell import Cell, WriteOnlyCell, MergedCell File "/usr/lib/python3.9/site-packages/openpyxl/cell/cell.py", line 46, in <module> from openpyxl.utils.inference import ( File "/usr/lib/python3.9/site-packages/openpyxl/utils/inference.py", line 10, in <module> from openpyxl.styles import numbers File "/usr/lib/python3.9/site-packages/openpyxl/styles/__init__.py", line 5, in <module> from .alignment import Alignment File "/usr/lib/python3.9/site-packages/openpyxl/styles/alignment.py", line 6, in <module> from openpyxl.descriptors import Bool, MinMax, Min, Alias, NoneSet File "/usr/lib/python3.9/site-packages/openpyxl/descriptors/__init__.py", line 5, in <module> from .sequence import Sequence File "/usr/lib/python3.9/site-packages/openpyxl/descriptors/sequence.py", line 5, in <module> from openpyxl.xml.functions import Element File "/usr/lib/python3.9/site-packages/openpyxl/xml/functions.py", line 40, in <module> from xml.etree.cElementTree import iterparse ModuleNotFoundError: No module named 'xml.etree.cElementTree' Also fails with both lxml and defusedxml: <mock-chroot> sh-5.0# python3 -c 'import openpyxl' Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3.9/site-packages/openpyxl/__init__.py", line 6, in <module> from openpyxl.workbook import Workbook File "/usr/lib/python3.9/site-packages/openpyxl/workbook/__init__.py", line 5, in <module> from .workbook import Workbook File "/usr/lib/python3.9/site-packages/openpyxl/workbook/workbook.py", line 8, in <module> from openpyxl.worksheet.worksheet import Worksheet File "/usr/lib/python3.9/site-packages/openpyxl/worksheet/worksheet.py", line 30, in <module> from openpyxl.cell import Cell, MergedCell File "/usr/lib/python3.9/site-packages/openpyxl/cell/__init__.py", line 4, in <module> from .cell import Cell, WriteOnlyCell, MergedCell File "/usr/lib/python3.9/site-packages/openpyxl/cell/cell.py", line 46, in <module> from openpyxl.utils.inference import ( File "/usr/lib/python3.9/site-packages/openpyxl/utils/inference.py", line 10, in <module> from openpyxl.styles import numbers File "/usr/lib/python3.9/site-packages/openpyxl/styles/__init__.py", line 5, in <module> from .alignment import Alignment File "/usr/lib/python3.9/site-packages/openpyxl/styles/alignment.py", line 6, in <module> from openpyxl.descriptors import Bool, MinMax, Min, Alias, NoneSet File "/usr/lib/python3.9/site-packages/openpyxl/descriptors/__init__.py", line 5, in <module> from .sequence import Sequence File "/usr/lib/python3.9/site-packages/openpyxl/descriptors/sequence.py", line 5, in <module> from openpyxl.xml.functions import Element File "/usr/lib/python3.9/site-packages/openpyxl/xml/functions.py", line 30, in <module> from defusedxml.cElementTree import iterparse File "/usr/lib/python3.9/site-packages/defusedxml/cElementTree.py", line 13, in <module> raise ImportError("cElementTree has been removed from Python 3.9") ImportError: cElementTree has been removed from Python 3.9 This is a bug in openpyxl, could you please report it there? Make sure to mention it only happens when python3-lxml is installed. If not, I can do it tmrw.
Miro, I've opened BZ 1845744 - "python3-openpyxl requires xml.etree.cElementTree which has been deprecated" and it blocks this BZ which I'll keep open until we get a working PCP rawhide build. Thanks
Built in rawhide.
confirmed, thanks.