Bug 1746850 - python-nineml fails to build with Python 3.8 on Fedora 32+
Summary: python-nineml fails to build with Python 3.8 on Fedora 32+
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-nineml
Version: 32
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Ankur Sinha (FranciscoD)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F32FTBFS F32FailsToInstall PYTHON38
TreeView+ depends on / blocked
 
Reported: 2019-08-29 11:44 UTC by Miro Hrončok
Modified: 2020-03-16 20:31 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-03-16 20:19:34 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Github INCF nineml-python issues 45 None open Failing tests 2020-02-29 17:31:59 UTC
Red Hat Bugzilla 1736514 unspecified CLOSED python-nineml: FTBFS in Fedora rawhide/f31 2020-10-14 00:28:05 UTC

Description Miro Hrončok 2019-08-29 11:44:03 UTC
python-nineml fails to build with Python 3.8.0b3 in Fedora 32.

See the build failures at https://koji.fedoraproject.org/koji/search?match=glob&type=package&terms=python-nineml

+ nosetests-3.8 --exclude test_flat_body
/builddir/build/BUILD/nineml-python-1.0.1/nineml/exceptions.py:235: SyntaxWarning: invalid escape sequence \s
  ', '.join(re.sub('\s', '', str(a))
/builddir/build/BUILD/nineml-python-1.0.1/nineml/exceptions.py:238: SyntaxWarning: invalid escape sequence \s
  ', '.join(re.sub('\s', '', str(a))
/builddir/build/BUILD/nineml-python-1.0.1/nineml/abstraction/expressions/parser.py:143: SyntaxWarning: "is" with a literal. Did you mean "=="?
  tokval = 'True' if next_tokval is 'False' else 'False'
/builddir/build/BUILD/nineml-python-1.0.1/nineml/abstraction/dynamics/regimes.py:161: SyntaxWarning: invalid escape sequence \*
  """
/builddir/build/BUILD/nineml-python-1.0.1/nineml/user/selection.py:87: SyntaxWarning: invalid escape sequence \s
  """
/builddir/build/BUILD/nineml-python-1.0.1/nineml/user/projection.py:26: SyntaxWarning: invalid escape sequence \s
  """
/builddir/build/BUILD/nineml-python-1.0.1/nineml/serialization/__init__.py:284: SyntaxWarning: invalid escape sequence \.
  '[A-Z0-9-]{2,}\.?)|'  # domain...
..................E..........................E...................................................................................................................................................................................
======================================================================
ERROR: test_trigger (unittests.abstraction_test.dynamics_test.OnCondition_test)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sympy/core/evalf.py", line 1308, in evalf
    rf = evalf_table[x.func]
KeyError: <class 'sympy.core.relational.StrictGreaterThan'>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/nineml-python-1.0.1/nineml/abstraction/expressions/base.py", line 199, in nineml_expression
    val = self.rhs.evalf(subs=kwargs)
  File "/usr/lib/python3.8/site-packages/sympy/core/evalf.py", line 1442, in evalf
    result = evalf(self, prec + 4, options)
  File "/usr/lib/python3.8/site-packages/sympy/core/evalf.py", line 1314, in evalf
    xe = x._eval_evalf(prec)
AttributeError: 'BooleanTrue' object has no attribute '_eval_evalf'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/nineml-python-1.0.1/test/unittests/abstraction_test/dynamics_test.py", line 713, in test_trigger
    self.assertEquals(return_values[i], python_func(**param_dict))
  File "/builddir/build/BUILD/nineml-python-1.0.1/nineml/abstraction/expressions/base.py", line 201, in nineml_expression
    raise NineMLUsageError(
nineml.exceptions.NineMLUsageError: Incorrect arguments provided to expression 'A > -B/tau_r': 'A', 'B', 'tau_r' (expected 'tau_r', 'B', 'A')
======================================================================
ERROR: test_Valid (unittests.abstraction_test.expressions_test.Expression_test)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sympy/core/evalf.py", line 1309, in evalf
    r = rf(x, prec, options)
  File "/usr/lib/python3.8/site-packages/sympy/core/evalf.py", line 1227, in evalf_symbol
    val = options['subs'][x]
KeyError: w
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/nineml-python-1.0.1/nineml/abstraction/expressions/base.py", line 199, in nineml_expression
    val = self.rhs.evalf(subs=kwargs)
  File "/usr/lib/python3.8/site-packages/sympy/core/evalf.py", line 1442, in evalf
    result = evalf(self, prec + 4, options)
  File "/usr/lib/python3.8/site-packages/sympy/core/evalf.py", line 1309, in evalf
    r = rf(x, prec, options)
  File "/usr/lib/python3.8/site-packages/sympy/core/evalf.py", line 785, in evalf_trig
    re, im, re_acc, im_acc = evalf(arg, xprec, options)
  File "/usr/lib/python3.8/site-packages/sympy/core/evalf.py", line 1314, in evalf
    xe = x._eval_evalf(prec)
AttributeError: 'ImmutableDenseNDimArray' object has no attribute '_eval_evalf'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/nineml-python-1.0.1/test/unittests/abstraction_test/expressions_test.py", line 85, in test_Valid
    v = return_values[i] - python_func(**param_dict)
  File "/builddir/build/BUILD/nineml-python-1.0.1/nineml/abstraction/expressions/base.py", line 201, in nineml_expression
    raise NineMLUsageError(
nineml.exceptions.NineMLUsageError: Incorrect arguments provided to expression 'sin(w)': 'w' (expected 'w')
----------------------------------------------------------------------
Ran 225 tests in 52.227s
FAILED (errors=2)

It is not important whether the problem is relevant to Python 3.8, this issue is blocking the Python 3.8 rebuilds.
If this package won't build with 3.8, it won't be installable, along with all its dependent packages, in Fedora 32 and further.

Furthermore, as it fails to install, its dependent packages will fail to install and/or build as well.

Please rebuild the package in Fedora 32 (rawhide).

Let us know here if you have any questions. Thank You!

Comment 1 Ankur Sinha (FranciscoD) 2019-08-29 12:04:47 UTC
Reported upstream already, no fix yet. Waiting.

Comment 2 Ben Cotton 2020-02-11 17:30:14 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle.
Changing version to 32.

Comment 3 Miro Hrončok 2020-02-29 17:35:00 UTC
FranciscoD, what do we do here? Retire the package, or skip the problematic tests?

Comment 4 Ankur Sinha (FranciscoD) 2020-03-01 16:29:19 UTC
I'd rather not skip the tests since this is scientific software and upstream's CI isn't working either: https://github.com/INCF/nineml-python

Let's retire it. That's the correct thing to do. For reference, the issue was filed in August 2019: https://github.com/INCF/nineml-python/issues/45

Miro, will the script retire it or should I orphan it etc?

Comment 5 Miro Hrončok 2020-03-01 18:34:00 UTC
Retire works for me.

This is how I'd do it at this point:

$ fedpkg switch-branch f32 && fedpkg retire "Retired: Fails to rebuild with Python 3.8" && fedpkg switch-branch master && git merge f32 && git push

Comment 6 Ankur Sinha (FranciscoD) 2020-03-01 18:52:36 UTC
Done, thanks. Please close the bug when you see fit.

Comment 7 Fedora Update System 2020-03-02 10:24:04 UTC
FEDORA-2020-ec3b10864f has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-ec3b10864f

Comment 8 Fedora Update System 2020-03-02 16:40:56 UTC
fedora-obsolete-packages-32-37 has been pushed to the Fedora 32 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-ec3b10864f

Comment 9 Fedora Update System 2020-03-16 20:19:34 UTC
fedora-obsolete-packages-32-37 has been pushed to the Fedora 32 stable repository. If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2020-03-16 20:31:25 UTC
fedora-obsolete-packages-32-37 has been pushed to the Fedora 32 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.