Bug#404113: linphonec segfaults without framebuffer

Joey Korkames joey at llnw.com
Wed Jan 30 00:05:45 UTC 2008


Looking at the linphone source package (unstable - v2.0.1), it appears that the 
linphone2-nox package is merely all the non-graphical bits of a normal 
x11/sdl/directfb build of linphone rather than a separate, stripped down 
build of the entire linphone suite. So it is "lazy linking".

joey:~$ ldd `which linphonec`
        linux-gate.so.1 =>  (0xffffe000)
        liblinphone.so.1 => /usr/lib/liblinphone.so.1 (0xb7f26000)
        libreadline.so.5 => /lib/libreadline.so.5 (0xb7ef6000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7eb4000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7d82000)
        libmediastreamer.so.0 => /usr/lib/libmediastreamer.so.0 (0xb7d4f000)
        libortp.so.5 => /usr/lib/libortp.so.5 (0xb7d3a000)
        libquickstream.so.0 => /usr/lib/libquickstream.so.0 (0xb7d35000)
        libosip2.so.3 => /usr/lib/libosip2.so.3 (0xb7d1e000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7d0b000)
        libosipparser2.so.3 => /usr/lib/libosipparser2.so.3 (0xb7ce0000)
        libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb7cca000)
        librt.so.1 => /lib/tls/librt.so.1 (0xb7cc2000)
        libdl.so.2 => /lib/tls/libdl.so.2 (0xb7cbe000)
        /lib/ld-linux.so.2 (0xb7f6c000)
        libasound.so.2 => /usr/lib/libasound.so.2 (0xb7bfc000)
        libartsc.so.0 => /usr/lib/libartsc.so.0 (0xb7bf6000)
        libspeex.so.1 => /usr/lib/libspeex.so.1 (0xb7bd6000)
        libtheora.so.0 => /usr/lib/libtheora.so.0 (0xb7b9d000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7b89000)
        liba52-0.7.4.so => /usr/lib/liba52-0.7.4.so (0xb7b7e000)
        libgsm.so.1 => /usr/lib/libgsm.so.1 (0xb7b6e000)
        libdc1394_control.so.13 => /usr/lib/libdc1394_control.so.13 
(0xb7b5f000)
        libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb7a63000)
        libraw1394.so.8 => /usr/lib/libraw1394.so.8 (0xb7a5d000)
        libavutil.so.0d => /usr/lib/libavutil.so.0d (0xb7a57000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb7a2f000)
        libm.so.6 => /lib/tls/libm.so.6 (0xb7a0a000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0xb7a04000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7953000)
        libavcodec.so.0d => /usr/lib/libavcodec.so.0d (0xb74da000)
        libdirectfb-0.9.so.25 => /usr/lib/libdirectfb-0.9.so.25 (0xb7483000)
        libfusion-0.9.so.25 => /usr/lib/libfusion-0.9.so.25 (0xb747c000)
        libdirect-0.9.so.25 => /usr/lib/libdirect-0.9.so.25 (0xb746d000)
        libvga.so.1 => /usr/lib/libvga.so.1 (0xb740d000)



Fixing this would require rejigging debian/rules to make a second-pass build 
of linphone with nox-appropriate flags to ./configure....

new configure invocation:
	--prefix=/usr   
	--mandir=\$${prefix}/share/man             
	--infodir=\$${prefix}/share/info
	--disable-strict             
	--disable-static
	--sysconfdir=/etc
	--with-osip=/usr  
	--with-speex=/usr
	--enable-ipv6             
	--disable-video
	--disable-artsc
	--enable-gtk_ui=no

smaller list of dependencies for debian/control:
	pkg-config libosip2-dev libexosip2-dev libasound2-dev 
libjack0.100.0-dev libspeex-dev libsamplerate0-dev libxml-parser-perl 
docbook-utils  libvorbis-dev libreadline5-dev doxygen


Now it looks like this....

joey:~/linphone-2.0.1$ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:./oRTP/src/.libs:./mediastreamer2/src/.libs:./coreapi/.libs" ldd console/.libs/linphonec
        linux-gate.so.1 =>  (0xffffe000)
        liblinphone.so.2 => ./coreapi/.libs/liblinphone.so.2 (0xf7fc8000)
        libreadline.so.5 => /lib/libreadline.so.5 (0xf7f92000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xf7f51000)
        libosipparser2.so.2 => /usr/lib/libosipparser2.so.2 (0xf7f2a000)
        libc.so.6 => /lib/tls/libc.so.6 (0xf7df8000)
        libmediastreamer.so.0 => ./mediastreamer2/src/.libs/libmediastreamer.so.0 (0xf7de3000)
        libortp.so.7 => ./oRTP/src/.libs/libortp.so.7 (0xf7dc8000)
        libeXosip2.so.4 => /usr/lib/libeXosip2.so.4 (0xf7d8d000)
        libosip2.so.2 => /usr/lib/libosip2.so.2 (0xf7d7b000)
        libdl.so.2 => /lib/tls/libdl.so.2 (0xf7d77000)
        /lib/ld-linux.so.2 (0xf7fe7000)
        libasound.so.2 => /usr/lib/libasound.so.2 (0xf7cb5000)
        libspeex.so.1 => /usr/lib/libspeex.so.1 (0xf7c95000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xf7c83000)
        librt.so.1 => /lib/tls/librt.so.1 (0xf7c7b000)
        libm.so.6 => /lib/tls/libm.so.6 (0xf7c56000)
        libnsl.so.1 => /lib/tls/libnsl.so.1 (0xf7c40000)
        libresolv.so.2 => /lib/tls/libresolv.so.2 (0xf7c2c000)

joey:~/linphone-2.0.1$ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:./oRTP/src/.libs:./mediastreamer2/src/.libs:./coreapi/.libs" console/.libs/linphonec
Ready
Warning: video is disabled in linphonec.
linphonec> quit
Terminating...
No active call.

joey:~/linphone-2.0.1$





More information about the Pkg-voip-maintainers mailing list