[jitsi-users] Jitsi rpm for Fedora - Build native libraries


#1

Hi to all,
I am a medical student that love Fedora. You can get more info about me on
my fedora webpage:
https://fedoraproject.org/wiki/User:Marionline

I want to create a package for jitsi and ask to rpmfusion repository to
include it.

I need to compile and build all bundle library. I read previous emails and
questions about this issue, especially this one:
http://comments.gmane.org/gmane.comp.voip.sip-communicator.devel/11629

I am able to compile everything without problems (I must to patch something
to correct share libraries to use or paths) except jdic_misc.so (I checkout
the source code from svn repository of jdic).

In the creation of the rpm package I must remove jdic_misc.so and libunix-
java.so (I use libunix-java.so provide by libmatthew-java).
I can install the package and I create a launcher script for fedora.

So, If I create an rpm package without compiling native library but using
libraries compiled and provides by jitsi package the software seems to work
fine.
If I use my library (inside native directory there is not libjdic_misc.so
and there is a symbolic link for libunix-java.so) I have got some errors.
Using different version of jitsi (from stable branch or new) the common
error is:

Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
/usr/lib/jvm/java/bin/java: symbol lookup error:
/usr/lib64/jitsi/lib/native/libjnportaudio.so: undefined symbol:
Pa_SetDevicesChangedCallback

With new version of jitsi there are also these lines before previous
output:
$ jitsi
java virtual machine used: /usr/lib/jvm/java/bin/java
classpath used: :lib/felix.jar:lib/jdic-all.jar:lib/jdic_stub.jar:sc-
bundles/sc-launcher.jar:sc-bundles/util.jar
main class used: net.java.sip.communicator.launcher.SIPCommunicator
flags used:
options used: -Djna.library.path=/usr/lib64/jitsi/lib -
Djava.library.path=/usr/lib64/jitsi/lib:/usr/lib64/jitsi/lib/native -
Dfelix.config.properties=file:/usr/lib64/jitsi/lib/felix.client.run.properties
-Djava.util.logging.config.file=/usr/lib64/jitsi/lib/logging.properties
arguments used:
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM
cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only
playback stream

Could you give me any suggestions? Do you need to view my spec file or bash
script launcher?

Thank you in advance

···

--
Mario Santagiuliana
www.marionline.it


#2

Hi,
The line

/usr/lib64/jitsi/lib/native/libjnportaudio.so: undefined symbol:
Pa_SetDevicesChangedCallback

is caused by a not very recent version of Portaudio. Jitsi uses a very recent version, but in the Fedora repositories there is an old version of it. You should use a newer version of Portaudio by compiling it yourself or by finding it somewhere (you can also use the package I'm maintaining here for Fedora too: http://download.opensuse.org/repositories/home:/DaniLeo:/VoIP/).

All the best,
Daniel

···

Il 01/06/2012 14:05, Mario Santagiuliana ha scritto:

Hi to all,
I am a medical student that love Fedora. You can get more info about me on
my fedora webpage:
https://fedoraproject.org/wiki/User:Marionline

I want to create a package for jitsi and ask to rpmfusion repository to
include it.

I need to compile and build all bundle library. I read previous emails and
questions about this issue, especially this one:
http://comments.gmane.org/gmane.comp.voip.sip-communicator.devel/11629

I am able to compile everything without problems (I must to patch something
to correct share libraries to use or paths) except jdic_misc.so (I checkout
the source code from svn repository of jdic).

In the creation of the rpm package I must remove jdic_misc.so and libunix-
java.so (I use libunix-java.so provide by libmatthew-java).
I can install the package and I create a launcher script for fedora.

So, If I create an rpm package without compiling native library but using
libraries compiled and provides by jitsi package the software seems to work
fine.
If I use my library (inside native directory there is not libjdic_misc.so
and there is a symbolic link for libunix-java.so) I have got some errors.
Using different version of jitsi (from stable branch or new) the common
error is:

Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
/usr/lib/jvm/java/bin/java: symbol lookup error:
/usr/lib64/jitsi/lib/native/libjnportaudio.so: undefined symbol:
Pa_SetDevicesChangedCallback

With new version of jitsi there are also these lines before previous
output:
$ jitsi
java virtual machine used: /usr/lib/jvm/java/bin/java
classpath used: :lib/felix.jar:lib/jdic-all.jar:lib/jdic_stub.jar:sc-
bundles/sc-launcher.jar:sc-bundles/util.jar
main class used: net.java.sip.communicator.launcher.SIPCommunicator
flags used:
options used: -Djna.library.path=/usr/lib64/jitsi/lib -
Djava.library.path=/usr/lib64/jitsi/lib:/usr/lib64/jitsi/lib/native -
Dfelix.config.properties=file:/usr/lib64/jitsi/lib/felix.client.run.properties
-Djava.util.logging.config.file=/usr/lib64/jitsi/lib/logging.properties
arguments used:
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM
cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only
playback stream

Could you give me any suggestions? Do you need to view my spec file or bash
script launcher?

Thank you in advance


#3

In data venerdì 01 giugno 2012 15:35:26, hai scritto:

Hi,
The line

/usr/lib64/jitsi/lib/native/libjnportaudio.so: undefined symbol:
Pa_SetDevicesChangedCallback

is caused by a not very recent version of Portaudio. Jitsi uses a very
recent version, but in the Fedora repositories there is an old version
of it. You should use a newer version of Portaudio by compiling it
yourself or by finding it somewhere (you can also use the package I'm
maintaining here for Fedora too:
http://download.opensuse.org/repositories/home:/DaniLeo:/VoIP/).

All the best,
Daniel

Thank you for your reply.

In fedora I use the stable version of portaudio, version 19 from snapshot
take in 27-03-201, is it too old?

If I can't use library provides from stable repository I didn't think I can
ask to include jitsi in rpmfusion repository...

And I see that new version of jitsti doesn't include libcivil.so, could I
drop this software from the building process?

And also, I didn't find a way to compile libjdic_misc.so...

Thank you very much!

···

--
Mario Santagiuliana
www.marionline.it


#4

Hey,

I'm afraid the portaudio version we use is not available in any build,
actually it is a branch in portaudio hot-plug repository. We have
provided a patch with our changes to their list but its not integrated
in the branch, nor in their trunk repository.

Regards
damencho

···

On Fri, Jun 1, 2012 at 5:08 PM, Mario Santagiuliana <fedora@marionline.it> wrote:

In data venerdì 01 giugno 2012 15:35:26, hai scritto:

Hi,
The line

/usr/lib64/jitsi/lib/native/libjnportaudio.so: undefined symbol:
Pa_SetDevicesChangedCallback

is caused by a not very recent version of Portaudio. Jitsi uses a very
recent version, but in the Fedora repositories there is an old version
of it. You should use a newer version of Portaudio by compiling it
yourself or by finding it somewhere (you can also use the package I'm
maintaining here for Fedora too:
http://download.opensuse.org/repositories/home:/DaniLeo:/VoIP/).

All the best,
Daniel

Thank you for your reply.

In fedora I use the stable version of portaudio, version 19 from snapshot
take in 27-03-201, is it too old?

If I can't use library provides from stable repository I didn't think I can
ask to include jitsi in rpmfusion repository...

And I see that new version of jitsti doesn't include libcivil.so, could I
drop this software from the building process?

And also, I didn't find a way to compile libjdic_misc.so...

Thank you very much!
--
Mario Santagiuliana
www.marionline.it


#5

In data venerdì 01 giugno 2012 17:16:27, hai scritto:

I'm afraid the portaudio version we use is not available in any build,
actually it is a branch in portaudio hot-plug repository. We have
provided a patch with our changes to their list but its not integrated
in the branch, nor in their trunk repository.

Regards
damencho

So it is impossible to package jitsi to include it in rpmfusion
repository...

I hope to see nearly new packages update in fedora and in jitsi that help
me to package it for Fedora and include it in rpmfusion...

Thank you!

···

--
Mario Santagiuliana
www.marionline.it


#6

Hi,
I'm sorry, but now I remember that the most recent stable portaudio build (November 2011) works, but only for Jitsi versions before the hotplug thing were introduced.
Sorry again for the misleading answer.

Daniel

···

Il 01/06/2012 16:16, Damian Minkov ha scritto:

Hey,

I'm afraid the portaudio version we use is not available in any build,
actually it is a branch in portaudio hot-plug repository. We have
provided a patch with our changes to their list but its not integrated
in the branch, nor in their trunk repository.

Regards
damencho

On Fri, Jun 1, 2012 at 5:08 PM, Mario Santagiuliana > <fedora@marionline.it> wrote:

In data venerd� 01 giugno 2012 15:35:26, hai scritto:

Hi,
The line

/usr/lib64/jitsi/lib/native/libjnportaudio.so: undefined symbol:
Pa_SetDevicesChangedCallback

is caused by a not very recent version of Portaudio. Jitsi uses a very
recent version, but in the Fedora repositories there is an old version
of it. You should use a newer version of Portaudio by compiling it
yourself or by finding it somewhere (you can also use the package I'm
maintaining here for Fedora too:
http://download.opensuse.org/repositories/home:/DaniLeo:/VoIP/).

All the best,
Daniel

Thank you for your reply.

In fedora I use the stable version of portaudio, version 19 from snapshot
take in 27-03-201, is it too old?

If I can't use library provides from stable repository I didn't think I can
ask to include jitsi in rpmfusion repository...

And I see that new version of jitsti doesn't include libcivil.so, could I
drop this software from the building process?

And also, I didn't find a way to compile libjdic_misc.so...

Thank you very much!
--
Mario Santagiuliana
www.marionline.it


#7

Hey Mario,

···

On 01.06.12 16:26, Mario Santagiuliana wrote:

In data venerdì 01 giugno 2012 17:16:27, hai scritto:

I'm afraid the portaudio version we use is not available in any build,
actually it is a branch in portaudio hot-plug repository. We have
provided a patch with our changes to their list but its not integrated
in the branch, nor in their trunk repository.

Regards
damencho

So it is impossible to package jitsi to include it in rpmfusion
repository...

I hope to see nearly new packages update in fedora and in jitsi that help
me to package it for Fedora and include it in rpmfusion...

Why isn't it possible to just include the portaudio version that we have
in our repository?

Emil


#8

In data venerdì 01 giugno 2012 17:59:09, hai scritto:

Why isn't it possible to just include the portaudio version that we have
in our repository

In fedora is preferred to use existing shared library...but I could try to
include in jitsti package a portaudio-hotplug package and install it
without interferer with fedora portaudio package...

So...confirm or answer me:
1) I must download from svn the portaudio hotplug branch, apply patch in
src/native/portaudio and compile it, isn't?

2) I can use libmattew-java.

3) Can I remove lti-civil library compilation?

4) How I can create libjdic_misc.so. I don't understand how and where to
compile the source code of libjdic_misc.so....

Thank you!

···

--
Mario Santagiuliana
www.marionline.it


#9

1) I must download from svn the portaudio hotplug branch, apply patch in
src/native/portaudio and compile it, isn't?

Werner Dittmann had further patches addressing issues with the hotplug
branch on Linux so you should probably check the mailing list archives
as well.

3) Can I remove lti-civil library compilation?

Yes, LTI-CIVIL is not used by Jitsi anymore.

···

2012/6/2 Mario Santagiuliana <fedora@marionline.it>:


#10

Have we integrated those? If so, Werner, could you please add them to
libsrc? :slight_smile:

···

On 02.06.12 12:02, Lyubomir Marinov wrote:

2012/6/2 Mario Santagiuliana <fedora@marionline.it>:

1) I must download from svn the portaudio hotplug branch, apply patch in
src/native/portaudio and compile it, isn't?

Werner Dittmann had further patches addressing issues with the hotplug
branch on Linux so you should probably check the mailing list archives
as well.


#11

FYI Emil, the freeswitch team dynamically link and includes all
foreign libraries in their own source.

This may not be the best way (is there any?), but it have the
great advantage to avoid almost any versioning inconsistency.

My ¢2

JY

···

On Sat, 02 Jun 2012 12:08:50 +0200 Emil Ivov <emcho@jitsi.org> wrote:

Have we integrated those? If so, Werner, could you please add them
to libsrc? :slight_smile:

--
I knew her before she was a virgin.
    -- Oscar Levant, on Doris Day


#12

Whoops, I forgot the interesting link about including external libs:
http://jira.freeswitch.org/browse/FS-353

My ¢1

JY

···

On Sat, 02 Jun 2012 12:08:50 +0200 Emil Ivov <emcho@jitsi.org> wrote:

--
  May I ask a question?


#13

>
> Have we integrated those? If so, Werner, could you please add them
> to libsrc? :slight_smile:

FYI Emil, the freeswitch team dynamically link and includes all
foreign libraries in their own source.

This may not be the best way (is there any?), but it have the
great advantage to avoid almost any versioning inconsistency.

That's exactly what we do too :slight_smile: (seems to be the main issue for distro
package maintainers)

However, we also strive to keep in our repo a snapshot of every lib's
source code and the patches we apply to it. That's what my request above
was about.

--sent from my mobile

···

On Jun 2, 2012 3:13 PM, "Bzzz" <lazyvirus@gmx.com> wrote:

On Sat, 02 Jun 2012 12:08:50 +0200 > Emil Ivov <emcho@jitsi.org> wrote:

My ¢2

JY
--
I knew her before she was a virgin.
               -- Oscar Levant, on Doris Day