Menu

EasyABC on Linux 2025

Dave Royal
2025-07-29
2025-11-15
  • Dave Royal

    Dave Royal - 2025-07-29

    Recent questions on Facebook and abcusers about moving from Windows 10 to Linux prompt me to post this here, as this site is generally accessible.

    Development of EasyABC is done on Github. I created an 'issue' on github to help to help new Linux users install EasyABC. Please read the inital post there:
    https://github.com/jwdj/EasyABC/issues/126#issue-2887633971

    Github is a site for delevopers and too technical for most users. So here's what you need to know as a Windows user moving to Linux and wanting to run EasyABC.

    There are two ways of running EasyABC on Linux(1). The normal way is to download the sources - i.e. the Python code in which it's written - and run a command in a terminal like:

    python_abc.py

    Get the sources from here on Sourceforge - currently v1.3.8.7 (9/24) - or copy the latest version from github which includes some later fixes and enhancements(2). Once you get it working you can create a launcher on the desktop to run the python command.

    To run EasyABC in that way you must also install several other packages, including wxpython, which handles the graphics, fluidsynth, pyparsing, and several others. Also the separate programs that EasyABC uses, e.g. abcm2ps, abc2midi. The main purpose of github issue 126 is to document how to install those packages on various recent Linux distributions.

    The other way to install EasyABC is if someone creates a package containing EasyABC and all its dependencies. Such packages usually only install and run on one or a limited number of flavours of Linux.

    Bodo (bomm on github) has created an EasyABC package for Debian Linux - a .deb file. Ubuntu and Mint, being derived from Debian, will install deb packages. Both are good choices for a new Linux users.

    Bodo/bomm posts about the Debian package in the same github issue 126. Get the latest package from here:
    https://github.com/bomm/EasyABC/releases/

    The main obstacle to running a complicated Python program like EasyABC is that different flavours of Linux (Debian, Mint) and different versions of them (Debian 12, 13) will have different versions of Python (3.11, 3.13) and may have different versions of the dependencies, particularly wxpython. Recent changes to EasyABC allow it to run on later versions of Python and wxpython. This is why upgrading to a new version of Linux can stop EasyABC working.

    (Windows doesn't include Python and few Windows users use it The Windows EasyABC installer includes an (old) version of Python. Nearly all Linux installations do include Python. Running an old version for EasyABC can be done but needs expertise.)

    Questions?

    (1) There is a third way, which is to run the Windows version under an emulator such as Wine. I've no idea if that will work - I can't think of an obvious reason why it won't. But it may not be easier than installing and running it natively.

    (2) Changes made to the github sources since 1.3.8.7 are listed here as 1.3.8.X:
    https://github.com/jwdj/EasyABC/blob/master/CHANGES

     
  • Phil Marsh

    Phil Marsh - 2025-09-14

    Thanks for all that. It seems Raspberry Pi 5 Bookworm users can (at the moment) cut a few corners.

    What did was:
    Download the zip from github.com/jwdj/EasyABC
    Extract it and open terminal in the source folder.
    Have a look at the file using_EasyABC_in_Linux.txt and think - why not just try it? So:

    sudo apt install fluidsynth
    sudo apt install abcmidi abcm2ps fluid-soundfont-gm python3-wxgtk4.0 python3-pyparsing
    python3 easy_abc.py

    And it worked! So, today at any rate, everything seems lined up. I haven't checked if I got the latest versions of abcmidi and abcm2ps so I may be missing some fixes. There are still the long-running platform-related niggles like the blank "Insert musical symbol" menus.

    Caveat: I had installed a few other packages previously. I'll be doing it on a clean Bookworm installation soon and report back if that doesn't work.

    So thanks to all those involved.

     
    • Bodo

      Bodo - 2025-09-14

      Hello Phil,

      I suggest to try my Debian package, preferably on a clean system. This package was mentioned in Davel's message from July 29. See https://github.com/bomm/EasyABC/releases/

      The package should run on all CPU architectures, require all dependencies and register EasyABC as a desktop application including the icon.

      I would like to get feedback about success as well as about problems or errors. If it works well, I would ask for my changes for building the Debian package to be integrated into the official repository.

      Regards,
      Bodo

       
      • Phil Marsh

        Phil Marsh - 2025-09-17

        Hi Bodo

        I try to give it a go in a few days. At the moment I am busy trying to say goodbye to Bullseye before having to think about Trixie.

         
  • Dave Royal

    Dave Royal - 2025-09-14

    Thanks. Details of a new install would be useful.

    If you wait a bit you may be able to install Trixie, which is currently available for testing.

    If you happen to be a member of Facebook, could you post a link to this discussion over there, perhaps in this thread. (m.facebook.com)

     
  • Phil Marsh

    Phil Marsh - 2025-09-17

    Backgound i-I have been running the 1.3.8.7 version with file dates 22/07/2023 on a Pi4 under Bullseye for a couple of years and sporadically trying to install the later versions under Bookworm and failing due, I think, to issues with python.

    I just repeated the install from a couple of days ago with fresh copy of Bookworm on the Pi4 paying more attention. It's the 32 bit version because I forgot until I saw the splash screen that that was what was on the Pi branded uSD cards. Wayland with Labwc. Will give an update if it's any different on 64-bit.

    The packages that using_EasyABC_in_Linux.txt says are needed are:
    abcmidi abcm2ps fluid-soundfont-gm python3-wxgtk4.0 python3-pyparsing libfluidsynth2

    I want fluidsynth for other things so I did
    sudo apt install fluidsynth
    That included fluid-soundfont-gm and libfluidsynth3. It seems libfluidsynth2 is not available after Bullseye (in the main Debian repository, I didn't check Raspberrypi)

    sudo apt install abcmidi abcm2ps
    gave me abcmidi (20230208+ds1-1) and abcm2ps (8.14.14-1) . If they are not the latest I will compile them from source.

    sudo apt install python3-wxgtk4.0 python3-pyparsing
    did that.

    python3 easy_abc.py
    then gave:
    fluidsynth: Using PulseAudio driver
    fluidsynth: warning: Failed to set thread to high priority
    (easy_abc.py:4874): Gtk-CRITICAL : 11:43:02.171: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar
    with the last being repeated another 12 times over a second or two. Gtk errors of some sort are are nothing new and are obviously not that CRITICAL to the user.

    EasyABC GUI opened and from a superficial test seemed to run fine except that putting the mouse over Recent Files (which normally opens the list) made the GUI window vanish instantly. The terminal window had:
    Gdk-Message: 12:00:08.158: Error 71 (Protocol error) dispatching to Wayland display.
    On a rerun, but opening and saving a file to put something in the list, it worked as normal.

    I'll be doing it again on the Pi5 under the 64-bit OS in a day or so but it will be part way down a list of installs.

    EDIT to add - It installs and runs on the Bookworm 64-bit installation I have been using on the Pi5 for over a year. No sound but I think that's my local problem. Under X11 mouse over the Recent Files menu item gives an empty list, switching to Wayland/labwc it crashes as described above. Xll gives a different set of Gtk errors in terminal on startup.

    In Summary
    With a fresh install of Bookworm
    Download the zip from github.com/jwdj/EasyABC
    Extract it and open terminal in the source folder. Do a routine update/upgrade.

    sudo apt install fluidsynth
    sudo apt install abcmidi abcm2ps
    sudo apt install python3-wxgtk4.0 python3-pyparsing
    python3 easy_abc.py

    (ignore any error messages if the GUI appears)

    open a file and save it before going anywhere near the Recent files menu option.

     

    Last edit: Phil Marsh 2025-09-17
  • Dave Royal

    Dave Royal - 2025-09-17

    Bullseye (Debian 11) has Python 3.9
    Bookworm (Debian 12) has Python 3.11
    Trixie (Debian 13) has Python 3.13

    EasyABC v1.3.8.7 from Sourceforge will not run on Python 3.11
    Recent downloads from Github will run on Python <= 3.13

     

    Last edit: Dave Royal 2025-09-17
    • Phil Marsh

      Phil Marsh - 2025-09-17

      Bookworm is 12, Bullseye is 11. I think numbers with their built-in sort order are easier!

      I posted to the Facebook discussion but I think it is held in pending because I'm a new group member and did a a couple of edits.

       

      Last edit: Phil Marsh 2025-09-17
      • Dave Royal

        Dave Royal - 2025-09-17

        Corrected Debian versions - thanks.

        And for attempting to post to FB. The admin of that group invited information on using Linux so he ought not to object.

         
  • Phil Marsh

    Phil Marsh - 2025-09-18

    I edited in a note above to say that all seemed the same on the 64-bit OS.

    The 32-bit install was an accident because it's what's on the Pi branded SD cards. I carried on as a dry run to check my install scripts.

    About Debian versions. It may be worth mentioning that the Pi OS lags a few months behind Debian on stepping the version status. So Bookworm is 'stable' although Debian has moved on to Trixie. In addition the Pi documentation notes that unlike Debian the Pi 'stable' version is not really stable as it's under continuous development. So there are substantive package changes. It's why user installation scripts need checking. So I don't know if EasyABC is now working on Bookworm because of EasyABC changes, Python changes or OS changes.

    On the subject of the first post. I moved to Linux at the end of support for Windows 7. I find the Pi5 an adequate desktop. It is sometimes detectable that web browsers are getting greedier and greedier over resources but there are faster storage options.

     
  • Dave Royal

    Dave Royal - 2025-09-19

    Edgar Aichinger has just built some EasyABC packages for rpm-based systems - OpenSUSE and Fedora.
    https://github.com/jwdj/EasyABC/issues/126#issuecomment-3311489828

     
  • Dave Royal

    Dave Royal - 2025-09-21

    CamStLouis (bagpipes?) and LaurieSavage (sax) have successfully installed bodo/bomm's deb package on Mint (Laurie in v22.2 - Zara).

    I installed it earlier on Debian v12 Bookworm on a 20 year old 32-bit laptop. (Which has since become 64-bit running Debian v13 Trixie.)

    See also my post here about packages and 'pip':
    https://github.com/jwdj/EasyABC/issues/126#issuecomment-3315249941

     

Log in to post a comment.

MongoDB Logo MongoDB