Menu

EasyABC stopped working after Linux update

2022-01-05
2022-01-14
  • Ray Chandler

    Ray Chandler - 2022-01-05

    EasyABC had been working fine under Manjaro Linux, but after a recent Manjaro update it fails to open. I tried a clean re-install of EasyABC but it failed and I get the following terminal message:

    [ray@ray-dell ~]$ easyabc
    14:20:39: Warning: Mismatch between the program and library build versions detected.
    The library used 3.0 (wchar_t,compiler with C++ ABI 1014,wx containers,compatible with 2.8),
    and wxPython used 3.0 (wchar_t,compiler with C++ ABI 1016,wx containers,compatible with 2.8).
    Traceback (most recent call last):
      File "/opt/easyabc/easy_abc.py", line 109, in <module>
        from xml2abc_interface import xml_to_abc, abc_to_xml
      File "/opt/easyabc/xml2abc_interface.py", line 5, in <module>
        import abc2xml
      File "/opt/easyabc/abc2xml.py", line 17, in <module>
        from pyparsing import Word, OneOrMore, Optional, Literal, NotAny, MatchFirst
      File "/opt/easyabc/pyparsing.py", line 943, in <module>
        collections.MutableMapping.register(ParseResults)
    AttributeError: module 'collections' has no attribute 'MutableMapping'
    [ray@ray-dell ~]$ 
    

    I raised it on the Manjaro forum but got no solution. Any help appreciated.

     
  • Ray Chandler

    Ray Chandler - 2022-01-10

    Comment from Manjaro team:
    "It must be adapted to Python 3.10. The collections module does not provide MutableMappings anymore. It was deprecated a while ago, the developers of EasyABC must change their code."

    Any chance of this happening?

     
  • J.W. de Jong

    J.W. de Jong - 2022-01-12

    Hello Ray,

    In a next version of EasyABC this will be fixed.

    For the time being you could try the following:
    cd /opt/easyabc
    rm pyparsing.py
    sudo apt install python3-pyparsing
    python3 easy_abc.py

     
  • Ray Chandler

    Ray Chandler - 2022-01-13

    Thanks JW - great news that this will be fixed in the next version.
    EasyABC is an excellent facility and I'm looking forward to getting it back.
    In the meantime I've tried your temporary fix above and it removed the old pyparsing.py but at the install command I get "Error: target not found: python3-pyparsing".
    EasyABC now opens (it didn't before this) but the "Musical score" panel remains empty and doesn't show the tune of the abc file below it. In the "ABC code" panel I can edit the tune, transpose it, etc, but nothing appears in the score panel.

     
  • J.W. de Jong

    J.W. de Jong - 2022-01-13

    You could also use pip to install pyparsing.
    pip install pyparsing

    Some distributions still have both Python 2 and Python 3. In that case use:
    pip3 install pyparsing

     
  • Ray Chandler

    Ray Chandler - 2022-01-14

    pyparsing is installed, but the problem remains:
    EasyABC opens but the "Musical score" panel remains empty and doesn't show the tune of the abc file below it. In the "ABC code" panel I can edit the tune, transpose it, etc, but nothing appears in the score panel.

     

Log in to post a comment.