Build problem in Manjaro for older version of Audacity

First, permit me to express my sorrow after reading of Vaughan Johnson’s passing on your main page. As a long-time user of Audacity, I am very indebted to all who have brought it to fruition. I suspect his handiwork will long live across the globe as a fitting tribute.

Now, to my issue. I saw what you guys did in later version after a package upgrade with chains and and with equalization dialog, but alas it just doesn’t meet my current needs. So I grabbed hold of older source (2.2.2) and was able to build successfully several months ago, and have used successfully all the while.

With all this time on my hands, I decided to make a tweak or two here and there in one of the effects program (ChangeSpeed.cpp etc). Now I find myself unable to build incorporating my changes without error. I am not asking you to debug my change. I am asking for help understanding why I am getting MAKE errors suddenly in nyquist library objects, which I assuredly have kept my mitts off of. I don’t even know why there is a “midi” thingy in there anyway, since my understanding is Audacity doesn’t even do MIDI.

Thanks to all

I am following the steps in the “INSTALL” file in root folder. When I enter make in my build folder, I get following:

/usr/bin/ld: …/lib-src/libnyquist/libnyquist.a(midifns.o):(.bss+0x0): multiple definition of IOinputfd'; ../lib-src/libnyquist/libnyquist.a(userio.o):(.bss+0x0): first defined here /usr/bin/ld: ../lib-src/libnyquist/libnyquist.a(midifns.o):(.bss+0x4): multiple definition of IOnochar’; …/lib-src/libnyquist/libnyquist.a(userio.o):(.bss+0x4): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:2347: audacity] Error 1
make[1]: *** [Makefile:1584: all] Error 2
make: *** [Makefile:808: all-recursive] Error 1

OS: Manjaro 20.0.3 Lysia
Kernel: x86_64 Linux 5.6.16-1-MANJARO

Here’s what I built some months ago from the same source overall

File Format Support
libmad
(MP3 Importing)
Enabled
libvorbis
(Ogg Vorbis Import and Export)
Enabled
libid3tag
(ID3 tag support)
Enabled
libflac
(FLAC import and export)
Enabled
libtwolame
(MP2 export)
Enabled
QuickTime
(Import via QuickTime)
Disabled
ffmpeg
(FFmpeg Import/Export)
Enabled
gstreamer
(Import via GStreamer)
Disabled
Core Libraries
libsoxr
(Sample rate conversion)
Enabled
PortAudio
(Audio playback and recording)
v19
wxWidgets
(Cross-platform GUI library)
3.0.4
Features
Theme
(Dark Theme Extras)
Disabled
Nyquist
(Plug-in support)
Enabled
LADSPA
(Plug-in support)
Enabled
Vamp
(Plug-in support)
Enabled
Audio Units
(Plug-in support)
Disabled
VST
(Plug-in support)
Enabled
LV2
(Plug-in support)
Enabled
PortMixer
(Sound card mixer support)
Enabled
SoundTouch
(Pitch and Tempo Change support)
Enabled
SBSMS
(Extreme Pitch and Tempo Change support)
Enabled
Build Information
Program build date:
Feb 26 2020
Commit Id:
No revision identifier was provided
Build type:
Release build
Compiler:
GCC 9.2.0
Installation Prefix:
/usr/local/
Settings folder:


File Format Support
libmad
(MP3 Importing)
Enabled
libvorbis
(Ogg Vorbis Import and Export)
Enabled
libid3tag
(ID3 tag support)
Enabled
libflac
(FLAC import and export)
Enabled
libtwolame
(MP2 export)
Enabled
QuickTime
(Import via QuickTime)
Disabled
ffmpeg
(FFmpeg Import/Export)
Enabled
gstreamer
(Import via GStreamer)
Disabled
Core Libraries
libsoxr
(Sample rate conversion)
Enabled
PortAudio
(Audio playback and recording)
v19
wxWidgets
(Cross-platform GUI library)
3.0.4
Features
Theme
(Dark Theme Extras)
Disabled
Nyquist
(Plug-in support)
Enabled
LADSPA
(Plug-in support)
Enabled
Vamp
(Plug-in support)
Enabled
Audio Units
(Plug-in support)
Disabled
VST
(Plug-in support)
Enabled
LV2
(Plug-in support)
Enabled
PortMixer
(Sound card mixer support)
Enabled
SoundTouch
(Pitch and Tempo Change support)
Enabled
SBSMS
(Extreme Pitch and Tempo Change support)
Enabled
Build Information
Program build date:
Feb 26 2020
Commit Id:
No revision identifier was provided
Build type:
Release build
Compiler:
GCC 9.2.0
Installation Prefix:
/usr/local/
Settings folder:

Audacity is able to import MIDI files, and in more recent versions of Audacity, imported MIDI files (which become “Note tracks”) can be played (requires a MIDI synth to be attached).


If you revert your changes (back to the original source code), does it then build?