未定义符号:PaAlsa_EnableRealtimeScheduling 阻止 mixx 应用程序打开

未定义符号:PaAlsa_EnableRealtimeScheduling 阻止 mixx 应用程序打开

在这台机器上,我们有 Ubuntu 20.04(我猜)。经过一些硬件配置(一些电缆)(我真的不知道该如何解释),mixxx 软件没有打开。

因此,它出现在活动栏中,但并未打开。
我尝试使用 killall 命令终止该进程。
我尝试重新启动机器。
我尝试从 ubuntu 软件中心重新安装 Mixxx 软件,并使用 apt-get 命令从控制台重新安装。

任何建议都会有用。

我现在无法物理访问该机器,但我可以使用 AnyDesk 软件从家里对其进行管理。

(PS:我对 ubuntu 软件几乎一点都不熟悉,所以请给出解释答案:))

在此处输入图片描述

编辑:

epalxeis@epalxeis-由 OEM 填充:~$ mixxx
mixxx:符号查找错误:mixxx:未定义符号:PaAlsa_EnableRealtimeScheduling
epalxeis@epalxeis-由 OEM 填充:~$

我尝试从源代码安装它(关联)。同样的错误。

epalxeis@epalxeis-To-be-filled-by-OEM:~/Desktop/mixxx-2.3/build$ cmake --build .
扫描目标基准的依赖关系
[ 0%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/benchmark.cc.o
[ 0%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/benchmark_api_internal.cc.o
[ 0%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/benchmark_name.cc.o
[ 0%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o
[ 1%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/benchmark_runner.cc.o
[ 1%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/colorprint.cc.o
[ 1%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/commandlineflags.cc.o
[ 1%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/complexity.cc.o
[ 1%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/console_reporter.cc.o
[ 1%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/counter.cc.o
[ 1%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/csv_reporter.cc.o
[ 1%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/json_reporter.cc.o
[ 2%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/reporter.cc.o
[ 2%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/sleep.cc.o
[ 2%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/statistics.cc.o
[ 2%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/string_util.cc.o
[ 2%] 构建 CXX 对象 lib/benchmark/src/CMakeFiles/benchmark.dir/sysinfo.cc.o
...
...
...
[ 99%] 链接 CXX 可执行文件 mixxx-test
/usr/bin/ld: libmixxx-lib.a(sounddeviceportaudio.cpp.o): 在函数“SoundDevicePortAudio::open(bool, int)”中:
/home/epalxeis/Desktop/mixxx-2.3/src/soundio/sounddeviceportaudio.cpp:340: 对“PaAlsa_EnableRealtimeScheduling”未定义引用
collect2:错误:ld 返回 1 退出状态
make[2]: *** [CMakeFiles/mixxx-test.dir/build.make:1659: mixxx-test] 错误 1
make[1]: *** [CMakeFiles/Makefile2:1155: CMakeFiles/mixxx-test.dir/all] 错误 2
make:*** [Makefile:163:全部] 错误 2

答案1

我刚刚对文件的第 339 行和第 340 行进行了注释(//),/home/epalxeis/Desktop/mixxx-2.3/src/soundio/sounddeviceportaudio.cpp更改如下:

#ifdef __LINUX__
    if (m_deviceTypeId == paALSA) {
        qInfo() << "Enabling ALSA real-time scheduling";
        PaAlsa_EnableRealtimeScheduling(pStream, 1);
    }
#endif

更改为:

#ifdef __LINUX__
    if (m_deviceTypeId == paALSA) {
    //    qInfo() << "Enabling ALSA real-time scheduling";
    //    PaAlsa_EnableRealtimeScheduling(pStream, 1);
    }
#endif

然后我跑了:

sudo cmake --build build --target install --parallel `nproc`

现在 mixxx 开业了。

我不知道这个自定义安装会产生什么副作用,所以请随意评论。

相关内容