[jitsi-users] Runtime error after compiling Jicofo from source


#1

Hi,

I've previously installed Jicofo using `sudo apt install jitsi-meet`, but
now I want to change some things so I'm trying to compile Jicofo from
source.

I did `mvn clean compile package -DskipTests` and it created a JAR file. I
then replaced /usr/share/jicofo/jicofo.jar with this file and ran `sudo
service jicofo restart`, but now when I try to join a room in my browser
the video never connects. I get an error in my jicofo.log file:

Jicofo 2017-09-18 04:58:59.972 INFO: [36]
org.jitsi.impl.protocol.xmpp.OperationSetJingleImpl.processPacket().148
Error while handling incoming Jingle packet:
java.lang.NoSuchMethodError:
net.java.sip.communicator.impl.protocol.jabber.extensions.colibri.SourcePacketExtension.hasSSRC()Z
        at
org.jitsi.jicofo.SSRCValidator.tryAddSourcesAndGroups(SSRCValidator.java:132)
        at
org.jitsi.jicofo.Participant.addSourcesAndGroupsFromContent(Participant.java:541)
        at
org.jitsi.jicofo.JitsiMeetConferenceImpl.onSessionAccept(JitsiMeetConferenceImpl.java:1174)
        at
org.jitsi.protocol.xmpp.AbstractOperationSetJingle.processJingleIQ(AbstractOperationSetJingle.java:297)
        at
org.jitsi.impl.protocol.xmpp.OperationSetJingleImpl.processPacket(OperationSetJingleImpl.java:135)
        at
org.jivesoftware.smack.Connection$ListenerWrapper.notifyListener(Connection.java:867)
        at
org.jivesoftware.smack.PacketReader$ListenerNotification.run(PacketReader.java:457)
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Just to make sure that I'm not suffering from XY Problem I'll quickly
explain some background. I'm trying to get Jitsi Meet to run on a Raspberry
Pi, but the Raspberry Pi only supports h/w acceleration for h264, not VP8.
When I set preferH264 in Jitsi Meet's settings it works, but I can no
longer use Jitsi in Google Chrome. It seems this may be caused by a
case-sensitivity issue, so I'm trying to apply the patch found here (
https://github.com/jitsi/jitsi-meet/issues/877#issuecomment-269054479).
That's why I'm trying to compile from source.

I'm not experienced with Java so my apologies if I'm asking a stupid
question.

Thanks in advance,
Josh


#2

Hi,

You've updated inly jicofo.jar, but you need to update and the dependencies
in libs folder.

Regards
damencho

···

On Sep 18, 2017 00:33, "Josh Walsh" <josh.walsh@carevision.com.au> wrote:

Hi,

I've previously installed Jicofo using `sudo apt install jitsi-meet`, but
now I want to change some things so I'm trying to compile Jicofo from
source.

I did `mvn clean compile package -DskipTests` and it created a JAR file. I
then replaced /usr/share/jicofo/jicofo.jar with this file and ran `sudo
service jicofo restart`, but now when I try to join a room in my browser
the video never connects. I get an error in my jicofo.log file:

Jicofo 2017-09-18 04:58:59.972 INFO: [36] org.jitsi.impl.protocol.xmpp.
OperationSetJingleImpl.processPacket().148 Error while handling incoming
Jingle packet:
java.lang.NoSuchMethodError: net.java.sip.communicator.
impl.protocol.jabber.extensions.colibri.SourcePacketExtension.hasSSRC()Z
        at org.jitsi.jicofo.SSRCValidator.tryAddSourcesAndGroups(
SSRCValidator.java:132)
        at org.jitsi.jicofo.Participant.addSourcesAndGroupsFromContent
(Participant.java:541)
        at org.jitsi.jicofo.JitsiMeetConferenceImpl.onSessionAccept(
JitsiMeetConferenceImpl.java:1174)
        at org.jitsi.protocol.xmpp.AbstractOperationSetJingle.
processJingleIQ(AbstractOperationSetJingle.java:297)
        at org.jitsi.impl.protocol.xmpp.OperationSetJingleImpl.
processPacket(OperationSetJingleImpl.java:135)
        at org.jivesoftware.smack.Connection$ListenerWrapper.
notifyListener(Connection.java:867)
        at org.jivesoftware.smack.PacketReader$ListenerNotification.run(
PacketReader.java:457)
        at java.util.concurrent.Executors$RunnableAdapter.
call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Just to make sure that I'm not suffering from XY Problem I'll quickly
explain some background. I'm trying to get Jitsi Meet to run on a Raspberry
Pi, but the Raspberry Pi only supports h/w acceleration for h264, not VP8.
When I set preferH264 in Jitsi Meet's settings it works, but I can no
longer use Jitsi in Google Chrome. It seems this may be caused by a
case-sensitivity issue, so I'm trying to apply the patch found here (
https://github.com/jitsi/jitsi-meet/issues/877#issuecomment-269054479).
That's why I'm trying to compile from source.

I'm not experienced with Java so my apologies if I'm asking a stupid
question.

Thanks in advance,
Josh

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#3

You updated jicofo.jar, but not its dependencies. Replace the whole /usr/share/jicofo directory with the one from the package (the zip file).

Regards,
Boris

···

On 18/09/2017 00:31, Josh Walsh wrote:

Hi,

I've previously installed Jicofo using `sudo apt install jitsi-meet`, but now I want to change some things so I'm trying to compile Jicofo from source.

I did `mvn clean compile package -DskipTests` and it created a JAR file. I then replaced /usr/share/jicofo/jicofo.jar with this file and ran `sudo service jicofo restart`, but now when I try to join a room in my browser the video never connects. I get an error in my jicofo.log file:


#4

Ah, so it was a rookie error. By default there was no zip file generated,
but I ran the following line:

mvn -U clean compile package -DskipTests -Dassembly.skipAssembly=false

And that created the ZIP file. Now my meeting works perfectly in Google
Chrome with h264. Thanks for your help!

* Joshua Walsh *
Tech Lead

E: josh.walsh@carevision.com.au
S: josh.carevision
W: carevision.com <http://www.carevision.com/>

<http://www.carevision.com/> <https://twitter.com/_CareVision>
<https://www.linkedin.com/company/carevision>
<https://plus.google.com/113220874087986002373>

···

On Tue, Sep 19, 2017 at 1:37 AM, Boris Grozev <boris@jitsi.org> wrote:

On 18/09/2017 00:31, Josh Walsh wrote:

Hi,

I've previously installed Jicofo using `sudo apt install jitsi-meet`, but
now I want to change some things so I'm trying to compile Jicofo from
source.

I did `mvn clean compile package -DskipTests` and it created a JAR file.
I then replaced /usr/share/jicofo/jicofo.jar with this file and ran `sudo
service jicofo restart`, but now when I try to join a room in my browser
the video never connects. I get an error in my jicofo.log file:

You updated jicofo.jar, but not its dependencies. Replace the whole
/usr/share/jicofo directory with the one from the package (the zip file).

Regards,
Boris