Installation packages for Linux

I would like to ask why Audacity users running Linux seem to be the poor relation when it comes to getting a robust installation package. Prior to the release of version 2.4.1 I never had any problems with updates from the ubuntuhandbook1 PPA. However, as the numerous forums posts show, that version was a complete nightmare for Linux users. Forum posts pointed the finger at the maintainer of the PPA. Many people, myself included, had to revert to older versions - 2.2.1 in my case.

Windows and Mac users get compiled installation packages. Linux users either have to compile themselves - a tricky process for non-technical users - or rely on the PPA. And where is the support for Linux distros using other package formats? There is none. All of this could be avoided by the developers creating installable Linux packages in-house. I can’t for the life of me understand why that doesn’t happen.

The original creator of wxWidgets, which Audacity uses I believe, Dr Julian Smart also created an excellent e-book editor/compiler called Jutoh. He creates 32 and 64-bit versions for Windows XP to Windows 10; same for Mac OS X; 32 and 64-bit tarballs, DEB packages and RPM packages, a Gentoo build script and a free version for the Raspberry Pi. He does this entirely on his own. Audacity has a team of people and yet they can’t manage to create Linux packages. That is a really poor show. You could solve any issues with quality control by doing it all yourselves.

Because there is no single build that will work on all 'Nix OS’s, and we don’t have the resources to build and test multiple versions for Linux. Currently there isn’t even agreement about “universal” packages, as Flatpak, Snapd, AppImage, PortableLinuxApps, Zero Install, Autopackage … vie for dominance.


For users of Ubuntu 20.04, and derivatives, I’ve posted simple step-by-step instructions here: Building Audacity 2.4.2 on Ubuntu 20.04


Are you volunteering?

You are so right about the crazy number of “universal” packages. I think it really harms the progress of Linux rather than helps it. I’d love to see a day when there was just one but it will never happen. How about you build and recruit users to test?

For users of Ubuntu 20.04, and derivatives, I’ve posted simple step-by-step instructions here: > Building Audacity 2.4.2 on Ubuntu 20.04

I’m using Mint 19.3 which I think is based on Ubuntu 18.04. Some packages are already present but cmake, for example, is older than the one needed.

Are you volunteering?

I would consider it but I don’t know how I would contribute. Normally, I might opt for documentation but Audacity documentation is about as good as I’ve seen anywhere.

As I see it, there were two problems associated with Audacity-2.4.x and Debian-derived Linux:

  1. The developers decided to make the switch from GNU Autotools to CMake as the build system. There’s absolutely nothing wrong with that but there was an issue that the GNU Autotools build system was still packaged for these versions but it was broken. It left out Nyquist plugins.

  2. The Ubuntuhandbook1 PPA maintainer (PandaJim) appeared to be MIA/unaware of the build system change/non-responsive. If the PPA has been running on autopilot until now then it’s just pure luck that things have built OK until this recent change.

Could things have been done better? Yes, perhaps the GNU Autotools build system could have been tested as still working to facilitate a transition window or it could have been removed at version 2.4.0 to force build failures and package maintainer intervention.

I investigated Flatpak to determine if the missing plugins were a universal problem on all Linux package platforms and it was confirmed that this was the case. The Audacity Flatpak maintainers were alerted to the breakage and switched their build to use CMake. Flatpaks from version 2.4.1 are correctly built as the developers require and feature all Nyquist plugins.

I’m sure the Audacity developers feel a degree of embarrasment over this and will take appropriate actions to see that this sort of misunderstanding doesn’t happen again. If there’s a lesson to be learned it’s that transition periods, and deprecation of a major feature, are desirable before fully adopting another approach to a problem.

ATB,
Neil

Thanks for enlightening us, Neil. What you say certainly seems to add up.

Sorry guys, I’m the PPA maintainer.

I didn’t notice that the building system has changed. As @Neil Darlow said, the previous 2.4.1 build succeeded and ran in my machine without well test (I’m not editing audios.)

Now I’m trying to fix the issue, and needs help!

Launchpad builders do not has internet connection, while building v2.4.2 needs to clone wxwidgets from github!

I’m not a programmer, has no skill to hack in the cmake file, so I’m here to ask help if possible to upload wxwidgets along with audacity source into launchpad?

I don’t know how launchpad works, but on a PC you can clone wx3.1 from here: GitHub - audacity/wxWidgets: Cross-Platform GUI Library - Report issues here: http://trac.wxwidgets.org/
Build and install wxWidgets, then build Audacity.

To build wxWidgets:

git clone --recurse-submodules https://github.com/audacity/wxWidgets
cd wxWidgets
mkdir bld
cd bld
../configure --with-cxx=14 --with-gtk=2
sudo make -j8 install

As long as “/usr/local/bin” is in your PATH, then the wx-config should be found when you “cmake” Audacity.

If the path to wxWidgets isn’t in PATH, then when building Audacity, use the option:
-DwxWidgets_CONFIG_EXECUTABLE=/wx-config

Note that for system FFmpeg to work it is necessary to build Audacity with the option:
-Daudacity_use_ffmpeg=loaded

I hope that helps, but if you get stuck I’d recommend writing to the Audacity developer’s mailing list (the developer “Leland” is the expert on this)

For those using Linux Mint, how are you getting around the CMake error:

CMake Error at CMakeLists.txt:6 (cmake_minimum_required):
CMake 3.15 or higher is required. You are running version 3.5.1

As it is, my linux terminal skills are very liminted, so I can’t get around if the instructions are not specifically spelled out for my distro. :frowning:

Which version of Mint do you have?

18.2 Sonya

32-bit or 64-bit?

32 bit

Unfortunately, that makes it rather complicated. Cmake no longer provide binaries for 32-bit Linux, so if you want to go ahead with this you would need to download the source code for Cmake, build that and install Cmake, and only then can you build Audacity.

If your computer hardware is 64-bit, then the best solution would be to upgrade your OS to an up to date 64-bit system (example, Mint 20 64-bit). I believe that has a sufficiently recent version of Cmake in it’s repositories.

Thanks. I figured that might be the case. I may go ahead and update to 64 bit. I’ve just had bad experiences with losing data because not everything was backed up/saved and I’m nervous about trying it again! I appreciate your help.

I think these instructions should work for Mint 20: https://forum.audacityteam.org/t/building-audacity-2-4-2-on-ubuntu-20-04/57719/1