Even with this change, Cinelerra won't compile. See log below. therefore, Cinelerra is broken on linux systems using kernels 2.6.38 (like Ubuntu 11.04). For what is worth, I filed a new bug:
http://bugs.cinelerra.org/ticket/949 Nicola vdevicebuz.C: In constructor 'VDeviceBUZInput::VDeviceBUZInput(VDeviceBUZ*)': vdevicebuz.C:69:63: warning: deprecated conversion from string constant to 'char*' vdevicebuz.C:70:56: warning: deprecated conversion from string constant to 'char*' vdevicebuz.C: In member function 'virtual void VDeviceBUZInput::run()': vdevicebuz.C:118:31: error: 'BASE_VIDIOCPRIVATE' was not declared in this scope vdevicebuz.C:131:44: warning: deprecated conversion from string constant to 'char*' vdevicebuz.C: In member function 'void VDeviceBUZInput::get_buffer(char**, int*)': vdevicebuz.C:159:82: warning: deprecated conversion from string constant to 'char*' vdevicebuz.C:170:50: warning: deprecated conversion from string constant to 'char*' vdevicebuz.C: In member function 'void VDeviceBUZInput::put_buffer()': vdevicebuz.C:184:49: warning: deprecated conversion from string constant to 'char*' vdevicebuz.C: In constructor 'VDeviceBUZ::VDeviceBUZ(VideoDevice*)': vdevicebuz.C:221:49: warning: deprecated conversion from string constant to 'char*' vdevicebuz.C: In member function 'virtual int VDeviceBUZ::set_channel(Channel*)': vdevicebuz.C:370:44: warning: deprecated conversion from string constant to 'char*' vdevicebuz.C: In member function 'virtual int VDeviceBUZ::set_picture(PictureConfig*)': vdevicebuz.C:403:45: warning: deprecated conversion from string constant to 'char*' vdevicebuz.C: In member function 'int VDeviceBUZ::get_norm(int)': vdevicebuz.C:451:30: error: 'VIDEO_MODE_NTSC' was not declared in this scope vdevicebuz.C:452:30: error: 'VIDEO_MODE_PAL' was not declared in this scope vdevicebuz.C:453:30: error: 'VIDEO_MODE_SECAM' was not declared in this scope vdevicebuz.C: In member function 'virtual int VDeviceBUZ::read_buffer(VFrame*)': vdevicebuz.C:459:44: warning: deprecated conversion from string constant to 'char*' vdevicebuz.C: In member function 'int VDeviceBUZ::open_input_core(Channel*)': vdevicebuz.C:524:25: error: aggregate 'VDeviceBUZ::open_input_core(Channel*)::video_channel vch' has incomplete type and cannot be defined vdevicebuz.C:529:24: error: 'VIDIOCSCHAN' was not declared in this scope vdevicebuz.C:541:22: error: 'BASE_VIDIOCPRIVATE' was not declared in this scope vdevicebuz.C:560:22: error: 'BASE_VIDIOCPRIVATE' was not declared in this scope vdevicebuz.C:579:22: error: 'BASE_VIDIOCPRIVATE' was not declared in this scope vdevicebuz.C:593:23: error: aggregate 'VDeviceBUZ::open_input_core(Channel*)::video_picture picture_params' has incomplete type and cannot be defined vdevicebuz.C:595:22: error: 'VIDIOCGPICT' was not declared in this scope vdevicebuz.C:603:22: error: 'VIDIOCSPICT' was not declared in this scope vdevicebuz.C:605:22: error: 'VIDIOCGPICT' was not declared in this scope vdevicebuz.C:614:29: error: 'BASE_VIDIOCPRIVATE' was not declared in this scope vdevicebuz.C: In member function 'int VDeviceBUZ::open_output_core(Channel*)': vdevicebuz.C:641:24: error: aggregate 'VDeviceBUZ::open_output_core(Channel*)::video_channel vch' has incomplete type and cannot be defined vdevicebuz.C:645:23: error: 'VIDIOCSCHAN' was not declared in this scope vdevicebuz.C:651:22: error: 'BASE_VIDIOCPRIVATE' was not declared in this scope vdevicebuz.C:661:22: error: 'BASE_VIDIOCPRIVATE' was not declared in this scope vdevicebuz.C:675:22: error: 'BASE_VIDIOCPRIVATE' was not declared in this scope vdevicebuz.C: In member function 'virtual int VDeviceBUZ::write_buffer(VFrame*, EDL*)': vdevicebuz.C:686:45: warning: deprecated conversion from string constant to 'char*' vdevicebuz.C:742:22: error: 'BASE_VIDIOCPRIVATE' was not declared in this scope make[4]: *** [vdevicebuz.o] Error 1 From: [email protected] To: [email protected] Subject: [CinCV] Videodev.h library non longer supported on kernel 2.6.38 (Cinelerra on Ubuntu 11.04 won't compile) Date: Tue, 15 Feb 2011 14:56:53 -0800 Hi, I am working on making builds available on the next version of Ubuntu (11.04 Natty). As is, cinelerra cannot compile for any architecture because of this error: vdevicebuz.C:48:28: fatal error: linux/videodev.h: No such file or directory compilation terminated. The reason for it is that linux/videodev.h has been removed from kernel 2.3.38. I am currently trying to see if compilation using the still supported linux/videodev2.h works. If it does, packages for Ubuntu will soon appear in cinelerra-ppa, otherwise cinelerra won't be available for Natty (11.04) until the issue is fixed upstream. In any case, I wanted to make sure Cinelerra developers are aware of this issue. Regards, Nicola
