Рейтинг:1

неопределенный символ: PaAlsa_EnableRealtimeScheduling предотвращает открытие приложения mixx

флаг bd

На этой машине у нас Ubuntu 20.04 (я полагаю). После нескольких аппаратных конфигураций (несколько кабелей) (я действительно не знаю, что объяснять) программное обеспечение mixxx не открывается.

Итак, он отображается на панели действий, но затем не открывается.
Я попытался убить процесс командой killall.
Я попытался перезапустить машину.
Я попытался переустановить программное обеспечение Mixxx из центра программного обеспечения Ubuntu и из консоли с помощью команды apt-get.

Любой совет будет полезен.

Сейчас у меня нет физического доступа к машине, но я могу управлять ею из дома с помощью программного обеспечения AnyDesk.

(P.S.: я почти не знаком с программным обеспечением Ubuntu, поэтому, пожалуйста, дайте поясняющие ответы:))

введите описание изображения здесь

Редактировать:

epalxeis@epalxeis-для-заполнения-O-E-M:~$ mixxx
mixxx: ошибка поиска символа: mixxx: неопределенный символ: PaAlsa_EnableRealtimeScheduling
epalxeis@epalxeis-для-заполнения-O-E-M:~$ 

Пробовал ставить из исходников(соединять). Та же ошибка.

epalxeis@epalxeis-To-be-filled-by-O-E-M:~/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: all] Ошибка 2

флаг bd
@ user535733 сделал так, как ты сказал.
user535733 avatar
флаг cn
Теперь вы делаете успехи. Похоже на какую-то проблему, связанную с alsa, а не конкретно на mixx. Я добавил к вашему вопросу теги «alsa» и «20.04» и сделал ваш заголовок более конкретным. Эти изменения повышают вероятность того, что гуру ALSA увидят ваш вопрос.
флаг bd
@ user535733 Я добавил дополнительную информацию.
Рейтинг:1
флаг bd

У меня есть только комментарий (//) строки 339 и 340 файла /home/epalxeis/Desktop/mixxx-2.3/src/soundio/sounddeviceportaudio.cpp изменить это:

#ifdef __LINUX__
    если (m_deviceTypeId == paALSA) {
        qInfo() << "Включение планирования ALSA в реальном времени";
        PaAlsa_EnableRealtimeScheduling (pStream, 1);
    }
#endif

к этому:

#ifdef __LINUX__
    если (m_deviceTypeId == paALSA) {
    // qInfo() << "Включение планирования ALSA в реальном времени";
    // PaAlsa_EnableRealtimeScheduling(pStream, 1);
    }
#endif

а потом я побежал:

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

и теперь mixxx открывается.

Я не знаю, какие побочные эффекты может вызвать эта пользовательская установка, поэтому не стесняйтесь комментировать.

terdon avatar
флаг cn
Хм... Похоже, вам следует сообщить об ошибке в mixxx. Лучшим способом, вероятно, было бы сообщить об этом на их странице github, где вы получили исходный код. Кроме того, не могли бы вы отредактировать свой ответ и включить конкретные строки, которые вы прокомментировали? Номера строк, скорее всего, изменятся при любых незначительных изменениях в проекте, поэтому актуальный код будет полезен на случай, если кто-то еще столкнется с той же проблемой. Ох, и "epalxeis", ООО :)
terdon avatar
флаг cn
Я добавил то, что, как я думаю, вы изменили, пожалуйста, проверьте и исправьте, если необходимо.
флаг bd
@tendon: также проверьте строки 23-26 того же файла. Там `LINUX` вместо `__LINUX__`

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.