I’ve been using the music notation program EasyABC for a long time, but today it won’t start. I have not made any changes recently except agreeing to the routine Manjaro system updates.
When I click on the EasyABC menu icon nothing happens, and when I do the alternative of typing ‘easyabc’ in a terminal, I get the following:
[ray@ray-dell ~]$ easyabc
13:58:38: 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’m a musician, not a computer techie, and have no idea what those messages mean, but really need to get EasyABC working again.
Any help greatly appreciated.
It is an AUR package. Fully update your system, if you have not already. Then rebuild that software against python 3.10.
From the Stable Update announcement of 1/2/2022
You may need to rebuild any AUR packages that install files to site-packages …
Thanks jrichard326.
Pamac says I’m fully up to date as of today.
Did the ‘pamac build easyabc’ command but no change - EaasyABC still won’t start and I get the same Attribute error.
python: can't open file '/home/ray/.cache/yay/python-collections-extended-git/src/python-collections-extended-git/setup.py': [Errno 2] No such file or directory
==> ERROR: A failure occurred in package().
Aborting...
-> error making: python-collections-extended-git
So the problem that has stopped EasyABC working seems to be in the latest system updates, which include the new Python versions??
I like the idea of keeping up with system updates, but it’s frustrating when they stop your workflow by buggering up applications that you depend on!
Any ideas on how to get EasyABC working again?
Thanks Lolix. I’ve no idea about that python package - I just followed the suggestions and that’s what I got.
I’ve now removed easyabc using Pamac, and repeated the ‘pamac build easyabc’ command, saying yes to its offer of a clean build.
Still no joy … nothing happens on clicking the icon, and if I type ‘easyabc’ in a command line I get:
[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 ~]$
Is there a separate way to remove the offending python bit? Or some other way to overcome this problem?
I’ve asked about this on the EasyABC discussion forum but have received no suggestions - they see it as a Manjaro issue.
Is there a more thorough way if expunging easyabc and its libraries, and then performing a completely clean re-installation? Using pamac doesn’t seem to do it.
I manage a huge online library of abc music scores and I really need to get EasyABC going again. There is no alternative Linux abc package that does what I need, and I would HATE to have to go back to Windows!!
I don’t use pamac so I don’t know how it behave, use it to remove the packages, then I’ll show how to build the AUR packages
Install git if you don’t have it
sudo pacman -Syu git base-devel --needed
git clone https://aur.archlinux.org/abcm2ps.git
cd abcm2ps
makepkg -sicC
cd ..
git clone https://aur.archlinux.org/abcmidi.git
cd abcmidi
makepkg -sicC
cd ..
git clone https://aur.archlinux.org/easyabc.git
cd easyabc
makepkg -sicC
Thanks Lolix. Git already installed. Tried the other bit and after a great deal of terminal stuff I got the following:
Cloning into 'easyabc'...
fatal: https://aur.archlinux.org/packages/easyabc/info/refs not valid: could not determine hash algorithm; is this a git repository?
bash: cd: easyabc: No such file or directory
==> ERROR: PKGBUILD does not exist.
So no joy there.
And thanks ishaanbhimwal … that solution looks promising, but I being very non-techie I don’t know how to go about what jstorry has written. I’ll contact him for clear simple instructions, unless you can list the steps?
Although the music notation application Easyabc is poorly maintained for Linux, I believe other users have managed to install it since the Jan 2 Manjaro update.
I had it running OK before that Manjaro update but then it stopped working.
I removed it with “sudo pacman -Rs easyabc” and then tried to re-install it with “yay -S easyabc” (I’m out of my depth with these things but just follow suggestions!).
The terminal looked as it was installing it but when I try to start the application I get:
[ray@ray-dell ~]$ easyabc
12:23:50: 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 ~]$
Any suggestions for sorting this out so I can use Easyabc again? Thanks.
Since the latest Manjaro update I have Python 3.10.1 on the system.
I’ve been trying to get the EasyABC music notation program going again (it stopped working with the January Manjao update). Its maintainer says I need python3-pyparsing, but when I try install it I get: