![未定义符号:PaAlsa_EnableRealtimeScheduling 阻止 mixx 应用程序打开](https://linux22.com/image/939402/%E6%9C%AA%E5%AE%9A%E4%B9%89%E7%AC%A6%E5%8F%B7%EF%BC%9APaAlsa_EnableRealtimeScheduling%20%E9%98%BB%E6%AD%A2%20mixx%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%89%93%E5%BC%80.png)
在这台机器上,我们有 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 开业了。
我不知道这个自定义安装会产生什么副作用,所以请随意评论。