Menu

compiling eviacam under Debian Sid

General
2013-06-09
2013-06-14
  • Manfred Ilg

    Manfred Ilg - 2013-06-09

    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
  • Cesar Mauri-Loba

    It seems that these controls V4L2_CID_HCENTER and V4L2_CID_VCENTER have been deprecated [1]. Just remove lines 2140 and 2141:

    case V4L2_CID_HCENTER: break; // deprecated
    case V4L2_CID_VCENTER: break; // deprecated
    

    Try again and let me know if it worked.

    [1] https://linuxtv.org/patch/10794/

     
    • Manfred Ilg

      Manfred Ilg - 2013-06-11

      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

       
  • Cesar Mauri-Loba

    Do you have package 'libv4l-dev' installed?

    What is the output of commands

    grep -r video_window /usr/include/
    

    or

    grep -r VIDIOCGWIN /usr/include/
    

    ?

     
  • Manfred Ilg

    Manfred Ilg - 2013-06-13

    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
  • Cesar Mauri-Loba

    Check contents of file creavision/libwebcam/incvideodev.h

    Try with

    #include <linux/videodev.h>
    

    or

    #include <libv4l1-videodev.h>
    

    or both.

     
  • Manfred Ilg

    Manfred Ilg - 2013-06-13

    I added both lines and compilation (and the installed eviacam) work!!

    Thanks

    care11

     
  • Manfred Ilg

    Manfred Ilg - 2013-06-14

    It compiles, installs and works fine!

    care11

     

Log in to post a comment.