YunoHost-Apps / jitsi_ynh

Video conference for YunoHost
https://jitsi.org/
Apache License 2.0
21 stars 19 forks source link

armhf support #72

Closed rosbeef closed 2 years ago

rosbeef commented 2 years ago

Describe the bug

fail to create a bridge

Context

Steps to reproduce

install, run, watch the logs

Expected behavior

working on armhf

To analyse

https://github.com/jitsi/docker-jitsi-meet/issues/195 https://github.com/jitsi/jitsi-meet/issues/6449

rosbeef commented 2 years ago

https://github.com/jitsi/jitsi-meet/issues/6449 update

3.1. Install OpenJDK 8 (armhf) as openjdk 11 does not support javah anymore (https://bbs.archlinux.org/viewtopic.php?id=239370)

wget http://security.debian.org/debian-security/pool/updates/main/o/openjdk-8/openjdk-8-jre_8u322-b06-1~deb9u1_armhf.deb
wget http://security.debian.org/debian-security/pool/updates/main/o/openjdk-8/openjdk-8-jre-headless_8u322-b06-1~deb9u1_armhf.deb
wget http://security.debian.org/debian-security/pool/updates/main/o/openjdk-8/openjdk-8-jdk_8u322-b06-1~deb9u1_armhf.deb
wget http://security.debian.org/debian-security/pool/updates/main/o/openjdk-8/openjdk-8-jdk-headless_8u322-b06-1~deb9u1_armhf.deb

sudo apt install \
 ./openjdk-8-jre_8u322-b06-1~deb9u1_armhf.deb \
 ./openjdk-8-jre-headless_8u322-b06-1~deb9u1_armhf.deb \
 ./openjdk-8-jdk_8u322-b06-1~deb9u1_armhf.deb \
 ./openjdk-8-jdk-headless_8u322-b06-1~deb9u1_armhf.deb

3.2. Configure OpenJDK 8 (armhf)

Set the java version to use:

sudo update-alternatives --config java

Select /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/java from the menu.

_3.3. Install Jitsi Meet (armhf) not needed as t is done by ynh.

Using this method you will have to keep Jitsi Meet up-to-date yourself.

wget https://download.jitsi.org/stable/jicofo_1.0-566-1_all.deb
wget https://download.jitsi.org/stable/jitsi-meet-prosody_1.0.4074-1_all.deb
wget https://download.jitsi.org/stable/jitsi-meet-web_1.0.4074-1_all.deb
wget https://download.jitsi.org/stable/jitsi-meet-web-config_1.0.4074-1_all.deb
wget https://download.jitsi.org/stable/jitsi-videobridge2_2.1-197-g38256192-1_all.deb

sudo apt -y install \
  ./jicofo_1.0-566-1_all.deb \
  ./jitsi-meet-prosody_1.0.4074-1_all.deb \
  ./jitsi-meet-web_1.0.4074-1_all.deb \
  ./jitsi-meet-web-config_1.0.4074-1_all.deb \
  ./jitsi-videobridge2_2.1-197-g38256192-1_all.deb_

3.4. Stop Services (armhf)

sudo systemctl stop prosody jitsi-videobridge jitsi-jicofo 3.5. Recompile jniwrapper-native-1.0-SNAPSHOT (armhf)

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-armhf
sudo apt update
sudo apt install automake autoconf build-essential libtool git maven m4
git clone https://github.com/sctplab/usrsctp.git
git clone https://github.com/jitsi/jitsi-sctp
mv ./usrsctp ./jitsi-sctp/usrsctp/
cd ./jitsi-sctp
mvn package -DbuildSctp -DbuildNativeWrapper -DdeployNewJnilib -DskipTests

should give an error

mkdir ./jniwrapper/native/src/main/resources/lib/linux-arm/`

recompile

mvn package -DbuildSctp -DbuildNativeWrapper -DdeployNewJnilib -DskipTests
mvn package
sudo rm /var/www/jitsi/jitsi-videobridge/lib/jniwrapper-native-1.0-*
sudo cp ./jniwrapper/native/target/jniwrapper-native-1.0-SNAPSHOT.jar /var/www/jitsi/jitsi-videobridge/lib/jniwrapper-native-1.0-SNAPSHOT.jar
sudo chmod 640 jniwrapper-native-1.0-SNAPSHOT.jar
sudo chown jitsi:jitsi jniwrapper-native-1.0-SNAPSHOT.jar

3.8. Clear the Log Files and Restart Services (armhf)

sudo rm /var/log/prosody/prosody.log sudo rm /var/log/jitsi/jicofo.log sudo rm /var/log/jitsi/jvb.log sudo systemctl start prosody jitsi-videobridge jitsi-jicofo

rosbeef commented 2 years ago

It is working !!! Tested with 1, 2, 3 participant, don't know for more It is using 150 MiB memory with no users. Now to be added to install script

rosbeef commented 2 years ago

waiting for testing https://github.com/YunoHost-Apps/jitsi_ynh/pull/73