[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#661336: linphone FTBFS on kfreebsd

package: linphone
severity: serious
version: 3.5.2-2
tags: patch
x-debbugs-cc: debian-bsd@lists.debian.org

checking for alloca... yes
checking linux/videodev.h usability... yes
checking linux/videodev.h presence... yes
checking for linux/videodev.h... yes
checking linux/videodev2.h usability... yes
checking linux/videodev2.h presence... yes
checking for linux/videodev2.h... yes
checking for LIBV4L2... no
No libv4l2 found.
checking for LIBV4L1... no
No libv4l1 found.
configure: error:
Missing libv4l2. It is highly recommended to build with
libv4l2 headers and library. Many camera will won't work or will crash
your application if libv4l2 is not installed.
If you know what you are doing, you can use --disable-libv4l2 to disable
this check.

I tried installing libv4l-dev but then the build failed with

 OBJCLD mediastream
../src/.libs/libmediastreamer.so: undefined reference to `v4l_desc'
../src/.libs/libmediastreamer.so: undefined reference to `ms_v4l_desc'
collect2: ld returned 1 exit status
make[5]: *** [mediastream] Error 1
make[5]: Leaving directory `/root/linphone-3.5.2/mediastreamer2/tests'

So I went back and looked at the last successful build log for linphone on kfreebsd and saw

checking for alloca... yes
checking linux/videodev.h usability... no
checking linux/videodev.h presence... no
checking for linux/videodev.h... no
checking linux/videodev2.h usability... no
checking linux/videodev2.h presence... no
checking for linux/videodev2.h... no
checking for LIBV4L2... no
No libv4l2 found.
checking for LIBV4L1... no
No libv4l1 found.
checking for doxygen... /usr/bin/doxygen

I then tried building with --disable-libv4l2 but the package still failed to build with link errors, it seems there is some support in linphone for building directly against v4l without using libv4l2.

To sumarise the situation it seems that kfreebsd now has a version of v4l but linphone doesn't build with it.

I see two courses of action

1: Build with --disable-video on kfreebsd. Afaict this will restore things to the way they were before kfreebsd added v4l support (i'm not a linphone expert though, maybe there is some form of other video support that doesn't rely on v4l, if so please tell us if it's possible to disable just v4l).
2: Fix linphone to work with kfreebsd's variant of v4l.

I've attatched a patch that does the former, ccing debian-bsd to see if anyone is interested in working on the latter.

* It seems that even with --disable-libv4l2 on the command line the package tries to use it anyway if it's present :(
Only in linphone-3.5.2: config.h
diff -ur linphone-3.5.2/debian/rules linphone-3.5.2.new/debian/rules
--- linphone-3.5.2/debian/rules	2012-02-26 14:19:04.000000000 +0000
+++ linphone-3.5.2.new/debian/rules	2012-02-26 14:08:55.000000000 +0000
@@ -2,8 +2,16 @@
 	dh $@ --parallel --with autotools_dev
+DEB_HOST_ARCH_OS ?=$(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+CONFARGS := --disable-strict
+ifeq ($(DEB_HOST_ARCH_OS),kfreebsd)
+  CONFARGS += --disable-video
-	dh_auto_configure -- --disable-strict
+	dh_auto_configure -- $(CONFARGS)
 	dh_makeshlibs -V
Only in linphone-3.5.2: linphone.spec
Only in linphone-3.5.2/mediastreamer2: mediastreamer2.spec
Only in linphone-3.5.2/mediastreamer2/src: gitversion.h
Only in linphone-3.5.2.new/oRTP: doc
Only in linphone-3.5.2/oRTP: ortp.doxygen
Only in linphone-3.5.2/oRTP: ortp.spec

Reply to: