Am Friday 12 March 2010 16:05:01 schrieb Frank Schaefer: > Pascal Stumpf schrieb: > > Well: Since v4l is found on the system by cmake, it tries to > > compile it with webcam support. However, since the necessary > > headers are only included by #ifdef __linux__, compilation fails. I > > It definitely shouldn't fail. The code should compile on non-Linux > systems, too. > Please post the error messages you get with the unmodified code. > > Hmm... Is it possible that FreeBSD claims to be Linux (that __linux__ is > defined there, too) ? ;) Nope, it’s not, and that is exactly the problem. The v4l headers aren’t #included on non-Linux systems, so the v4l_* functions aren’t found. I’ll post the exact error messages when I’m back on FreeBSD. > > > have now tried removing the "defined (__linux__)" stuff in the > > sourcecode, but it seems there are problems with the header > > files provided by the multimedia/v4l_compat port: > > > > [ 0%] Built target kopete_automoc > > [ 10%] Built target kopete > > [ 10%] Built target kopete_videodevice_automoc > > [ 10%] Building CXX object > > libkopete/avdevice/CMakeFiles/kopete_videodevice.dir/kopete_videodevice_a > >utomoc.o In file included from /usr/local/include/linux/videodev.h:17, > > from /home/pascal/src/kopete- > > build/libkopete/avdevice/../../../kopete/libkopete/avdevice/videodevice.h > >:52, from /home/pascal/src/kopete- > > build/libkopete/avdevice/../../../kopete/libkopete/avdevice/videodevicepo > >ol.h:31, from /home/pascal/src/kopete- > > build/libkopete/avdevice/moc_videodevicepool.cpp:10, > > from /home/pascal/src/kopete- > > build/libkopete/avdevice/kopete_videodevice_automoc.cpp:4: > > /usr/local/include/linux/videodev2.h:67: error: declaration does > > not declare anything > > /usr/local/include/linux/videodev2.h:72: error: declaration does > > not declare anything > > *** Error code 1 > > > > Stop in /home/pascal/src/kopete-build. > > *** Error code 1 > > > > Stop in /home/pascal/src/kopete-build. > > *** Error code 1 > > > > Stop in /home/pascal/src/kopete-build. > > > > > > The lines in question are: > > typedef uint64_t __u64; > > and > > typedef int64_t __s64; > > > > Could this possibly have anything to do with the architecture > > (amd64)? :/ > > Hmm, we have the following lines in videodevice.cpp: > > #include <asm/types.h> > #undef __STRICT_ANSI__ > #ifndef __u64 //required by videodev.h > #define __u64 unsigned long long > #endif // __u64 > #ifndef __s64 //required by videodev.h > #define __s64 signed long long > #endif // __s64 > > Wehre did you put the #include for your videodev.h ? I’ve now solved this problem simply by removing the #defines of __u64 and __s64 everywhere in the code. It seems videodev2.h (which is #included by videodev.h) is adding the typedefs for compatibility, but breaks code which does the #defines by itself. :/
So: Kopete now compiled successfully, supposedly with V4L2 support, but I still cannot add a webcam. Is there a way to tell kopete which device to use? Or are there further modifications required? Pascal -- PGP Fingerprint: 05C8 AE29 4147 6933 0EA9 C0C9 89B2 5B38 8AC4 D66B _______________________________________________ kopete-devel mailing list kopete-devel@kde.org https://mail.kde.org/mailman/listinfo/kopete-devel