Согласно документации https://www.altlinux.org/Jitsi_Meet Jicofo является необходимым компонентом для работы сервера Jitsi Meet. Однако, пакет jicofo не собирается для архитектуры aarch64, что делает невозможным установку сервера Jitsi Meet. Прошу организовать сборку jicofo для aarch64.
При сборке jicofo-1.1-alt0.4 под aarch64 выдаются ошибки: Exception in thread "Smack-Single Threaded Executor 0 (3)" java.lang.UnsatisfiedLinkError: /tmp/nativeutils106925306743618/libjnisctp.so: /tmp/nativeutils106925306743618/libjnisctp.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform) Exception in thread "Smack-Single Threaded Executor 0 (11)" java.lang.NoClassDefFoundError: Could not initialize class org.jitsi.videobridge.sctp.SctpManager SEVERE: mockjvb.test-server - failed to allocate channels, will consider the bridge faulty: Creator thread has failed to allocate channels: Timed out waiting for a response. Причина в отсутствии libjnisctp.so под aarch64. В исходниках jicofo-1.1-alt0.4 в тарболе m2-jicofo-1.1.tar https://git.altlinux.org/gears/j/jicofo.git?p=jicofo.git;a=blob;f=.gear/m2-jicofo-1.1.tar;h=5ae6b433161a5804de6c856492756fa6de2d02f2;hb=262c8205338db5b60511c8e43ee4b000c187db01 .m2/repository/org/jitsi/jniwrapper-native/1.0-SNAPSHOT/jniwrapper-native-1.0-20190319.172748-1.jar lib/linux/libjnisctp.so имеется библиотека только под x86-64 Нашел процедуру сборки jniwrapper-native для aarch64: https://github.com/jitsi/jitsi-meet/issues/6449 Собрал на p10 под aarch64 следующим образом: git clone https://github.com/sctplab/usrsctp.git git clone https://github.com/jitsi/jitsi-sctp mv ./usrsctp ./jitsi-sctp/usrsctp/ cd ./jitsi-sctp export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-0.aarch64 mvn package -DbuildSctp -DbuildNativeWrapper -DdeployNewJnilib -DskipTests mkdir -p ./jniwrapper/native/src/main/resources/lib/linux/ cp ./jniwrapper/native/target/libjnisctp-linux-aarch64.so ./jniwrapper/native/src/main/resources/lib/linux/libjnisctp.so mvn package Получил искомый файл jitsi-sctp/jniwrapper/native/target/jniwrapper-native-1.0-SNAPSHOT.jar Вынул из jar META-INF/maven/org.jitsi/jniwrapper-native/pom.xml Добавил файлы в исходники jicofo как .gear/jniwrapper-native-1.0-SNAPSHOT.jar .gear/pom.xml и в jicofo.spec как Source2: jniwrapper-native-1.0-SNAPSHOT.jar Source3: pom.xml В %prep добавил в локальный репозиторий: mvn install:install-file -Dfile=%SOURCE2 -DpomFile=%SOURCE3 https://git.altlinux.org/people/jqt4/packages/?p=jicofo.git;a=commitdiff;h=f7da299e23f99fca171ae9c177bab22a602cd068 После внесения этих исправлений тестовый пакет jicofo под aarch64 успешно собрался. (Задача 310566) При тестировании jitsi-meet на TF307 обнаружил проблему: Не передаётся изображение и звук. Иногда получается подключить 2 узла с изображением, но когда подключается 3-й соединения падают. В файл /var/log/jitsi/jvb.log выдаются сообщения: 2022-11-29 15:26:30.424 SEVERE: [19] RecurringRunnableExecutor.run#230: The invocation of the method org.jitsi.videobridge.health.Health.run() threw an exception. java.lang.NoClassDefFoundError: Could not initialize class org.jitsi.videobridge.sctp.SctpManager Нашел описание подобной ситуации: https://community.jitsi.org/t/java-lang-noclassdeffounderror-could-not-initialize-class-org-jitsi-videobridge-sctp-sctpmanager/76443/6 Это та же проблема с отсутствием libjnisctp.so под aarch64, но в jitsi-videobridge.