Bug 160944 - kopete configure script does not check whether available video4linux (v4l) version is suitable
Summary: kopete configure script does not check whether available video4linux (v4l) ve...
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kopete
Classification: Applications
Component: Audio/Video Plugin (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-17 17:53 UTC by Vincent Rubiolo
Modified: 2013-01-11 22:01 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Patch allowing to bypass the build error (2.48 KB, patch)
2008-04-17 17:55 UTC, Vincent Rubiolo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vincent Rubiolo 2008-04-17 17:53:08 UTC
Version:            (using KDE 3.5.9)
Installed from:    Compiled From Sources
Compiler:          gcc-4.2.1 
OS:                Linux

I am building 3.5.9 from source tarballs on RHEL4 and the build fails with the following :
make[4]: Entering directory `/folk/vrubiolo/Archives/kde-3.5.9-build/kdenetwork-3.5.9/kopete/libkopete/avdevice'
/bin/sh ../../../libtool --silent --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../kopete/protocols/gadu/libgadu  -I/folk/vrubiolo/InstalledProgs/KDE-3.5.9/include -I/usr/lib/qt-3.3/include -I/usr/X11R6/include  -DKDE_NO_COMPAT -DQT_NO_COMPAT -DQT_NO_CAST_ASCII -DQT_NO_ASCII_CAST -I../../../kopete/libkopete -I../../../kopete/libkopete -I../../../kopete/libkopete/avdevice -I../../../kopete/libkopete/ui -I../../../kopete/libkopete/ui -I../../../kopete/libkopete/private -I../../../kopete/libkopete/ui -I/folk/vrubiolo/InstalledProgs/KDE-3.5.9/include -I/usr/lib/qt-3.3/include -I/usr/X11R6/include  -DQT_THREAD_SUPPORT  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES=1  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -MT videocontrol.lo -MD -MP -MF .deps/videocontrol.Tpo -c -o videocontrol.lo videocontrol.cpp
mv -f .deps/videocontrol.Tpo .deps/videocontrol.Plo
/bin/sh ../../../libtool --silent --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../kopete/protocols/gadu/libgadu  -I/folk/vrubiolo/InstalledProgs/KDE-3.5.9/include -I/usr/lib/qt-3.3/include -I/usr/X11R6/include  -DKDE_NO_COMPAT -DQT_NO_COMPAT -DQT_NO_CAST_ASCII -DQT_NO_ASCII_CAST -I../../../kopete/libkopete -I../../../kopete/libkopete -I../../../kopete/libkopete/avdevice -I../../../kopete/libkopete/ui -I../../../kopete/libkopete/ui -I../../../kopete/libkopete/private -I../../../kopete/libkopete/ui -I/folk/vrubiolo/InstalledProgs/KDE-3.5.9/include -I/usr/lib/qt-3.3/include -I/usr/X11R6/include  -DQT_THREAD_SUPPORT  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES=1  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -MT videodevice.lo -MD-MP -MF .deps/videodevice.Tpo -c -o videodevice.lo videodevice.cpp
videodevice.cpp: In member function 'void Kopete::AV::VideoDevice::enumerateMenu()':
videodevice.cpp:70: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'Kopete::AV::pixel_format Kopete::AV::VideoDevice::setPixelFormat(Kopete::AV::pixel_format)':
videodevice.cpp:800: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'int Kopete::AV::VideoDevice::selectInput(int)':
videodevice.cpp:863: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'int Kopete::AV::VideoDevice::setInputParameters()':
videodevice.cpp:909: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'float Kopete::AV::VideoDevice::getBrightness()':
videodevice.cpp:1465: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'float Kopete::AV::VideoDevice::getContrast()':
videodevice.cpp:1535: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'float Kopete::AV::VideoDevice::getSaturation()':
videodevice.cpp:1605: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'float Kopete::AV::VideoDevice::getWhiteness()':
videodevice.cpp:1675: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'float Kopete::AV::VideoDevice::getHue()':
videodevice.cpp:1745: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'bool Kopete::AV::VideoDevice::getAutoBrightnessContrast()':
videodevice.cpp:1816: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'bool Kopete::AV::VideoDevice::setAutoBrightnessContrast(bool)':
videodevice.cpp:1825: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'bool Kopete::AV::VideoDevice::getAutoColorCorrection()':
videodevice.cpp:1837: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'bool Kopete::AV::VideoDevice::setAutoColorCorrection(bool)':
videodevice.cpp:1846: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'bool Kopete::AV::VideoDevice::getImageAsMirror()':
videodevice.cpp:1857: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'bool Kopete::AV::VideoDevice::setImageAsMirror(bool)':
videodevice.cpp:1866: warning: comparison between signed and unsigned integer expressions
videodevice.cpp: In member function 'Kopete::AV::pixel_format Kopete::AV::VideoDevice::pixelFormatForPalette(int)':
videodevice.cpp:1916: error: 'V4L2_PIX_FMT_ET61X251' was not declared in this scope
videodevice.cpp:1922: error: 'V4L2_PIX_FMT_PWC1' was not declared in this scope
videodevice.cpp:1923: error: 'V4L2_PIX_FMT_PWC2' was not declared in this scope
videodevice.cpp: In member function 'int Kopete::AV::VideoDevice::pixelFormatCode(Kopete::AV::pixel_format)':
videodevice.cpp:1996: error: 'V4L2_PIX_FMT_ET61X251' was not declared in this scope
videodevice.cpp:2002: error: 'V4L2_PIX_FMT_PWC1' was not declared in this scope
videodevice.cpp:2003: error: 'V4L2_PIX_FMT_PWC2' was not declared in this scope
videodevice.cpp:1962: warning: enumeration value 'PIXELFORMAT_RGB444' not handled in switch
videodevice.cpp:1962: warning: enumeration value 'PIXELFORMAT_HM12' not handled in switch
videodevice.cpp: In member function 'QString Kopete::AV::VideoDevice::pixelFormatName(int)':
videodevice.cpp:2202: error: 'V4L2_PIX_FMT_ET61X251' was not declared in this scope
videodevice.cpp:2208: error: 'V4L2_PIX_FMT_PWC1' was not declared in this scope
videodevice.cpp:2209: error: 'V4L2_PIX_FMT_PWC2' was not declared in this scope
make[4]: *** [videodevice.lo] Error 1
make[4]: Leaving directory `/folk/vrubiolo/Archives/kde-3.5.9-build/kdenetwork-3.5.9/kopete/libkopete/avdevice'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/folk/vrubiolo/Archives/kde-3.5.9-build/kdenetwork-3.5.9/kopete/libkopete'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/folk/vrubiolo/Archives/kde-3.5.9-build/kdenetwork-3.5.9/kopete'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/folk/vrubiolo/Archives/kde-3.5.9-build/kdenetwork-3.5.9'
make: *** [all] Error 2

Upon investigation, it appears the problem comes from my kernel (2.6.9-67.0.1.EL) video4linux version. kopete makes use of some video format defines which my kernel does not provide. Their availability should be checked by the configure script so that the build does not fail.

I was able to go past the build error by removing support for these formats in the source (patch attached).
Comment 1 Vincent Rubiolo 2008-04-17 17:55:11 UTC
Created attachment 24375 [details]
Patch allowing to bypass the build error

Patch removes support for the problematic video formats.
Comment 2 Dennis Nienhüser 2008-04-27 12:52:28 UTC
Instead of removing support for these versions, the patch should make use of preprocessor macros to hide them conditionally:

#if defined( V4L2_PIX_FMT_ET61X251 )
  case PIXELFORMAT_ET61X251: return V4L2_PIX_FMT_ET61X251; break;
#endif // V4L2_PIX_FMT_ET61X251

and so on. I'd do it myself, but don't have such a rather old kernel at hand to test with.
Comment 3 Vincent Rubiolo 2008-04-29 09:56:41 UTC
I agree on what the patch should do. The problem was not with the preprocessor macros, rather how to hook them to the autotools (which I am not familiar with).

I am available for testing your patch should you need it.
Comment 4 Jo Øiongen 2009-01-20 22:00:36 UTC
Is this still a valid bug? And if it is, will there ever be released a version of Kopete running on KDE3 with this bug fixed? :)
Comment 5 Alex Merry 2009-12-29 17:07:39 UTC
Does this still happen with Kopete based on KDE 4 platform?  The build system has changed considerably since the 3.x series.
Comment 6 Alex Merry 2013-01-11 22:01:02 UTC
No response; assuming this only applied to pre-4.0 versions.