when compiling eviacam (v 1.70) I came into trouble. Configure runs without any error message, but make or make -deb ends with:
libwebcam.c:2140:8: error: ‘V4L2_CID_HCENTER’ undeclared (first use in this function)
libwebcam.c:2140:8: note: each undeclared identifier is reported only once for each function it appears in
libwebcam.c:2141:8: error: ‘V4L2_CID_VCENTER’ undeclared (first use in this function)
libwebcam.c:2290:2: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
libwebcam.c:2298:2: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
libwebcam.c:2306:2: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
libwebcam.c: In function ‘get_device_dynamics_length’:
libwebcam.c:2459:32: warning: conversion to ‘int’ from ‘size_t’ may change the sign of the result [-Wsign-conversion]
libwebcam.c: In function ‘read_v4l2_control’:
libwebcam.c:2630:50: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
libwebcam.c: In function ‘write_v4l2_control’:
libwebcam.c:2690:18: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
libwebcam.c: In function ‘create_handle’:
libwebcam.c:2793:30: warning: conversion to ‘CHandle’ from ‘int’ may change the sign of the result [-Wsign-conversion]
Sammle erfolglosen Kindprozess 0x092059c8 PID 5002
make[3]: [libwebcam.lo] Fehler 1
Removing child 0x092059c8 PID 5002 from chain.
make[3]: Leaving directory /home/manfred/Downloads/eviacam-1.7.0/creavision/libwebcam'
Sammle erfolglosen Kindprozess 0x09c505f8 PID 4996
make[2]: [all-recursive] Fehler 1
Removing child 0x09c505f8 PID 4996 from chain.
make[2]: Leaving directory/home/manfred/Downloads/eviacam-1.7.0/creavision'
Sammle erfolglosen Kindprozess 0x09bb0810 PID 4990
make[1]: [all-recursive] Fehler 1
Removing child 0x09bb0810 PID 4990 from chain.
crvcamera_v4l2.cpp: In member function ‘bool CCameraV4L2::SetImageFormat()’:
crvcamera_v4l2.cpp:754:23: error: aggregate ‘CCameraV4L2::SetImageFormat()::video_window vwin’ has incomplete type and cannot be defined
crvcamera_v4l2.cpp:755:58: error: ‘VIDIOCGWIN’ was not declared in this scope
crvcamera_v4l2.cpp:758:58: error: ‘VIDIOCSWIN’ was not declared in this scope
make[3]: *** [crvcamera_v4l2.lo] Fehler 1
care11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
when compiling eviacam (v 1.70) I came into trouble. Configure runs without any error message, but make or make -deb ends with:
libwebcam.c:2140:8: error: ‘V4L2_CID_HCENTER’ undeclared (first use in this function)
libwebcam.c:2140:8: note: each undeclared identifier is reported only once for each function it appears in
libwebcam.c:2141:8: error: ‘V4L2_CID_VCENTER’ undeclared (first use in this function)
libwebcam.c:2290:2: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
libwebcam.c:2298:2: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
libwebcam.c:2306:2: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
libwebcam.c: In function ‘get_device_dynamics_length’:
libwebcam.c:2459:32: warning: conversion to ‘int’ from ‘size_t’ may change the sign of the result [-Wsign-conversion]
libwebcam.c: In function ‘read_v4l2_control’:
libwebcam.c:2630:50: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
libwebcam.c: In function ‘write_v4l2_control’:
libwebcam.c:2690:18: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
libwebcam.c: In function ‘create_handle’:
libwebcam.c:2793:30: warning: conversion to ‘CHandle’ from ‘int’ may change the sign of the result [-Wsign-conversion]
Sammle erfolglosen Kindprozess 0x092059c8 PID 5002
make[3]: [libwebcam.lo] Fehler 1
Removing child 0x092059c8 PID 5002 from chain.
make[3]: Leaving directory
/home/manfred/Downloads/eviacam-1.7.0/creavision/libwebcam' Sammle erfolglosen Kindprozess 0x09c505f8 PID 4996 make[2]: [all-recursive] Fehler 1 Removing child 0x09c505f8 PID 4996 from chain. make[2]: Leaving directory
/home/manfred/Downloads/eviacam-1.7.0/creavision'Sammle erfolglosen Kindprozess 0x09bb0810 PID 4990
make[1]: [all-recursive] Fehler 1
Removing child 0x09bb0810 PID 4990 from chain.
My system:
Kernel: 3.9-2.towo-siduction-686-pae i686 (32 bit, gcc: 4.7.3) Desktop: KDE 4.10.4
(Qt 4.8.4)
any help? Thanks
care11
Last edit: Manfred Ilg 2013-06-09
It seems that these controls V4L2_CID_HCENTER and V4L2_CID_VCENTER have been deprecated [1]. Just remove lines 2140 and 2141:
Try again and let me know if it worked.
[1] https://linuxtv.org/patch/10794/
Thanks for your answer, now make ends with:
crvcamera_v4l2.cpp: In member function ‘bool CCameraV4L2::SetImageFormat()’:
crvcamera_v4l2.cpp:754:23: error: aggregate ‘CCameraV4L2::SetImageFormat()::video_window vwin’ has incomplete type and cannot be defined
crvcamera_v4l2.cpp:755:58: error: ‘VIDIOCGWIN’ was not declared in this scope
crvcamera_v4l2.cpp:758:58: error: ‘VIDIOCSWIN’ was not declared in this scope
make[3]: *** [crvcamera_v4l2.lo] Fehler 1
care11
Do you have package 'libv4l-dev' installed?
What is the output of commands
or
?
apt-cache policy libv4l-dev
<
libv4l-dev:
Installiert: 0.8.9-3
Installationskandidat: 0.8.9-3
Versionstabelle:
0.9.5-1 0
1 http://ftp.de.debian.org/debian/ experimental/main i386 Packages
*** 0.8.9-3 0
500 http://ftp.de.debian.org/debian/ sid/main i386 Packages
grep -r video_window /usr/include/
<
/usr/include/libv4l1-videodev.h:struct video_window
/usr/include/libv4l1-videodev.h:#define VIDIOCGWIN _IOR('v',9, struct video_window) / Get the video overlay window /
/usr/include/libv4l1-videodev.h:#define VIDIOCSWIN _IOW('v',10, struct video_window) / Set the video overlay window - passes clip list for hardware smarts , chromakey etc /
/usr/include/libucsi/mpeg/video_window_descriptor.h: * mpeg_video_window_descriptor structure.
/usr/include/libucsi/mpeg/video_window_descriptor.h:struct mpeg_video_window_descriptor {
/usr/include/libucsi/mpeg/video_window_descriptor.h: * Process an mpeg_video_window_descriptor.
/usr/include/libucsi/mpeg/video_window_descriptor.h: * @return Pointer to the mpeg_video_window_descriptor structure, or NULL on error.
/usr/include/libucsi/mpeg/video_window_descriptor.h:static inline struct mpeg_video_window_descriptor
/usr/include/libucsi/mpeg/video_window_descriptor.h: mpeg_video_window_descriptor_codec(struct descriptor d)
/usr/include/libucsi/mpeg/video_window_descriptor.h: if (d->len != (sizeof(struct mpeg_video_window_descriptor) - 2))
/usr/include/libucsi/mpeg/video_window_descriptor.h: return (struct mpeg_video_window_descriptor*) d;
/usr/include/libucsi/mpeg/descriptor.h:#include <libucsi mpeg="" video_window_descriptor.h="">
/usr/include/libucsi/mpeg/descriptor.h: dtag_mpeg_video_window = 0x08,
grep -r VIDIOCGWIN /usr/include/
<
/usr/include/libv4l1-videodev.h:#define VIDIOCGWIN _IOR('v',9, struct video_window) / Get the video overlay window /
care11
Last edit: Manfred Ilg 2013-06-13
Check contents of file creavision/libwebcam/incvideodev.h
Try with
or
or both.
I added both lines and compilation (and the installed eviacam) work!!
Thanks
care11
Great! I updated sources. Changes are available on branch fix_sid_build.
Could you please download a fresh copy of sources and compile again to see if stills works? Source tarball can be downloaded here:
https://sourceforge.net/p/eviacam/eviacam/ci/fix_sid_build/tarball
BTW, according to:
http://packages.debian.org/search?mode=path&suite=sid§ion=all&arch=any&searchon=contents&keywords=videodev.h
videodev.h is not present in debian sid anymore (at least not for standard linux kernels), may be it is a leftover from an older debian version.
It compiles, installs and works fine!
care11