Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 189774

Summary: net-voip/linphone fails with >=ffmpeg-0.4.9_p20070616-r1
Product: Gentoo Linux Reporter: Joshua S <shoetick>
Component: New packagesAssignee: voip herd (OBSOLETE) <voip+disabled>
Status: RESOLVED FIXED    
Severity: normal CC: bertrand, cbm, gentoo, lu_zero, patrizio.bassi, rose, sven.koehler, treecleaner, vapier, voip+disabled, voyageur, weeve3, yngwin, zl29ah
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 246494    
Bug Blocks:    
Attachments: build.log
Upstream patch to fix libswscale use

Description Joshua S 2007-08-22 00:43:21 UTC
I can compile linphone after downgrading to ffmpeg-0.4.9_p20070330 and was able to compile with no problems in some later 2006 versions of ffmpeg.



Reproducible: Always

Steps to Reproduce:
1. emerge linphone without ffmpeg (or upgrade to ffmpeg-0.4.9_p20070616-r1
2. emerge linphone with video (it will compile with USE=novideo
3. profit

Actual Results:  
fails making tests for mediastreamer2

Expected Results:  
completed the installation
Comment 1 Joshua S 2007-08-22 00:44:30 UTC
Created attachment 128814 [details]
build.log
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2007-08-22 05:32:57 UTC
/var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/mediastreamer2/src/.libs/libmediastreamer.so: undefined reference to `img_resample_init'
/var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/mediastreamer2/src/.libs/libmediastreamer.so: undefined reference to `img_convert'
/var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/mediastreamer2/src/.libs/libmediastreamer.so: undefined reference to `img_resample_close'
/var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/mediastreamer2/src/.libs/libmediastreamer.so: undefined reference to `img_resample'
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2007-08-22 11:00:29 UTC
*** Bug 189801 has been marked as a duplicate of this bug. ***
Comment 4 Sven 2007-08-23 09:30:09 UTC
same here with linphone-1.7.1-r1
Comment 5 SpanKY gentoo-dev 2007-08-24 11:43:04 UTC
from the top of the linphone ebuild:

# Note: video support in linphone relies on swscaler being disabled
#       in ffmpeg.  this is because the video code in linphone is old
#       and uses the old interface.  solution: fix linphone's video
#       code.  workaround: build ffmpeg w/out --enable-swscaler.
Comment 6 Luca Barbato gentoo-dev 2007-08-24 12:03:41 UTC
Poke upstream is an option?
Comment 7 Patrizio Bassi 2007-09-30 19:55:18 UTC
luca any news from upstream?
Comment 8 Luca Barbato gentoo-dev 2007-09-30 20:01:18 UTC
handn't poked it yet =_=
Comment 9 Patrizio Bassi 2007-10-10 18:13:48 UTC
Luca any news? vlc has been fixed...
Comment 10 Juergen Rose 2007-10-24 10:45:45 UTC
Is there any workaround to compile linphone-1.7.1-r1 or linphone-1.7.1?
Comment 11 Luca Barbato gentoo-dev 2007-10-24 11:01:16 UTC
build ffmpeg disabling swscaler and/or reenabling the old api, better if you patch linphone to use swscaler.
Comment 12 oRo 2007-10-25 13:02:10 UTC
Hi

It can be compiled with ffmpeg-0.4.9_p20070616

[ebuild   R   ] media-video/ffmpeg-0.4.9_p20070616  USE="X a52 aac amr encode ieee1394 imlib mmx network ogg sdl theora threads truetype v4l vorbis x264 xvid zlib (-altivec) -debug -doc -oss -test"

[ebuild   R   ] net-voip/linphone-1.7.1-r1  USE="alsa gtk ipv6 xv -arts -console -ilbc -novideo"
Comment 13 Patrizio Bassi 2007-10-25 13:22:19 UTC
yes but since -r1 swscaler changed.

we need linphone to be patched for that....

Luca did you get any reply from linphone upstream?
Comment 14 Juergen Rose 2007-10-28 15:18:13 UTC
Also if I compile ffmpeg with the USE flags of comment #12, linphone-1.7.1 and linphone-1.7.1-r1 won't be emerged.

root@shark:/etc(30)# emerge -pvD ffmpeg

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] media-video/ffmpeg-0.4.9_p20070616-r2  USE="X a52 aac amr encode ieee1394 imlib ipv6 mmx network ogg sdl theora threads truetype v4l vorbis x264 xvid zlib (-altivec) -debug -doc -oss -test" 0 kB 
root@shark:/etc(31)# emerge -uvD =linphone-1.7.1
...
i686-pc-linux-gnu-gcc -I.. -I../../oRTP/include -I/usr/include/ffmpeg -DVIDEO_ENABLED -DORTP_INET6 -O2 -march=pentium4 -fomit-frame-pointer -DINET6 -Wall -O2 -g -pthread -D_REENTRANT -rdynamic -o .libs/mediastream mediastream.o -pthread  ../src/.libs/libquickstream.so /var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/mediastreamer2/src/.libs/libmediastreamer.so -L/usr/lib ../src/.libs/libmediastreamer.so /var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/oRTP/src/.libs/libortp.so -lz /usr/lib/liba52.so /usr/lib/libamrnb.so /usr/lib/libamrwb.so /usr/lib/libmp3lame.so -lx264 -lxvidcore /usr/lib/libdc1394_control.so /usr/lib/libfaac.so /usr/lib/libfaad.so /usr/lib/libXext.so /usr/lib/libX11.so /usr/lib/libXau.so /usr/lib/libXdmcp.so /usr/lib/libvorbisenc.so /usr/lib/libraw1394.so -lavutil /usr/lib/libvorbis.so /usr/lib/libSDL.so ../../oRTP/src/.libs/libortp.so /usr/lib/libasound.so /usr/lib/libspeex.so -lm ../../gsmlib/.libs/libgsm.a /usr/lib/libtheora.so /usr/lib/libogg.so -lavcodec -lpthread -lrt -ldl  -Wl,--rpath -Wl,/usr/lib/linphone
/var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/mediastreamer2/src/.libs/libmediastreamer.so: undefined reference to `img_resample'
/var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/mediastreamer2/src/.libs/libmediastreamer.so: undefined reference to `img_resample_init'
/var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/mediastreamer2/src/.libs/libmediastreamer.so: undefined reference to `img_resample_close'
/var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/mediastreamer2/src/.libs/libmediastreamer.so: undefined reference to `img_convert'
collect2: ld returned 1 exit status
make[4]: *** [mediastream] Error 1
make[4]: Leaving directory `/var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/mediastreamer2/tests'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/mediastreamer2'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1/mediastreamer2'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/net-voip/linphone-1.7.1/work/linphone-1.7.1'
make: *** [all] Error 2


Comment 15 SpanKY gentoo-dev 2007-11-01 23:54:48 UTC
there is no useflag combination that'll allow you to build in video support into linphone against latest ffmpeg, so dont try

edit the ffmpeg and change the swscaler option to --disable-swscaler
Comment 16 Patrizio Bassi 2007-11-02 09:52:11 UTC
any news from upstream?
Comment 17 SpanKY gentoo-dev 2007-11-14 00:17:12 UTC
you're assuming someone actually asked on the linphone lists ... i doubt anyone has ... not that i'd really expect a response as upstream linphone tends to be pretty unresponsive unless you're paying them ;)
Comment 18 Patrizio Bassi 2007-11-14 09:25:53 UTC
from the "yet" i saw in comment #8 from Luca i tought he knocked their door :)

Luca, did you?
Comment 19 Luca Barbato gentoo-dev 2007-11-14 12:20:39 UTC
Hadn't time to =/
Comment 20 Pat Erley 2007-12-06 02:34:50 UTC
I just noticed linphone 2.0 has dropped upstream.  I haven't had time to test if it will build in our situation, or even if it'll work for those packages that depend on it, but thought the info might be appropriate to the resolution of the bug.
Comment 21 Patrizio Bassi 2007-12-08 17:43:56 UTC
2.0.1 is out but we cannot compile it

we need eXosip bump

checking for eXosip2/eXosip.h... yes
checking for eXosip_subscribe_remove in -leXosip2... no
configure: error: Could not find eXosip2 library with version >= 3.0.2 !
Comment 22 Chí-Thanh Christopher Nguyễn gentoo-dev 2007-12-15 23:49:56 UTC
linphone-2.0.1 is now in the voip overlay
Comment 23 Luca Barbato gentoo-dev 2008-01-09 20:19:29 UTC
stkn would be a problem adding it in the main portage (and patch it to support the new libav)?
Comment 24 SpanKY gentoo-dev 2008-01-14 13:05:17 UTC
sadly, linphone-2.0.1 is still bjorked

as for the screwed up voip overlay handling, that's a different topic
Comment 25 Bertrand Jacquin 2008-01-14 19:57:31 UTC
Is that also the source of this issue :

x86_64-pc-linux-gnu-gcc -I.. -I../../oRTP/include -I/usr/include/ffmpeg -DVIDEO_ENABLED -DORTP_INET6 -march=athlon64 -O2 -pipe -fomit-frame-pointer -DINET6 -Wall -O2 -g -pthread -D_REENTRANT -rdynamic -o .libs/echo echo.o -pthread  ../src/.libs/libmediastreamer.so ../../oRTP/src/.libs/libortp.so /usr/lib64/libasound.so /usr/lib64/libspeex.so -lavcodec -lz /usr/lib64/liba52.so /usr/lib64/libamrnb.so /usr/lib64/libamrwb.so /usr/lib64/libmp3lame.so -lx264 -lxvidcore /usr/lib64/libfaac.so /usr/lib64/libfaad.so /usr/lib64/libX11.so /usr/lib64/libXext.so /usr/lib64/libtheora.so /usr/lib64/libvorbisenc.so -lavutil /usr/lib64/libvorbis.so -lm /usr/lib64/libogg.so -lpthread -lrt -ldl  -Wl,--rpath -Wl,/usr/lib64/linphone
x86_64-pc-linux-gnu-gcc -I.. -I../../oRTP/include -I/usr/include/ffmpeg -DVIDEO_ENABLED -DORTP_INET6 -march=athlon64 -O2 -pipe -fomit-frame-pointer -DINET6 -Wall -O2 -g -pthread -D_REENTRANT -rdynamic -o .libs/ring ring.o -pthread  ../src/.libs/libmediastreamer.so ../../oRTP/src/.libs/libortp.so /usr/lib64/libasound.so /usr/lib64/libspeex.so -lavcodec -lz /usr/lib64/liba52.so /usr/lib64/libamrnb.so /usr/lib64/libamrwb.so /usr/lib64/libmp3lame.so -lx264 -lxvidcore /usr/lib64/libfaac.so /usr/lib64/libfaad.so /usr/lib64/libX11.so /usr/lib64/libXext.so /usr/lib64/libtheora.so /usr/lib64/libvorbisenc.so -lavutil /usr/lib64/libvorbis.so -lm /usr/lib64/libogg.so -lpthread -lrt -ldl  -Wl,--rpath -Wl,/usr/lib64/linphone
../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_state_reset'
../src/.libs/libmediastreamer.so: undefined reference to `sws_scale'
../src/.libs/libmediastreamer.so: undefined reference to `sws_freeContext'
../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_ctl'
../src/.libs/libmediastreamer.so: undefined reference to `speex_preprocess_ctl'
../src/.libs/libmediastreamer.so: undefined reference to `speex_preprocess_state_init'
../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_state_destroy'
../src/.libs/libmediastreamer.so: undefined reference to `sws_getContext'
../src/.libs/libmediastreamer.so: undefined reference to `speex_preprocess'
../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_cancel'
../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_state_init'
../src/.libs/libmediastreamer.so: undefined reference to `speex_preprocess_state_destroy'
collect2: ld returned 1 exit status
make[4]: *** [echo] Erreur 1
make[4]: *** Attente des tâches non terminées....
../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_state_reset'
../src/.libs/libmediastreamer.so: undefined reference to `sws_scale'
../src/.libs/libmediastreamer.so: undefined reference to `sws_freeContext'
../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_ctl'
../src/.libs/libmediastreamer.so: undefined reference to `speex_preprocess_ctl'
../src/.libs/libmediastreamer.so: undefined reference to `speex_preprocess_state_init'
../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_state_destroy'
../src/.libs/libmediastreamer.so: undefined reference to `sws_getContext'
../src/.libs/libmediastreamer.so: undefined reference to `speex_preprocess'
../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_cancel'
../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_state_init'
../src/.libs/libmediastreamer.so: undefined reference to `speex_preprocess_state_destroy'
collect2: ld returned 1 exit status
make[4]: *** [ring] Erreur 1
make[4]: quittant le répertoire « /var/tmp/portage/net-voip/linphone-2.0.1-r1/work/linphone-2.0.1/mediastreamer2/tests »
make[3]: *** [all-recursive] Erreur 1
make[3]: quittant le répertoire « /var/tmp/portage/net-voip/linphone-2.0.1-r1/work/linphone-2.0.1/mediastreamer2 »
make[2]: *** [all] Erreur 2
make[2]: quittant le répertoire « /var/tmp/portage/net-voip/linphone-2.0.1-r1/work/linphone-2.0.1/mediastreamer2 »
make[1]: *** [all-recursive] Erreur 1
make[1]: quittant le répertoire « /var/tmp/portage/net-voip/linphone-2.0.1-r1/work/linphone-2.0.1 »
make: *** [all] Erreur 2
Comment 26 Patrizio Bassi 2008-03-01 13:40:48 UTC
this has been fixed with new linphone revisions, please close
Comment 27 Bernard Cafarelli gentoo-dev 2008-05-14 09:23:04 UTC
(In reply to comment #26)
> this has been fixed with new linphone revisions, please close

It does compile now, however at runtime video window is all green (and unusable), when ffmpeg is built with --enable-swscaler, and everything is OK with --disable-swscaler.

This looks similar:
http://lists.gnu.org/archive/html/linphone-users/2008-04/msg00048.html

media-video/ffmpeg-0.4.9_p20070616-r2
net-voip/linphone-2.1.1
Comment 28 Luca Barbato gentoo-dev 2008-05-14 13:25:15 UTC
try with a later snapshot please
Comment 29 Bernard Cafarelli gentoo-dev 2008-05-15 13:50:35 UTC
Later ffmpeg do not help, however linphone from CVS works ok (CVS version also has fixes for newer ffmpeg as in bug #218102).

I'll look and get a patch from their CVS tree
Comment 30 Bernard Cafarelli gentoo-dev 2008-05-16 07:42:22 UTC
Created attachment 153287 [details, diff]
Upstream patch to fix libswscale use

From the CVS log:
fix behaviour when using libswscale (and not just the emulation in libavcodec)
It was displaying nothing.

Now video works in linphone with swscale-enabled ffmpeg
Comment 31 Łukasz Damentko (RETIRED) gentoo-dev 2008-08-11 00:39:31 UTC
Reassigning back to herd since Stefan has been retired as a Gentoo Developer (#27693).
Comment 32 Samuli Suominen (RETIRED) gentoo-dev 2008-12-11 09:38:14 UTC
*** Bug 218102 has been marked as a duplicate of this bug. ***
Comment 33 Samuli Suominen (RETIRED) gentoo-dev 2008-12-11 09:39:22 UTC
Masked for removal because maintainers don't care to fix it and ffmpeg with libswscale is going stable.
Comment 34 Samuli Suominen (RETIRED) gentoo-dev 2008-12-11 09:41:32 UTC
Another patch from a duplicate bug, http://bugs.gentoo.org/attachment.cgi?id=153291 in case someone is still intrested in fixing this.
Comment 35 Samuli Suominen (RETIRED) gentoo-dev 2008-12-11 15:57:36 UTC
Even if you add both patches, the one included from here and the one I added into comment -- which are both correct you need to run eautoreconf to make them work.

Problem is that all the previous patches are false, and patch generated autotools files directly, such as configure

Another problem here is that the configure will die when you have intltool 0.40.5 installed because of gettext and intltool conflict

So linphone-2.1.1 really is.. totally broken, including the patches.
Comment 36 Samuli Suominen (RETIRED) gentoo-dev 2008-12-11 15:59:38 UTC
Not to mention that portaudio is now unmasked, well as the external other dep. the ebuild should have which is commented out.
Comment 37 SpanKY gentoo-dev 2008-12-12 04:31:04 UTC
that doesnt make sense ... ffmpeg is an optional addon and linphone can still be used fine without it

if ffmpeg is a problem, then we drop the USE in the ebuild, we dont mask + punt
Comment 38 Samuli Suominen (RETIRED) gentoo-dev 2008-12-12 06:19:38 UTC
(In reply to comment #37)
> that doesnt make sense ... ffmpeg is an optional addon and linphone can still
> be used fine without it
> 
> if ffmpeg is a problem, then we drop the USE in the ebuild, we dont mask + punt
> 

And you saw the other comments I added here? The ebuild with it's patches are wrong. Maintainers should wake up and add a working 3.0.0 to tree with correct patches which this bug is all about. Plus, all the previous versions of ffmpeg, below the recent we have now will be package.masked for security issues.

We could easily fix the ffmpeg issues with linphone 2.1.1 but previous maintainers did that impossible for us by patching generated autotools files directly.
Comment 39 Patrizio Bassi 2008-12-13 12:33:51 UTC
well...http://www.linphone.org/index.php/eng/linphone_3_0_0_is_out

3.0 is a major rewrite can we bump it?
Comment 40 Samuli Suominen (RETIRED) gentoo-dev 2008-12-13 12:52:16 UTC
(In reply to comment #39)
> well...http://www.linphone.org/index.php/eng/linphone_3_0_0_is_out
> 
> 3.0 is a major rewrite can we bump it?
> 

It's the only reasonable solution as the current version is beyond repairing unless you rewrite it from scratch, including all the patches. 

Unfortunately nobody has provided an ebuild for 3.0.0 in bug 246494, and voip herd doesn't have developers so Gentoo will lose linphone.
Comment 41 Patrizio Bassi 2008-12-13 12:58:38 UTC
it says that's a 2.99.xx ebuild in the voip overlay
Comment 42 Samuli Suominen (RETIRED) gentoo-dev 2008-12-14 05:29:37 UTC
(In reply to comment #41)
> it says that's a 2.99.xx ebuild in the voip overlay
> 

There was nobody to fix this in Portage so it was removed, see bug 189774.
Moving to maintainer-wanted if users want to pick it up for Sunrise, or
use Voip overlay.
Comment 43 SpanKY gentoo-dev 2008-12-23 03:57:29 UTC
that's crap.  disabling the USE flag is trivial.
Comment 44 SpanKY gentoo-dev 2008-12-23 04:48:29 UTC
USE=video is removed from linphone-2.x and linphone-3.0.0 is in the tree