stefan-langenmaier / jami-overlay

Jami (formerly Ring (formerly SFLphone)) is a SIP compatible softphone for GNU/Linux.
GNU General Public License v3.0
21 stars 9 forks source link

libringclient-20161104-r3 not building #5

Closed onli closed 7 years ago

onli commented 7 years ago

This blocks gnome-ring: https://gist.github.com/onli/4c405191c4878e3b95a2540e6c777ca7

Please tell me if more information are needed.

stefan-langenmaier commented 7 years ago

Thanks for your report. Can you confirm that ring-daemon is installed. It looks like libringclient could not find necessary files from that package.

In case it is installed, could you send me the output of "emerge --info" and the command you execute for the installation of gnome-ring.

onli commented 7 years ago

Hi. ring-daemon seems to be installed:

onli@Fallout:~$ equery list ring-daemon
 * Searching for ring-daemon ...
[I-O] [  ] net-voip/ring-daemon-20161104-r3:0

See https://gist.github.com/onli/7b8ba231c9ad33f275fdfef677d20f96 for emerge --info.

The commands to install were:

sudo layman -a ring-overlay
sudo emerge -av net-voip/gnome-ring

Since you were asking about the specifics of the system I should probably mention I use Funtoo and not normal Gentoo. Though I think it should not make a difference here?

stefan-langenmaier commented 7 years ago

Hey,

I think there was a problem during the install of ring-daemon but the ebuild did not abort. Would you be so kind to rerun the installation of ring-daemon and send me the build.log of it.

FEATURES="keepwork" emerge -1 ring-daemon

Thanks for the hint with Funtoo, I think you are right it should not make a difference, but maybe it causes some different versions of the dependencies to be installed.

onli commented 7 years ago

That's the output:

onli@Fallout:~$ FEATURES="keepwork" sudo emerge -1 ring-daemon
Password: 
Sorry, try again.
Password: 

 * IMPORTANT: 4 config files in '/etc/portage' need updating.
 * See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
 * sections of the emerge man page to learn how to update config files.
Calculating dependencies... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) net-voip/ring-daemon-20161104-r3::ring-overlay
>>> Installing (1 of 1) net-voip/ring-daemon-20161104-r3::ring-overlay
>>> Jobs: 1 of 1 complete                           Load avg: 1.15, 1.11, 0.73
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

!!! existing preserved libs:
>>> package: media-libs/libwebp-0.5.1
 *  - /usr/lib32/libwebp.so.5
 *  - /usr/lib32/libwebp.so.5.0.2
 *      used by /usr/lib32/libSDL_image-1.2.so.0.8.4 (media-libs/sdl-image-1.2.12-r1)
 *  - /usr/lib64/libwebp.so.5
 *  - /usr/lib64/libwebp.so.5.0.2
 *      used by /usr/lib64/libSDL_image-1.2.so.0.8.4 (media-libs/sdl-image-1.2.12-r1)
>>> package: media-libs/glew-2.0.0
 *  - /usr/lib64/libGLEW.so.1.13
 *  - /usr/lib64/libGLEW.so.1.13.0
 *      used by /usr/lib64/gstreamer-0.10/libgstopengl.so (media-plugins/gst-plugins-gl-0.10.3-r1)
 *      used by /usr/lib64/libgstgl-0.10.so.1.0.0 (media-plugins/gst-plugins-gl-0.10.3-r1)
 *  - /usr/lib32/libGLEW.so.1.13
 *  - /usr/lib32/libGLEW.so.1.13.0
 *      used by /usr/lib32/gstreamer-0.10/libgstopengl.so (media-plugins/gst-plugins-gl-0.10.3-r1)
 *      used by /usr/lib32/libgstgl-0.10.so.1.0.0 (media-plugins/gst-plugins-gl-0.10.3-r1)
Use emerge @preserved-rebuild to rebuild packages using these libraries

 * IMPORTANT: 9 config files in '/etc' need updating.
 * See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
 * sections of the emerge man page to learn how to update config files.

I tried to emerge gnome-ring after that, but it did not change. Also, I don't really understand the error message: If there is no rule to make /usr/share/dbus-1/interfaces/cx.ring.Ring.PresenceManager.xml, doesn't that have to be an error in the makefile? dbus-1 reminds me that my system runs without dbus, -dbus is set in the make.conf. Does it have no rule because it needs dbus to generate the rule?

stefan-langenmaier commented 7 years ago

Thanks again for the feedback but I cannot see which error message you are talking about.

The output from the emerge command is very short. It seems to me that you have the --jobs=X option for emerge activated.

You should find the complete output of the build.log under: /var/tmp/portage/net-voip/ring-20161104-r3/temp/build.log

stefan-langenmaier commented 7 years ago

And yes, dbus is necessary but it should be pulled in by one of the packages dependencies.

onli commented 7 years ago

Thanks again for the feedback but I cannot see which error message you are talking about.

Ah, okay, but that is the core of the problem, it is good we clear that up! I'm talking about the error message with which the compilation of gnome-ring fails, Linked in my first post is the build log of libringclient: https://gist.github.com/onli/4c405191c4878e3b95a2540e6c777ca7. This part:

[ 18%] Built target ringclient_automoc
make[2]: *** No rule to make target '/usr/share/dbus-1/interfaces/cx.ring.Ring.PresenceManager.xml', needed by 'presencemanager_dbus_interface.cpp'.  Stop.
make[2]: *** Waiting for unfinished jobs....
[ 19%] Generating src/private/moc_smartInfoHub_p.cpp
CMakeFiles/Makefile2:136: recipe for target 'CMakeFiles/ringclient.dir/all' failed
make[1]: *** [CMakeFiles/ringclient.dir/all] Error 2
Makefile:127: recipe for target 'all' failed

That should be the actual compilation stopper.

It seems to me that you have the --jobs=X option for emerge activated.

Yes. I deactivated it now and emerged ring-daemon gain. Sorry, I was not aware that this makes the output less verbose. Here is the log: https://gist.githubusercontent.com/onli/5948dc0c2b5d13c1419cc878e00a5047/raw/e245460cca0e20adaa5ee5bdd1d33edcde833e61/ring_daemon.log (very long, so that is directly the untruncated version). It seems to me like that indeed did not work, despite what emerge says:

checking for PULSEAUDIO... no
configure: error: Missing pulseaudio development files
sed: can't read bin/Makefile: No such file or directory
>>> Source configured.
>>> Compiling source in /tmp/portage/net-voip/ring-daemon-20161104-r3/work/ring-project/daemon ...
>>> Source compiled.

But if this needs pulseaudio, should that not be set as dependency in the ebuild? But checking the ebuild, it actually is set. And portaudio even is installed. That's confusing…

I'm not using pulseaudio on this system, but pulseaudio is not blocked.

And yes, dbus is necessary but it should be pulled in by one of the packages dependencies.

That won't work. If dbus is blocked globally portage should not be able to emerge the dbus package even as dependency. But It would then normally stop and cry for help, not just fail when generating an xml. Though I have blocked dbus because it did not work on my system and was a clusterfuck to configure, I really hope it is not that :/

Thanks for your support so far! :)

stefan-langenmaier commented 7 years ago

Okay, there were two problems. The ebuild of ring-daemon did not fail even though the configure step did not succeed. My mistake I added now a "die" in case of an error. The other problem is the missing dependency on pulseaudio. It is necessary and on my system it was already installed.

I fixed theses two issues in the current version of the ebuild. They are now at version 20161107.

Thanks for your help!

onli commented 7 years ago

Thank you! It is now correctly complaining that the USE flag pulseaudio for alsa-plugins is missing and wants to fetch the dependency.

Before I go there (sorry, that is not directly related to the bug report anymore, I'll keep it short): Is this necessary? I have really bad experiences with pulseaudio, and a working audio system I would like not to destroy. No way to build this with alsa? No way to build this without fetching pulseaudio and later using something like apulse?

stefan-langenmaier commented 7 years ago

I'm not sure if it's necessary or not. The documentation of the ring team says so: https://tuleap.ring.cx/plugins/mediawiki/wiki/ring/index.php/Build_Instructions

I didn't know about apulse. I added it as an alternative dependency to pulseaudio. You have to update the repo and rebuild ring-daemon. I cannot try it at the moment on my system but I would be happy to get some feedback. Maybe you can open an issue concerning that.

I will close this issue, don't hesitate to reopen it if there is still a problem with the compilation.