Description of problem: Package python-MDAnalysis fails to build from source in Fedora rawhide. Version-Release number of selected component (if applicable): 0.20.1-5.fc33 Steps to Reproduce: koji build --scratch f34 python-MDAnalysis-0.20.1-5.fc33.src.rpm Additional info: This package is tracked by Koschei. See: https://koschei.fedoraproject.org/package/python-MDAnalysis ============================= test session starts ============================== platform linux -- Python 3.10.0a2, pytest-6.0.2, py-1.9.0, pluggy-0.13.1 -- /usr/bin/python3 cachedir: .pytest_cache hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/builddir/build/BUILD/MDAnalysis-0.20.1/MDAnalysisTests-0.20.1/MDAnalysisTests/.hypothesis/examples') rootdir: /builddir/build/BUILD/MDAnalysis-0.20.1/MDAnalysisTests-0.20.1, configfile: setup.cfg plugins: hypothesis-5.41.3, xdist-2.1.0, forked-1.3.0 gw0 I [gw0] linux Python 3.10.0 cwd: /builddir/build/BUILD/MDAnalysis-0.20.1/MDAnalysisTests-0.20.1/MDAnalysisTests [gw0] Python 3.10.0a2 (default, Nov 4 2020, 00:00:00) -- [GCC 10.2.1 20201112 (Red Hat 10.2.1-8)] gw0 [586] scheduling tests via LoadScheduling INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 240, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 296, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.10/site-packages/pluggy/hooks.py", line 286, in __call__ INTERNALERROR> return self._hookexec(self, self.get_hookimpls(), kwargs) INTERNALERROR> File "/usr/lib/python3.10/site-packages/pluggy/manager.py", line 93, in _hookexec INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs) INTERNALERROR> File "/usr/lib/python3.10/site-packages/pluggy/manager.py", line 84, in <lambda> INTERNALERROR> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( INTERNALERROR> File "/usr/lib/python3.10/site-packages/pluggy/callers.py", line 208, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.10/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.10/site-packages/pluggy/callers.py", line 187, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.10/site-packages/xdist/dsession.py", line 112, in pytest_runtestloop INTERNALERROR> self.loop_once() INTERNALERROR> File "/usr/lib/python3.10/site-packages/xdist/dsession.py", line 135, in loop_once INTERNALERROR> call(**kwargs) INTERNALERROR> File "/usr/lib/python3.10/site-packages/xdist/dsession.py", line 174, in worker_workerfinished INTERNALERROR> assert not crashitem, (crashitem, node) INTERNALERROR> AssertionError: ('MDAnalysisTests/analysis/test_data.py::test_all_exports', <WorkerController gw0>) INTERNALERROR> assert not 'MDAnalysisTests/analysis/test_data.py::test_all_exports' ======================= 4 warnings, 117 errors in 11.66s ======================= error: Bad exit status from /var/tmp/rpm-tmp.CIuygx (%check) Bad exit status from /var/tmp/rpm-tmp.CIuygx (%check)
Dear Maintainer, your package has an open Fails To Build From Source bug for Fedora 34. 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-01-28). A week before the mass branching of Fedora 35 according to the schedule [3], any packages not successfully rebuilt at least on Fedora 33 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-35/f-35-key-tasks.html
This bug appears to have been reported against 'rawhide' during the Fedora 34 development cycle. Changing version to 34.
This is a mass-posted update. Sorry if it is not 100% accurate to this bugzilla. The Python 3.10 rebuild is in progress in a Koji side tag. If you manage to fix the problem, please commit the fix in the rawhide branch, but don't build the package in regular rawhide. You can either build the package in the side tag, with: $ fedpkg build --target=f35-python Or you can the build and we will eventually build it for you. Note that the rebuild is still in progress, so not all (build) dependencies of this package might be available right away. Thanks. See also https://fedoraproject.org/wiki/Changes/Python3.10 If you have general questions about the rebuild, please use this mailing list thread: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/G47SGOYIQLRDTWGOSLSWERZSSHXDEDH5/
The f35-python side tag has been merged to Rawhide. From now on, build as you would normally build.
*** Bug 1968874 has been marked as a duplicate of this bug. ***
This bug appears to have been reported against 'rawhide' during the Fedora 35 development cycle. Changing version to 35.
Christoph, what is the plan wrt this package? Is there a Python-related problem I can help with? Note that it seems we have some very old version packaged. I've adapted the pytest call so the problems can be easier to spot: - I've removed --numprocesses=auto - I've replaced single quotes around the -k expression with double quotes as the current pytest does not seem to like backslashes and newlines in it I see a lot of: ImportError while importing test module '/builddir/build/BUILD/MDAnalysis-0.20.1/MDAnalysisTests-0.20.1/MDAnalysisTests/utils/test_streamio.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib64/python3.10/importlib/__init__.py:126: in import_module return _bootstrap._gcd_import(name[level:], package, level) utils/test_streamio.py:35: in <module> import MDAnalysis ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/__init__.py:198: in <module> from .core.universe import Universe, as_Universe, Merge ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/core/__init__.py:465: in <module> from . import AtomGroup ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/core/AtomGroup.py:28: in <module> from . import universe ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/core/universe.py:128: in <module> from .topology import Topology ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/core/topology.py:64: in <module> from .topologyattrs import Atomindices, Resindices, Segindices ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/core/topologyattrs.py:40: in <module> import Bio.Alphabet /usr/lib64/python3.10/site-packages/Bio/Alphabet/__init__.py:20: in <module> raise ImportError( E ImportError: Bio.Alphabet has been removed from Biopython. In many cases, the alphabet can simply be ignored and removed from scripts. In a few cases, you may need to specify the ``molecule_type`` as an annotation on a SeqRecord for your script to work correctly. Please see https://biopython.org/wiki/Alphabet for more information. It appears this has been fixed in 11.0.0 with https://github.com/MDAnalysis/mdanalysis/pull/2457
I've succeeded in backporting https://github.com/MDAnalysis/mdanalysis/pull/2457 -- will send a PR soon, running tests now to see what happens.
=================================== FAILURES =================================== __ Test_density_from_Universe.test_density_from_Universe_userdefn_selwarning ___ [gw5] linux -- Python 3.10.0 /usr/bin/python3 self = <MDAnalysisTests.analysis.test_density.Test_density_from_Universe object at 0x7f060360bfa0> universe = <Universe with 47681 atoms> def test_density_from_Universe_userdefn_selwarning(self, universe): import MDAnalysis.analysis.density wmsg = ("Atom selection does not fit grid --- " "you may want to define a larger box") with pytest.warns(UserWarning) as record: D = MDAnalysis.analysis.density.density_from_Universe( universe, atomselection=self.selections['static'], delta=1.0, xdim=1.0, ydim=2.0, zdim=2.0, gridcenter=self.gridcenters['static_defined']) > assert len(record) == 2 E assert 4 == 2 E +4 E -2 analysis/test_density.py:249: AssertionError ------------------------------ Captured log call ------------------------------- WARNING MDAnalysis.analysis.density:density.py:726 Non-orthorhombic unit-cell --- make sure that it has been remapped properly! WARNING MDAnalysis.analysis.density:density.py:548 Atom selection does not fit grid --- you may want to define a larger box ________________________________ test_warnings _________________________________ [gw3] linux -- Python 3.10.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_warnings0') def test_warnings(tmpdir): """Testing that a warning which can be raised""" u = MDAnalysis.Universe(GRO, XTC) u.trajectory[1] with tmpdir.as_cwd(): with pytest.warns(UserWarning) as record: MDAnalysis.analysis.helanal.helanal_trajectory( u, selection="name CA", begin=-1, finish=99999 ) > assert len(record) == 2 E assert 3 == 2 E +3 E -2 analysis/test_helanal.py:201: AssertionError ------------------------------ Captured log call ------------------------------- WARNING MDAnalysis.analysis.helanal:helanal.py:270 The input begin time (-1 ps) precedes the starting trajectory time --- Setting starting frame to 0 WARNING MDAnalysis.analysis.helanal:helanal.py:296 The input finish time (99999 ps) occurs after the end of the trajectory (1000.0000762939453 ps). Finish time will be set to the end of the trajectory ________________________ test_written_remarks_property _________________________ [gw2] linux -- Python 3.10.0 /usr/bin/python3 item = <Function test_written_remarks_property> @pytest.hookimpl(hookwrapper=True) def pytest_runtest_call(item): if not hasattr(item, "obj"): yield elif not is_hypothesis_test(item.obj): # If @given was not applied, check whether other hypothesis # decorators were applied, and raise an error if they were. if getattr(item.obj, "is_hypothesis_strategy_function", False): raise InvalidArgument( "%s is a function that returns a Hypothesis strategy, but pytest " "has collected it as a test function. This is useless as the " "function body will never be executed. To define a test " "function, use @given instead of @composite." % (item.nodeid,) ) message = "Using `@%s` on a test without `@given` is completely pointless." for name, attribute in [ ("example", "hypothesis_explicit_examples"), ("seed", "_hypothesis_internal_use_seed"), ("settings", "_hypothesis_internal_settings_applied"), ("reproduce_example", "_hypothesis_internal_use_reproduce_failure"), ]: if hasattr(item.obj, attribute): raise InvalidArgument(message % (name,)) yield else: # Retrieve the settings for this test from the test object, which # is normally a Hypothesis wrapped_test wrapper. If this doesn't # work, the test object is probably something weird # (e.g a stateful test wrapper), so we skip the function-scoped # fixture check. settings = getattr(item.obj, "_hypothesis_internal_use_settings", None) # Check for suspicious use of function-scoped fixtures, but only # if the corresponding health check is not suppressed. if ( settings is not None and HealthCheck.function_scoped_fixture not in settings.suppress_health_check ): # Warn about function-scoped fixtures, excluding autouse fixtures because # the advice is probably not actionable and the status quo seems OK... # See https://github.com/HypothesisWorks/hypothesis/issues/377 for detail. msg = ( "%s uses the %r fixture, which is reset between function calls but not " "between test cases generated by `@given(...)`. You can change it to " "a module- or session-scoped fixture if it is safe to reuse; if not " "we recommend using a context manager inside your test function. See " "https://docs.pytest.org/en/latest/how-to/fixtures.html" "#scope-sharing-fixtures-across-classes-modules-packages-or-session " "for details on fixture scope." ) argnames = None for fx_defs in item._request._fixturemanager.getfixtureinfo( node=item, func=item.function, cls=None ).name2fixturedefs.values(): if argnames is None: argnames = frozenset(signature(item.function).parameters) for fx in fx_defs: if fx.argname in argnames: active_fx = item._request._get_active_fixturedef(fx.argname) if active_fx.scope == "function": > fail_health_check( settings, msg % (item.nodeid, fx.argname), HealthCheck.function_scoped_fixture, ) E hypothesis.errors.FailedHealthCheck: MDAnalysisTests/formats/test_libdcd.py::test_written_remarks_property uses the 'tmpdir' fixture, which is reset between function calls but not between test cases generated by `@given(...)`. You can change it to a module- or session-scoped fixture if it is safe to reuse; if not we recommend using a context manager inside your test function. See https://docs.pytest.org/en/latest/how-to/fixtures.html#scope-sharing-fixtures-across-classes-modules-packages-or-session for details on fixture scope. E See https://hypothesis.readthedocs.io/en/latest/healthchecks.html for more information about this. If you want to disable just this health check, add HealthCheck.function_scoped_fixture to the suppress_health_check settings for this test. /usr/lib/python3.10/site-packages/hypothesis/extra/pytestplugin.py:199: FailedHealthCheck ____________________ TestDihedralSelections.test_phi_nodep _____________________ [gw1] linux -- Python 3.10.0 /usr/bin/python3 self = <MDAnalysisTests.core.test_atomgroup.TestDihedralSelections object at 0x7fd94ad04310> PSFDCD = <Universe with 3341 atoms> def test_phi_nodep(self, PSFDCD): > with no_deprecated_call(): E AssertionError: Produced DeprecationWarning or PendingDeprecationWarning core/test_atomgroup.py:821: AssertionError ____________________ TestDihedralSelections.test_chi1_nodep ____________________ [gw5] linux -- Python 3.10.0 /usr/bin/python3 self = <MDAnalysisTests.core.test_atomgroup.TestDihedralSelections object at 0x7f060341b7f0> PSFDCD = <Universe with 3341 atoms> def test_chi1_nodep(self, PSFDCD): > with no_deprecated_call(): E AssertionError: Produced DeprecationWarning or PendingDeprecationWarning core/test_atomgroup.py:833: AssertionError ____________________ TestDihedralSelections.test_psi_nodep _____________________ [gw3] linux -- Python 3.10.0 /usr/bin/python3 self = <MDAnalysisTests.core.test_atomgroup.TestDihedralSelections object at 0x7fcdabee66e0> PSFDCD = <Universe with 3341 atoms> def test_psi_nodep(self, PSFDCD): > with no_deprecated_call(): E AssertionError: Produced DeprecationWarning or PendingDeprecationWarning core/test_atomgroup.py:825: AssertionError ______________________ TestFlattenDict.test_flatten_dict _______________________ [gw0] linux -- Python 3.10.0 /usr/bin/python3 self = <MDAnalysisTests.lib.test_util.TestFlattenDict object at 0x7f6a5fe6f5b0> def test_flatten_dict(self): d = { 'A' : { 1 : ('a', 'b', 'c')}, 'B' : { 2 : ('c', 'd', 'e')}, 'C' : { 3 : ('f', 'g', 'h')} } > result = util.flatten_dict(d) lib/test_util.py:1366: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ d = {'A': {1: ('a', 'b', 'c')}, 'B': {2: ('c', 'd', 'e')}, 'C': {3: ('f', 'g', 'h')}} parent_key = () def flatten_dict(d, parent_key=tuple()): """Flatten a nested dict `d` into a shallow dict with tuples as keys. Parameters ---------- d : dict Returns ------- dict Note ----- Based on https://stackoverflow.com/a/6027615/ by user https://stackoverflow.com/users/1897/imran .. versionadded:: 0.18.0 """ items = [] for k, v in d.items(): if type(k) != tuple: new_key = parent_key + (k, ) else: new_key = parent_key + k > if isinstance(v, collections.MutableMapping): E AttributeError: module 'collections' has no attribute 'MutableMapping' ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/lib/util.py:1749: AttributeError ____________________ TestGroupBy.test_groupby_float_string _____________________ [gw1] linux -- Python 3.10.0 /usr/bin/python3 self = <MDAnalysisTests.core.test_groups.TestGroupBy object at 0x7fd947b28c70> u = <Universe with 125 atoms> def test_groupby_float_string(self, u): > gb = u.atoms.groupby(['charges', 'segids']) core/test_groups.py:800: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/core/groups.py:1753: in groupby res[i] = self[ta == i].groupby(topattrs[1:]) ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/core/groups.py:1755: in groupby return util.flatten_dict(res) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ d = {'SegA': <AtomGroup with 5 atoms>, 'SegB': <AtomGroup with 5 atoms>, 'SegC': <AtomGroup with 5 atoms>, 'SegD': <AtomGroup with 5 atoms>, ...} parent_key = () def flatten_dict(d, parent_key=tuple()): """Flatten a nested dict `d` into a shallow dict with tuples as keys. Parameters ---------- d : dict Returns ------- dict Note ----- Based on https://stackoverflow.com/a/6027615/ by user https://stackoverflow.com/users/1897/imran .. versionadded:: 0.18.0 """ items = [] for k, v in d.items(): if type(k) != tuple: new_key = parent_key + (k, ) else: new_key = parent_key + k > if isinstance(v, collections.MutableMapping): E AttributeError: module 'collections' has no attribute 'MutableMapping' ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/lib/util.py:1749: AttributeError ______________________ TestGroupBy.test_groupby_int_float ______________________ [gw1] linux -- Python 3.10.0 /usr/bin/python3 self = <MDAnalysisTests.core.test_groups.TestGroupBy object at 0x7fd945326800> u = <Universe with 125 atoms> def test_groupby_int_float(self, u): > gb = u.atoms.groupby(['resids', 'charges']) core/test_groups.py:811: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/core/groups.py:1753: in groupby res[i] = self[ta == i].groupby(topattrs[1:]) ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/core/groups.py:1755: in groupby return util.flatten_dict(res) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ d = {-1.5: <AtomGroup with 1 atom>, -0.5: <AtomGroup with 1 atom>, 0.0: <AtomGroup with 1 atom>, 0.5: <AtomGroup with 1 atom>, ...} parent_key = () def flatten_dict(d, parent_key=tuple()): """Flatten a nested dict `d` into a shallow dict with tuples as keys. Parameters ---------- d : dict Returns ------- dict Note ----- Based on https://stackoverflow.com/a/6027615/ by user https://stackoverflow.com/users/1897/imran .. versionadded:: 0.18.0 """ items = [] for k, v in d.items(): if type(k) != tuple: new_key = parent_key + (k, ) else: new_key = parent_key + k > if isinstance(v, collections.MutableMapping): E AttributeError: module 'collections' has no attribute 'MutableMapping' ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/lib/util.py:1749: AttributeError _____________________ TestGroupBy.test_groupby_string_int ______________________ [gw1] linux -- Python 3.10.0 /usr/bin/python3 self = <MDAnalysisTests.core.test_groups.TestGroupBy object at 0x7fd94617cc10> u = <Universe with 125 atoms> def test_groupby_string_int(self, u): > gb = u.atoms.groupby(['segids', 'resids']) core/test_groups.py:823: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/core/groups.py:1753: in groupby res[i] = self[ta == i].groupby(topattrs[1:]) ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/core/groups.py:1755: in groupby return util.flatten_dict(res) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ d = {6: <AtomGroup with 5 atoms>, 7: <AtomGroup with 5 atoms>, 8: <AtomGroup with 5 atoms>, 9: <AtomGroup with 5 atoms>, ...} parent_key = () def flatten_dict(d, parent_key=tuple()): """Flatten a nested dict `d` into a shallow dict with tuples as keys. Parameters ---------- d : dict Returns ------- dict Note ----- Based on https://stackoverflow.com/a/6027615/ by user https://stackoverflow.com/users/1897/imran .. versionadded:: 0.18.0 """ items = [] for k, v in d.items(): if type(k) != tuple: new_key = parent_key + (k, ) else: new_key = parent_key + k > if isinstance(v, collections.MutableMapping): E AttributeError: module 'collections' has no attribute 'MutableMapping' ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/lib/util.py:1749: AttributeError _______________________________ test_PDB_metals ________________________________ [gw0] linux -- Python 3.10.0 /usr/bin/python3 @pytest.mark.filterwarnings("error") def test_PDB_metals(): from MDAnalysis.topology import tables > u = mda.Universe(PDB_metal, format='PDB') topology/test_pdb.py:238: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/core/universe.py:292: in __init__ self._topology = p.parse(**kwargs) ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/topology/PDBParser.py:183: in parse top = self._parseatoms() ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/topology/PDBParser.py:316: in _parseatoms residx, (resids, resnames, icodes, resnums, segids) = change_squash( ../../../../BUILDROOT/python-MDAnalysis-0.20.1-8.fc36.x86_64/usr/lib64/python3.10/site-packages/MDAnalysis/topology/base.py:172: in change_squash residx = np.zeros_like(criteria[0], dtype=np.int) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attr = 'int' def __getattr__(attr): # Warn for expired attributes, and return a dummy function # that always raises an exception. try: msg = __expired_functions__[attr] except KeyError: pass else: warnings.warn(msg, DeprecationWarning, stacklevel=2) def _expired(*args, **kwds): raise RuntimeError(msg) return _expired # Emit warnings for deprecated attributes try: val, msg = __deprecated_attrs__[attr] except KeyError: pass else: > warnings.warn(msg, DeprecationWarning, stacklevel=2) E DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information. E Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations /usr/lib64/python3.10/site-packages/numpy/__init__.py:297: DeprecationWarning ___________________ TestDihedralSelections.test_omega_nodep ____________________ [gw4] linux -- Python 3.10.0 /usr/bin/python3 self = <MDAnalysisTests.core.test_atomgroup.TestDihedralSelections object at 0x7f8e8d821b40> PSFDCD = <Universe with 3341 atoms> def test_omega_nodep(self, PSFDCD): > with no_deprecated_call(): E AssertionError: Produced DeprecationWarning or PendingDeprecationWarning core/test_atomgroup.py:829: AssertionError _______________ TestGuessMasses.test_universe_loading_no_warning _______________ [gw4] linux -- Python 3.10.0 /usr/bin/python3 self = <MDAnalysisTests.core.test_universe.TestGuessMasses object at 0x7f8e75c87b80> def test_universe_loading_no_warning(self): > assert_nowarns(UserWarning, lambda x: mda.Universe(x), GRO) core/test_universe.py:336: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ warning_class = <class 'UserWarning'> args = ('/builddir/build/BUILD/MDAnalysis-0.20.1/MDAnalysisTests-0.20.1/MDAnalysisTests/data/adk_oplsaa.gro',) kwargs = {} func = <function TestGuessMasses.test_universe_loading_no_warning.<locals>.<lambda> at 0x7f8e760ccd30> value = <Universe with 47681 atoms> def assert_nowarns(warning_class, *args, **kwargs): """Fail if the given callable throws the specified warning. A warning of class warning_class should NOT be thrown by the callable when invoked with arguments args and keyword arguments kwargs. If a different type of warning is thrown, it will not be caught. Parameters ---------- warning_class : class The class defining the warning that `func` is expected to throw. func : callable The callable to test. \*args : Arguments Arguments passed to `func`. \*\*kwargs : Kwargs Keyword arguments passed to `func`. Returns ------- True if no `AssertionError` is raised Note ---- numpy.testing.assert_warn returns the value returned by `func`; we would need a second func evaluation so in order to avoid it, only True is returned if no assertion is raised. SeeAlso ------- numpy.testing.assert_warn """ func = args[0] args = args[1:] try: value = assert_warns(DeprecationWarning, func, *args, **kwargs) except AssertionError: # a warning was NOT emitted: all good return True else: # There was a warning even though we do not want to see one. > raise AssertionError("function {0} raises warning of class {1}".format( func.__name__, warning_class.__name__)) E AssertionError: function <lambda> raises warning of class UserWarning util.py:171: AssertionError =========================== short test summary info ============================ FAILED analysis/test_density.py::Test_density_from_Universe::test_density_from_Universe_userdefn_selwarning FAILED analysis/test_helanal.py::test_warnings - assert 3 == 2 FAILED formats/test_libdcd.py::test_written_remarks_property - hypothesis.err... FAILED core/test_atomgroup.py::TestDihedralSelections::test_phi_nodep - Asser... FAILED core/test_atomgroup.py::TestDihedralSelections::test_chi1_nodep - Asse... FAILED core/test_atomgroup.py::TestDihedralSelections::test_psi_nodep - Asser... FAILED lib/test_util.py::TestFlattenDict::test_flatten_dict - AttributeError:... FAILED core/test_groups.py::TestGroupBy::test_groupby_float_string - Attribut... FAILED core/test_groups.py::TestGroupBy::test_groupby_int_float - AttributeEr... FAILED core/test_groups.py::TestGroupBy::test_groupby_string_int - AttributeE... FAILED topology/test_pdb.py::test_PDB_metals - DeprecationWarning: `np.int` i... FAILED core/test_atomgroup.py::TestDihedralSelections::test_omega_nodep - Ass... FAILED core/test_universe.py::TestGuessMasses::test_universe_loading_no_warning = 13 failed, 15396 passed, 69 skipped, 2 xfailed, 1 xpassed, 474128 warnings in 265.81s (0:04:25) =
https://src.fedoraproject.org/rpms/python-MDAnalysis/pull-request/3
I don't have a plan mainly due to a lack of time. I started working on bumping the version to v1.0.0 in the "v1.0.0" branch of my fork, but didn't get very far. If you want to take it over please go ahead.
I don't want to take over. I suggest retiring python-MDAnalysis before the final freeze if it is not fixed: - in the current state, it gives no benefit to the users, as they cannot install it on Fedora 35+ - it is a leaf package nothing in Fedora depends on - if this is fixed later, it can be reintroduced (in an newer version maybe) What do you think?
Yes let's do that.
Package retired.
Thanks. I've merged your commit to the f35 branch and will close this once it actually gets retired in Koji.
Done. $ koji list-pkgs --show-blocked --tag f35 --quiet --package python-MDAnalysis python-MDAnalysis f35 junghans [BLOCKED] $ koji list-pkgs --show-blocked --tag f36 --quiet --package python-MDAnalysis python-MDAnalysis f36 junghans [BLOCKED]