I compiled Audacity 2.4.2 on Fedora 33, but when I launch the program, it doesn’t detect any audio device, nor microphone.
I can see on the user interface that the audio device selection field (and microphone too) is disabled…
Any idea ? Something goes wrong with compilation ?
Do you have ALSA and PulseAudio installed?
Do you get an error message when you launch Audacity?
ALSA (k5.9.11-200) and PulseAudio (14.0) are installed.
Audacity show this error messages in terminal:
Unable to locate theme engine in module_path: “murrine”
Failed to load module “pk-gtk-module”
That looks like a GTK problem, but I’m not familiar with Fedora.
Did you build with wxgtk2? (recommended)
Do you have libgtk2 installed?
Yes, I have libgtk2 installted and build wxwidgets with gtk2, in accordance with the tutorial (Building on Linux, in the audacity wiki).
I fixed the problem regarding the error message “Unable to locate the theme engine in module_path:” murrine “”, by installing the gtk2-engines-murrine package.
For the last error message, Internet suggest to install PackageKit-gtk3-module but It is already installed.
I rebuild Audacity (2.4.2 and 3.0.0) with wxWidgets build with gtk3: the last error message has disappeared but an another error appear (certainly because wxWidgets are not fully compatible with gtk3) ^^
A floating object was finalized. This means that someone
called g_object_unref() on an object that had only a floating
reference; the initial floating reference is not owned by anyone
and must be removed with g_object_ref_sink().
The issue with audio device and microphone are not solved
I don’t understand how this (simple) issue is possible…
It may not help, but I wrote detailed instructions for building on Ubuntu 20.04. You could have a look through those instructions to see if anything stands out as relevant: https://forum.audacityteam.org/t/building-audacity-2-4-2-on-ubuntu-20-04/57719/1
Ahah ! Finally I found the solution !
When I launch the cmake command for build Audacity, cmake return logs within the terminal: I can see that some essential packages were missing.
Excuse me, I’m new with compilation, because I code in Java (lol !).
NB: Some packages are still missing: I cannot find them but the software works correctly without (for my use).
Thanks for your help. Problem solved !
Super
Which ones?
Which packages are they?
Which ones?
I don’t remember exactly but I think it’s portaudio (ALSA).
in fact, i was wrong: all the packages are present but cmake still tells me that they are missing and that it uses a “local library”.
Example:
Checking for module ‘lame >= 3.100’
– Package ‘lame’, required by ‘virtual:world’, not found
– Using ‘lame’ local library
Same thing for: libavcodec, libavformat, libavutil, portmidi (using midi), portSMF (using portsmf).
NB: I can’t load .mp4 file because Audacity requires libavformat.so.55 and I have libavformat.so.58.
Did you use the
-Daudacity_use_ffmpeg=loaded
option in cmake? That allows a much wider range of FFmpeg versions to be used.
Yes I did it.
Here’s a >REALLY< bad idea, something I sometimes do when I am too pig-headed to give up, but can’t find another option.
Some folks reading this are going to cringe, and it might not work, anyway, but you could try making a symlink that lies, and pretends to be libavformat.so.55 but simply points to libavformat.so.58. If the upgrades from 55 to 58 did not remove or revise existing functions (that Audacity is calling), but only adds new things or modifies other capabilities, then the calls to functionality from 55 should still succeed in 58. OK! Don’t hurt me, I said this was a “BAD IDEA” above.
You might do this, in the directory where libavformat.so.55 exists (and if you can’t figure out where that is, don’t do this):
ln -s libavformat.so.58 libavformat.so.55
oh, and you’ll need to use sudo.
I created the symbolic link and tried importing the library into Audacity but nothing happens.
Or do I have to start compiling the program again ?