ptlib & h323plus compile problem on gcc 3.4.3
Hello!
Can't compile Ptlib plugins and H.323 Plus on RHEL4. Please suggest what should I do.
Ptlib:
make opt
g++ -DP_USE_PRAGMA -D_REENTRANT -fno-exceptions -Wall -fPIC -DPIC -DNDEBUG -I/usr/local/dev/h323plus/ptlib/include \ -L/usr/local/dev/h323plus/ptlib/lib \ vidinput_names.cxx \ -I. -shared vidinput_v4l2.cxx -o ../pwlib/device/videoinput/v4l2_pwplugin.so In file included from vidinput_v4l2.cxx:143: vidinput_v4l2.h:165: error: field `videoCapability' has incomplete type vidinput_v4l2.h:166: error: field `videoStreamParm' has incomplete type vidinput_v4l2.cxx:217: error: `V4L2_PIX_FMT_GREY' was not declared in this scope vidinput_v4l2.cxx:218: error: `V4L2_PIX_FMT_RGB32' was not declared in this scope vidinput_v4l2.cxx:219: error: `V4L2_PIX_FMT_BGR32' was not declared in this scope vidinput_v4l2.cxx:220: error: `V4L2_PIX_FMT_RGB24' was not declared in this scope vidinput_v4l2.cxx:221: error: `V4L2_PIX_FMT_BGR24' was not declared in this scope vidinput_v4l2.cxx:222: error: `V4L2_PIX_FMT_RGB565' was not declared in this scope vidinput_v4l2.cxx:223: error: `V4L2_PIX_FMT_RGB555' was not declared in this scope vidinput_v4l2.cxx:224: error: `V4L2_PIX_FMT_Y41P' was not declared in this scope vidinput_v4l2.cxx:225: error: `V4L2_PIX_FMT_YUV411P' was not declared in this scope vidinput_v4l2.cxx:226: error: `V4L2_PIX_FMT_NV21' was not declared in this scope vidinput_v4l2.cxx:227: error: `V4L2_PIX_FMT_YUV420' was not declared in this scope vidinput_v4l2.cxx:228: error: `V4L2_PIX_FMT_YUYV' was not declared in this scope vidinput_v4l2.cxx:229: error: `V4L2_PIX_FMT_YUV422P' was not declared in this scope vidinput_v4l2.cxx:230: error: `V4L2_PIX_FMT_YUYV' was not declared in this scope vidinput_v4l2.cxx:231: error: `V4L2_PIX_FMT_JPEG' was not declared in this scope vidinput_v4l2.cxx:232: error: `v4l2_fourcc' was not declared in this scope vidinput_v4l2.cxx:233: error: `v4l2_fourcc' was not declared in this scope vidinput_v4l2.cxx:234: error: `V4L2_PIX_FMT_MJPEG' was not declared in this scope vidinput_v4l2.cxx:235: error: `V4L2_PIX_FMT_UYVY' was not declared in this scope vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Open(const PString&, BOOL)': vidinput_v4l2.cxx:270: error: `VIDIOC_QUERYCAP' undeclared (first use this function) vidinput_v4l2.cxx:270: error: (Each undeclared identifier is reported only once for each function it appears in.) vidinput_v4l2.cxx:270: error: `videoCapability' undeclared (first use this function) vidinput_v4l2.cxx:277: error: `V4L2_CAP_READWRITE' undeclared (first use this function) vidinput_v4l2.cxx:278: error: `V4L2_CAP_STREAMING' undeclared (first use this function) vidinput_v4l2.cxx:279: error: `V4L2_CAP_ASYNCIO' undeclared (first use this function) vidinput_v4l2.cxx:287: error: `videoStreamParm' undeclared (first use this function) vidinput_v4l2.cxx:287: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:288: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:295: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Start()': vidinput_v4l2.cxx:349: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:353: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:354: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:357: error: `VIDIOC_QBUF' undeclared (first use this function) vidinput_v4l2.cxx:365: error: use of enum `v4l2_buf_type' without previous declaration vidinput_v4l2.cxx:365: error: invalid type in declaration before ';' token vidinput_v4l2.cxx:368: error: `VIDIOC_STREAMON' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Stop()': vidinput_v4l2.cxx:385: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:388: error: `VIDIOC_STREAMOFF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetVideoFormat(PVideoDevice::VideoFormat)': vidinput_v4l2.cxx:434: error: `V4L2_STD_PAL' undeclared (first use this function) vidinput_v4l2.cxx:435: error: `V4L2_STD_NTSC' undeclared (first use this function) vidinput_v4l2.cxx:436: error: `V4L2_STD_SECAM' undeclared (first use this function) vidinput_v4l2.cxx:439: error: `VIDIOC_S_STD' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetNumChannels()': vidinput_v4l2.cxx:454: error: aggregate `v4l2_input videoEnumInput' has incomplete type and cannot be defined vidinput_v4l2.cxx:457: error: `VIDIOC_ENUMINPUT' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetChannel(int)': vidinput_v4l2.cxx:479: error: `VIDIOC_S_INPUT' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetColourFormat(const PString&)': vidinput_v4l2.cxx:518: error: aggregate `v4l2_format videoFormat' has incomplete type and cannot be defined vidinput_v4l2.cxx:519: error: invalid application of `sizeof' to incomplete type `v4l2_format' vidinput_v4l2.cxx:520: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:523: error: aggregate `v4l2_streamparm streamParm' has incomplete type and cannot be defined vidinput_v4l2.cxx:526: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:527: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx:535: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:543: error: `VIDIOC_S_FMT' undeclared (first use this function) vidinput_v4l2.cxx:561: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetFrameRate(unsigned int)': vidinput_v4l2.cxx:589: error: `videoStreamParm' undeclared (first use this function) vidinput_v4l2.cxx:593: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::GetFrameSizeLimits(unsigned int&, unsigned int&, unsigned int&, unsigned int&)': vidinput_v4l2.cxx:619: error: aggregate `v4l2_format fmt' has incomplete type and cannot be defined vidinput_v4l2.cxx:620: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:621: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:626: error: `VIDIOC_TRY_FMT' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::SetMapping()': vidinput_v4l2.cxx:671: error: aggregate `v4l2_requestbuffers reqbuf' has incomplete type and cannot be defined vidinput_v4l2.cxx:673: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:674: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:676: error: `VIDIOC_REQBUFS' undeclared (first use this function) vidinput_v4l2.cxx:680: error: missing `>' to terminate the template argument list vidinput_v4l2.cxx:680: error: missing `>' to terminate the template argument list vidinput_v4l2.cxx:689: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:696: error: `VIDIOC_QUERYBUF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `void PVideoInputDevice_V4L2::ClearMapping()': vidinput_v4l2.cxx:721: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:722: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:723: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:726: error: `VIDIOC_QUERYBUF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::GetFrameDataNoDelay(BYTE*, PINDEX*)': vidinput_v4l2.cxx:758: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:759: error: invalid application of `sizeof' to incomplete type `v4l2_buffer' vidinput_v4l2.cxx:760: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:761: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:764: error: `VIDIOC_DQBUF' undeclared (first use this function) vidinput_v4l2.cxx:789: error: `VIDIOC_QBUF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::VerifyHardwareFrameSize(unsigned int, unsigned int)': vidinput_v4l2.cxx:832: error: aggregate `v4l2_format videoFormat' has incomplete type and cannot be defined vidinput_v4l2.cxx:833: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:834: error: aggregate `v4l2_streamparm streamParm' has incomplete type and cannot be defined vidinput_v4l2.cxx:839: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:846: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:847: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx:858: error: `VIDIOC_S_FMT' undeclared (first use this function) vidinput_v4l2.cxx:878: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `int PVideoInputDevice_V4L2::GetControlCommon(unsigned int, int*)': vidinput_v4l2.cxx:902: error: aggregate `v4l2_queryctrl q' has incomplete type and cannot be defined vidinput_v4l2.cxx:903: error: invalid application of `sizeof' to incomplete type `v4l2_queryctrl' vidinput_v4l2.cxx:905: error: `VIDIOC_QUERYCTRL' undeclared (first use this function) vidinput_v4l2.cxx:908: error: aggregate `v4l2_control c' has incomplete type and cannot be defined vidinput_v4l2.cxx:909: error: invalid application of `sizeof' to incomplete type `v4l2_control' vidinput_v4l2.cxx:911: error: `VIDIOC_G_CTRL' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetBrightness()': vidinput_v4l2.cxx:920: error: `V4L2_CID_BRIGHTNESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetWhiteness()': vidinput_v4l2.cxx:925: error: `V4L2_CID_WHITENESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetColour()': vidinput_v4l2.cxx:930: error: `V4L2_CID_SATURATION' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetContrast()': vidinput_v4l2.cxx:935: error: `V4L2_CID_CONTRAST' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetHue()': vidinput_v4l2.cxx:940: error: `V4L2_CID_HUE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::SetControlCommon(unsigned int, int)': vidinput_v4l2.cxx:961: error: aggregate `v4l2_queryctrl q' has incomplete type and cannot be defined vidinput_v4l2.cxx:962: error: invalid application of `sizeof' to incomplete type `v4l2_queryctrl' vidinput_v4l2.cxx:964: error: `VIDIOC_QUERYCTRL' undeclared (first use this function) vidinput_v4l2.cxx:967: error: aggregate `v4l2_control c' has incomplete type and cannot be defined vidinput_v4l2.cxx:968: error: invalid application of `sizeof' to incomplete type `v4l2_control' vidinput_v4l2.cxx:975: error: `VIDIOC_S_CTRL' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetBrightness(unsigned int)': vidinput_v4l2.cxx:983: error: `V4L2_CID_BRIGHTNESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetWhiteness(unsigned int)': vidinput_v4l2.cxx:991: error: `V4L2_CID_WHITENESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetColour(unsigned int)': vidinput_v4l2.cxx:1000: error: `V4L2_CID_SATURATION' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetContrast(unsigned int)': vidinput_v4l2.cxx:1008: error: `V4L2_CID_CONTRAST' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetHue(unsigned int)': vidinput_v4l2.cxx:1016: error: `V4L2_CID_HUE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual void V4L2Names::Update()': vidinput_v4l2.cxx:1092: error: aggregate `v4l2_capability videoCaps' has incomplete type and cannot be defined vidinput_v4l2.cxx:1095: error: `VIDIOC_QUERYCAP' undeclared (first use this function) vidinput_v4l2.cxx:1096: error: `V4L2_CAP_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual PString V4L2Names::BuildUserFriendly(PString)': vidinput_v4l2.cxx:1144: error: aggregate `v4l2_capability videocap' has incomplete type and cannot be defined vidinput_v4l2.cxx:1146: error: `VIDIOC_QUERYCAP' undeclared (first use this function) make[2]: *** [../pwlib/device/videoinput/v4l2_pwplugin.so] Error 1 make[2]: Leaving directory `/usr/local/dev/h323plus/ptlib_v1_12_0/plugins/vidinput_v4l2' make[1]: *** [opt] Error 2 make[1]: Leaving directory `/usr/local/dev/h323plus/ptlib_v1_12_0/plugins' make: *** [opt] Error 2
H.323 Plus:
make opt
g++ -DP_USE_PRAGMA -D_REENTRANT -fno-exceptions -Wall -fPIC -DPIC -DNDEBUG -DPTRACING -I/usr/local/dev/h323plus/openh323/include -I/usr/local/dev/h323plus/ptlib/include -Os -felide-constructors -Wreorder -c h323filetransfer.cxx -o /usr/local/dev/h323plus/openh323/lib/obj_linux_x86_r/h323filetransfer.o h323filetransfer.cxx: In member function `BOOL H323FileTransferCapability::OnReceivedPDU(const H245_GenericCapability&)': h323filetransfer.cxx:158: error: passing `const H245_ParameterIdentifier' as `this' argument of `PASN_Choice::operator PASN_Integer&()' discards qualifiers h323filetransfer.cxx:160: error: passing `const H245_ParameterValue' as `this' argument of `PASN_Choice::operator PASN_Integer&()' discards qualifiers h323filetransfer.cxx: In member function `virtual BOOL H323FileTransferChannel::Start()': h323filetransfer.cxx:302: warning: casting `H323Capability*' to `const H323FileTransferCapability&' does not dereference pointer h323filetransfer.cxx:305: warning: casting `H323Capability*' to `const H323FileTransferCapability&' does not dereference pointer h323filetransfer.cxx: In member function `H323FilePacket::opcodes H323FilePacket::GetPacketType()': h323filetransfer.cxx:1342: warning: cast to pointer from integer of different size make[1]: *** [/usr/local/dev/h323plus/openh323/lib/obj_linux_x86_r/h323filetransfer.o] Error 1 make[1]: Leaving directory `/usr/local/dev/h323plus/h323plus/src' make: *** [opt] Error 2
gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.3/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux Thread model: posix gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)
Denis Kochmashev wrote:
Hello!
Can't compile Ptlib plugins and H.323 Plus on RHEL4. Please suggest what should I do.
..deleted
Looks like the V4L2 headers are incomplete or obsolete. RHEL4 is quite old - can you upgrade?
Craig
----------------------------------------------------------------------- Craig Southeren Post Increment – VoIP Consulting and Software craigs@postincrement.com.au www.postincrement.com.au
Phone: +61 243654666 ICQ: #86852844 Fax: +61 243656905 MSN: craig_southeren@hotmail.com Mobile: +61 417231046 Jabber: craigs@jabber.org
"Science is the poetry of reality." Richard Dawkins
Denis
The quickest fix is to compile
ptlib with --disable-v4l2 option and h323plus with --disable-file option
I have now patched the filetransfer support for older GCC versions
Regards Simon
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of Denis Kochmashev Sent: Tuesday, February 12, 2008 3:09 PM To: h323plus@lists.packetizer.com Subject: [h323plus] ptlib & h323plus compile problem on gcc 3.4.3
Hello!
Can't compile Ptlib plugins and H.323 Plus on RHEL4. Please suggest what should I do.
Ptlib:
make opt
g++ -DP_USE_PRAGMA -D_REENTRANT -fno-exceptions -Wall -fPIC -DPIC -DNDEBUG -I/usr/local/dev/h323plus/ptlib/include \ -L/usr/local/dev/h323plus/ptlib/lib \ vidinput_names.cxx \ -I. -shared vidinput_v4l2.cxx -o ../pwlib/device/videoinput/v4l2_pwplugin.so In file included from vidinput_v4l2.cxx:143: vidinput_v4l2.h:165: error: field `videoCapability' has incomplete type vidinput_v4l2.h:166: error: field `videoStreamParm' has incomplete type vidinput_v4l2.cxx:217: error: `V4L2_PIX_FMT_GREY' was not declared in this scope vidinput_v4l2.cxx:218: error: `V4L2_PIX_FMT_RGB32' was not declared in this scope vidinput_v4l2.cxx:219: error: `V4L2_PIX_FMT_BGR32' was not declared in this scope vidinput_v4l2.cxx:220: error: `V4L2_PIX_FMT_RGB24' was not declared in this scope vidinput_v4l2.cxx:221: error: `V4L2_PIX_FMT_BGR24' was not declared in this scope vidinput_v4l2.cxx:222: error: `V4L2_PIX_FMT_RGB565' was not declared in this scope vidinput_v4l2.cxx:223: error: `V4L2_PIX_FMT_RGB555' was not declared in this scope vidinput_v4l2.cxx:224: error: `V4L2_PIX_FMT_Y41P' was not declared in this scope vidinput_v4l2.cxx:225: error: `V4L2_PIX_FMT_YUV411P' was not declared in this scope vidinput_v4l2.cxx:226: error: `V4L2_PIX_FMT_NV21' was not declared in this scope vidinput_v4l2.cxx:227: error: `V4L2_PIX_FMT_YUV420' was not declared in this scope vidinput_v4l2.cxx:228: error: `V4L2_PIX_FMT_YUYV' was not declared in this scope vidinput_v4l2.cxx:229: error: `V4L2_PIX_FMT_YUV422P' was not declared in this scope vidinput_v4l2.cxx:230: error: `V4L2_PIX_FMT_YUYV' was not declared in this scope vidinput_v4l2.cxx:231: error: `V4L2_PIX_FMT_JPEG' was not declared in this scope vidinput_v4l2.cxx:232: error: `v4l2_fourcc' was not declared in this scope vidinput_v4l2.cxx:233: error: `v4l2_fourcc' was not declared in this scope vidinput_v4l2.cxx:234: error: `V4L2_PIX_FMT_MJPEG' was not declared in this scope vidinput_v4l2.cxx:235: error: `V4L2_PIX_FMT_UYVY' was not declared in this scope vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Open(const PString&, BOOL)': vidinput_v4l2.cxx:270: error: `VIDIOC_QUERYCAP' undeclared (first use this function) vidinput_v4l2.cxx:270: error: (Each undeclared identifier is reported only once for each function it appears in.) vidinput_v4l2.cxx:270: error: `videoCapability' undeclared (first use this function) vidinput_v4l2.cxx:277: error: `V4L2_CAP_READWRITE' undeclared (first use this function) vidinput_v4l2.cxx:278: error: `V4L2_CAP_STREAMING' undeclared (first use this function) vidinput_v4l2.cxx:279: error: `V4L2_CAP_ASYNCIO' undeclared (first use this function) vidinput_v4l2.cxx:287: error: `videoStreamParm' undeclared (first use this function) vidinput_v4l2.cxx:287: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:288: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:295: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Start()': vidinput_v4l2.cxx:349: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:353: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:354: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:357: error: `VIDIOC_QBUF' undeclared (first use this function) vidinput_v4l2.cxx:365: error: use of enum `v4l2_buf_type' without previous declaration vidinput_v4l2.cxx:365: error: invalid type in declaration before ';' token vidinput_v4l2.cxx:368: error: `VIDIOC_STREAMON' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Stop()': vidinput_v4l2.cxx:385: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:388: error: `VIDIOC_STREAMOFF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetVideoFormat(PVideoDevice::VideoFormat)': vidinput_v4l2.cxx:434: error: `V4L2_STD_PAL' undeclared (first use this function) vidinput_v4l2.cxx:435: error: `V4L2_STD_NTSC' undeclared (first use this function) vidinput_v4l2.cxx:436: error: `V4L2_STD_SECAM' undeclared (first use this function) vidinput_v4l2.cxx:439: error: `VIDIOC_S_STD' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetNumChannels()': vidinput_v4l2.cxx:454: error: aggregate `v4l2_input videoEnumInput' has incomplete type and cannot be defined vidinput_v4l2.cxx:457: error: `VIDIOC_ENUMINPUT' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetChannel(int)': vidinput_v4l2.cxx:479: error: `VIDIOC_S_INPUT' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetColourFormat(const PString&)': vidinput_v4l2.cxx:518: error: aggregate `v4l2_format videoFormat' has incomplete type and cannot be defined vidinput_v4l2.cxx:519: error: invalid application of `sizeof' to incomplete type `v4l2_format' vidinput_v4l2.cxx:520: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:523: error: aggregate `v4l2_streamparm streamParm' has incomplete type and cannot be defined vidinput_v4l2.cxx:526: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:527: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx:535: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:543: error: `VIDIOC_S_FMT' undeclared (first use this function) vidinput_v4l2.cxx:561: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetFrameRate(unsigned int)': vidinput_v4l2.cxx:589: error: `videoStreamParm' undeclared (first use this function) vidinput_v4l2.cxx:593: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::GetFrameSizeLimits(unsigned int&, unsigned int&, unsigned int&, unsigned int&)': vidinput_v4l2.cxx:619: error: aggregate `v4l2_format fmt' has incomplete type and cannot be defined vidinput_v4l2.cxx:620: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:621: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:626: error: `VIDIOC_TRY_FMT' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::SetMapping()': vidinput_v4l2.cxx:671: error: aggregate `v4l2_requestbuffers reqbuf' has incomplete type and cannot be defined vidinput_v4l2.cxx:673: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:674: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:676: error: `VIDIOC_REQBUFS' undeclared (first use this function) vidinput_v4l2.cxx:680: error: missing `>' to terminate the template argument list vidinput_v4l2.cxx:680: error: missing `>' to terminate the template argument list vidinput_v4l2.cxx:689: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:696: error: `VIDIOC_QUERYBUF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `void PVideoInputDevice_V4L2::ClearMapping()': vidinput_v4l2.cxx:721: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:722: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:723: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:726: error: `VIDIOC_QUERYBUF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::GetFrameDataNoDelay(BYTE*, PINDEX*)': vidinput_v4l2.cxx:758: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:759: error: invalid application of `sizeof' to incomplete type `v4l2_buffer' vidinput_v4l2.cxx:760: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:761: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:764: error: `VIDIOC_DQBUF' undeclared (first use this function) vidinput_v4l2.cxx:789: error: `VIDIOC_QBUF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::VerifyHardwareFrameSize(unsigned int, unsigned int)': vidinput_v4l2.cxx:832: error: aggregate `v4l2_format videoFormat' has incomplete type and cannot be defined vidinput_v4l2.cxx:833: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:834: error: aggregate `v4l2_streamparm streamParm' has incomplete type and cannot be defined vidinput_v4l2.cxx:839: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:846: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:847: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx:858: error: `VIDIOC_S_FMT' undeclared (first use this function) vidinput_v4l2.cxx:878: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `int PVideoInputDevice_V4L2::GetControlCommon(unsigned int, int*)': vidinput_v4l2.cxx:902: error: aggregate `v4l2_queryctrl q' has incomplete type and cannot be defined vidinput_v4l2.cxx:903: error: invalid application of `sizeof' to incomplete type `v4l2_queryctrl' vidinput_v4l2.cxx:905: error: `VIDIOC_QUERYCTRL' undeclared (first use this function) vidinput_v4l2.cxx:908: error: aggregate `v4l2_control c' has incomplete type and cannot be defined vidinput_v4l2.cxx:909: error: invalid application of `sizeof' to incomplete type `v4l2_control' vidinput_v4l2.cxx:911: error: `VIDIOC_G_CTRL' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetBrightness()': vidinput_v4l2.cxx:920: error: `V4L2_CID_BRIGHTNESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetWhiteness()': vidinput_v4l2.cxx:925: error: `V4L2_CID_WHITENESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetColour()': vidinput_v4l2.cxx:930: error: `V4L2_CID_SATURATION' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetContrast()': vidinput_v4l2.cxx:935: error: `V4L2_CID_CONTRAST' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetHue()': vidinput_v4l2.cxx:940: error: `V4L2_CID_HUE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::SetControlCommon(unsigned int, int)': vidinput_v4l2.cxx:961: error: aggregate `v4l2_queryctrl q' has incomplete type and cannot be defined vidinput_v4l2.cxx:962: error: invalid application of `sizeof' to incomplete type `v4l2_queryctrl' vidinput_v4l2.cxx:964: error: `VIDIOC_QUERYCTRL' undeclared (first use this function) vidinput_v4l2.cxx:967: error: aggregate `v4l2_control c' has incomplete type and cannot be defined vidinput_v4l2.cxx:968: error: invalid application of `sizeof' to incomplete type `v4l2_control' vidinput_v4l2.cxx:975: error: `VIDIOC_S_CTRL' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetBrightness(unsigned int)': vidinput_v4l2.cxx:983: error: `V4L2_CID_BRIGHTNESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetWhiteness(unsigned int)': vidinput_v4l2.cxx:991: error: `V4L2_CID_WHITENESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetColour(unsigned int)': vidinput_v4l2.cxx:1000: error: `V4L2_CID_SATURATION' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetContrast(unsigned int)': vidinput_v4l2.cxx:1008: error: `V4L2_CID_CONTRAST' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetHue(unsigned int)': vidinput_v4l2.cxx:1016: error: `V4L2_CID_HUE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual void V4L2Names::Update()': vidinput_v4l2.cxx:1092: error: aggregate `v4l2_capability videoCaps' has incomplete type and cannot be defined vidinput_v4l2.cxx:1095: error: `VIDIOC_QUERYCAP' undeclared (first use this function) vidinput_v4l2.cxx:1096: error: `V4L2_CAP_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual PString V4L2Names::BuildUserFriendly(PString)': vidinput_v4l2.cxx:1144: error: aggregate `v4l2_capability videocap' has incomplete type and cannot be defined vidinput_v4l2.cxx:1146: error: `VIDIOC_QUERYCAP' undeclared (first use this function) make[2]: *** [../pwlib/device/videoinput/v4l2_pwplugin.so] Error 1 make[2]: Leaving directory `/usr/local/dev/h323plus/ptlib_v1_12_0/plugins/vidinput_v4l2' make[1]: *** [opt] Error 2 make[1]: Leaving directory `/usr/local/dev/h323plus/ptlib_v1_12_0/plugins' make: *** [opt] Error 2
H.323 Plus:
make opt
g++ -DP_USE_PRAGMA -D_REENTRANT -fno-exceptions -Wall -fPIC -DPIC -DNDEBUG -DPTRACING -I/usr/local/dev/h323plus/openh323/include -I/usr/local/dev/h323plus/ptlib/include -Os -felide-constructors -Wreorder -c h323filetransfer.cxx -o /usr/local/dev/h323plus/openh323/lib/obj_linux_x86_r/h323filetransfer.o h323filetransfer.cxx: In member function `BOOL H323FileTransferCapability::OnReceivedPDU(const H245_GenericCapability&)': h323filetransfer.cxx:158: error: passing `const H245_ParameterIdentifier' as `this' argument of `PASN_Choice::operator PASN_Integer&()' discards qualifiers h323filetransfer.cxx:160: error: passing `const H245_ParameterValue' as `this' argument of `PASN_Choice::operator PASN_Integer&()' discards qualifiers h323filetransfer.cxx: In member function `virtual BOOL H323FileTransferChannel::Start()': h323filetransfer.cxx:302: warning: casting `H323Capability*' to `const H323FileTransferCapability&' does not dereference pointer h323filetransfer.cxx:305: warning: casting `H323Capability*' to `const H323FileTransferCapability&' does not dereference pointer h323filetransfer.cxx: In member function `H323FilePacket::opcodes H323FilePacket::GetPacketType()': h323filetransfer.cxx:1342: warning: cast to pointer from integer of different size make[1]: *** [/usr/local/dev/h323plus/openh323/lib/obj_linux_x86_r/h323filetransfer.o] Error 1 make[1]: Leaving directory `/usr/local/dev/h323plus/h323plus/src' make: *** [opt] Error 2
gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.3/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux Thread model: posix gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)
Thanks, Simon!
Your advice helped. But now I have the next problem. When I try to compile gnugk from cvs with options: --enable-radius --disable-mysql --disable-pgsql --disable-firebird --with-large-fdset=16384, I get these messages:
g++ -o obj_linux_x86_r/gnugk -L/usr/local/dev/h323plus/ptlib/lib -L/usr/local/dev/h323plus/openh323/lib ./obj_linux_x86_r/main.o ./obj_linux_x86_r/singleton.o ./obj_linux_x86_r/job.o ./obj_linux_x86_r/yasocket.o ./obj_linux_x86_r/h323util.o ./obj_linux_x86_r/Toolkit.o ./obj_linux_x86_r/SoftPBX.o ./obj_linux_x86_r/GkStatus.o ./obj_linux_x86_r/RasTbl.o ./obj_linux_x86_r/Routing.o ./obj_linux_x86_r/Neighbor.o ./obj_linux_x86_r/GkClient.o ./obj_linux_x86_r/gkauth.o ./obj_linux_x86_r/RasSrv.o ./obj_linux_x86_r/ProxyChannel.o ./obj_linux_x86_r/gk.o ./obj_linux_x86_r/version.o ./obj_linux_x86_r/gkacct.o ./obj_linux_x86_r/gktimer.o ./obj_linux_x86_r/gkconfig.o ./obj_linux_x86_r/sigmsg.o ./obj_linux_x86_r/clirw.o ./obj_linux_x86_r/cisco.o ./obj_linux_x86_r/ipauth.o ./obj_linux_x86_r/statusacct.o ./obj_linux_x86_r/syslogacct.o ./obj_linux_x86_r/capctrl.o ./obj_linux_x86_r/MakeCall.o ./obj_linux_x86_r/radproto.o ./obj_linux_x86_r/radauth.o ./obj_linux_x86_r/radacct.o -lh323_linux_x86_r -lpt_linux_x86_r -lldap -llber -lldap_r -lpthread -lsasl2 -lssl -lcrypto -lexpat -lSDL -lodbc -lresolv -ldl /usr/local/dev/h323plus/ptlib/lib/libpt_linux_x86_r.so: undefined reference to `BIO_set_flags' /usr/local/dev/h323plus/openh323/lib/libh323_linux_x86_r.so: undefined reference to `H323PluginCodecManager::H323PluginCodecManager(PPluginManager*)' /usr/local/dev/h323plus/openh323/lib/libh323_linux_x86_r.so: undefined reference to `H323PluginCodecManager::Bootstrap()' /usr/local/dev/h323plus/ptlib/lib/libpt_linux_x86_r.so: undefined reference to `BIO_clear_flags' collect2: ld returned 1 exit status make: *** [obj_linux_x86_r/gnugk] Error 1
Is there any way to compile gnugk 2.2.7 with h323plus 1.20.2 with my old gcc 3.4.3 ?
Upgrade is not possible at the moment :(
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com] On Behalf Of Simon Horne Sent: Tuesday, February 12, 2008 11:19 AM To: H323plus Subject: Re: [h323plus] ptlib & h323plus compile problem on gcc 3.4.3
Denis
The quickest fix is to compile
ptlib with --disable-v4l2 option and h323plus with --disable-file option
I have now patched the filetransfer support for older GCC versions
Regards Simon
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of Denis Kochmashev Sent: Tuesday, February 12, 2008 3:09 PM To: h323plus@lists.packetizer.com Subject: [h323plus] ptlib & h323plus compile problem on gcc 3.4.3
Hello!
Can't compile Ptlib plugins and H.323 Plus on RHEL4. Please suggest what should I do.
Ptlib:
make opt
g++ -DP_USE_PRAGMA -D_REENTRANT -fno-exceptions -Wall -fPIC -DPIC -DNDEBUG -I/usr/local/dev/h323plus/ptlib/include \ -L/usr/local/dev/h323plus/ptlib/lib \ vidinput_names.cxx \ -I. -shared vidinput_v4l2.cxx -o ../pwlib/device/videoinput/v4l2_pwplugin.so In file included from vidinput_v4l2.cxx:143: vidinput_v4l2.h:165: error: field `videoCapability' has incomplete type vidinput_v4l2.h:166: error: field `videoStreamParm' has incomplete type vidinput_v4l2.cxx:217: error: `V4L2_PIX_FMT_GREY' was not declared in this scope vidinput_v4l2.cxx:218: error: `V4L2_PIX_FMT_RGB32' was not declared in this scope vidinput_v4l2.cxx:219: error: `V4L2_PIX_FMT_BGR32' was not declared in this scope vidinput_v4l2.cxx:220: error: `V4L2_PIX_FMT_RGB24' was not declared in this scope vidinput_v4l2.cxx:221: error: `V4L2_PIX_FMT_BGR24' was not declared in this scope vidinput_v4l2.cxx:222: error: `V4L2_PIX_FMT_RGB565' was not declared in this scope vidinput_v4l2.cxx:223: error: `V4L2_PIX_FMT_RGB555' was not declared in this scope vidinput_v4l2.cxx:224: error: `V4L2_PIX_FMT_Y41P' was not declared in this scope vidinput_v4l2.cxx:225: error: `V4L2_PIX_FMT_YUV411P' was not declared in this scope vidinput_v4l2.cxx:226: error: `V4L2_PIX_FMT_NV21' was not declared in this scope vidinput_v4l2.cxx:227: error: `V4L2_PIX_FMT_YUV420' was not declared in this scope vidinput_v4l2.cxx:228: error: `V4L2_PIX_FMT_YUYV' was not declared in this scope vidinput_v4l2.cxx:229: error: `V4L2_PIX_FMT_YUV422P' was not declared in this scope vidinput_v4l2.cxx:230: error: `V4L2_PIX_FMT_YUYV' was not declared in this scope vidinput_v4l2.cxx:231: error: `V4L2_PIX_FMT_JPEG' was not declared in this scope vidinput_v4l2.cxx:232: error: `v4l2_fourcc' was not declared in this scope vidinput_v4l2.cxx:233: error: `v4l2_fourcc' was not declared in this scope vidinput_v4l2.cxx:234: error: `V4L2_PIX_FMT_MJPEG' was not declared in this scope vidinput_v4l2.cxx:235: error: `V4L2_PIX_FMT_UYVY' was not declared in this scope vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Open(const PString&, BOOL)': vidinput_v4l2.cxx:270: error: `VIDIOC_QUERYCAP' undeclared (first use this function) vidinput_v4l2.cxx:270: error: (Each undeclared identifier is reported only once for each function it appears in.) vidinput_v4l2.cxx:270: error: `videoCapability' undeclared (first use this function) vidinput_v4l2.cxx:277: error: `V4L2_CAP_READWRITE' undeclared (first use this function) vidinput_v4l2.cxx:278: error: `V4L2_CAP_STREAMING' undeclared (first use this function) vidinput_v4l2.cxx:279: error: `V4L2_CAP_ASYNCIO' undeclared (first use this function) vidinput_v4l2.cxx:287: error: `videoStreamParm' undeclared (first use this function) vidinput_v4l2.cxx:287: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:288: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:295: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Start()': vidinput_v4l2.cxx:349: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:353: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:354: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:357: error: `VIDIOC_QBUF' undeclared (first use this function) vidinput_v4l2.cxx:365: error: use of enum `v4l2_buf_type' without previous declaration vidinput_v4l2.cxx:365: error: invalid type in declaration before ';' token vidinput_v4l2.cxx:368: error: `VIDIOC_STREAMON' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Stop()': vidinput_v4l2.cxx:385: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:388: error: `VIDIOC_STREAMOFF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetVideoFormat(PVideoDevice::VideoFormat)': vidinput_v4l2.cxx:434: error: `V4L2_STD_PAL' undeclared (first use this function) vidinput_v4l2.cxx:435: error: `V4L2_STD_NTSC' undeclared (first use this function) vidinput_v4l2.cxx:436: error: `V4L2_STD_SECAM' undeclared (first use this function) vidinput_v4l2.cxx:439: error: `VIDIOC_S_STD' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetNumChannels()': vidinput_v4l2.cxx:454: error: aggregate `v4l2_input videoEnumInput' has incomplete type and cannot be defined vidinput_v4l2.cxx:457: error: `VIDIOC_ENUMINPUT' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetChannel(int)': vidinput_v4l2.cxx:479: error: `VIDIOC_S_INPUT' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetColourFormat(const PString&)': vidinput_v4l2.cxx:518: error: aggregate `v4l2_format videoFormat' has incomplete type and cannot be defined vidinput_v4l2.cxx:519: error: invalid application of `sizeof' to incomplete type `v4l2_format' vidinput_v4l2.cxx:520: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:523: error: aggregate `v4l2_streamparm streamParm' has incomplete type and cannot be defined vidinput_v4l2.cxx:526: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:527: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx:535: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:543: error: `VIDIOC_S_FMT' undeclared (first use this function) vidinput_v4l2.cxx:561: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetFrameRate(unsigned int)': vidinput_v4l2.cxx:589: error: `videoStreamParm' undeclared (first use this function) vidinput_v4l2.cxx:593: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::GetFrameSizeLimits(unsigned int&, unsigned int&, unsigned int&, unsigned int&)': vidinput_v4l2.cxx:619: error: aggregate `v4l2_format fmt' has incomplete type and cannot be defined vidinput_v4l2.cxx:620: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:621: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:626: error: `VIDIOC_TRY_FMT' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::SetMapping()': vidinput_v4l2.cxx:671: error: aggregate `v4l2_requestbuffers reqbuf' has incomplete type and cannot be defined vidinput_v4l2.cxx:673: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:674: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:676: error: `VIDIOC_REQBUFS' undeclared (first use this function) vidinput_v4l2.cxx:680: error: missing `>' to terminate the template argument list vidinput_v4l2.cxx:680: error: missing `>' to terminate the template argument list vidinput_v4l2.cxx:689: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:696: error: `VIDIOC_QUERYBUF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `void PVideoInputDevice_V4L2::ClearMapping()': vidinput_v4l2.cxx:721: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:722: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:723: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:726: error: `VIDIOC_QUERYBUF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::GetFrameDataNoDelay(BYTE*, PINDEX*)': vidinput_v4l2.cxx:758: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:759: error: invalid application of `sizeof' to incomplete type `v4l2_buffer' vidinput_v4l2.cxx:760: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:761: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:764: error: `VIDIOC_DQBUF' undeclared (first use this function) vidinput_v4l2.cxx:789: error: `VIDIOC_QBUF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::VerifyHardwareFrameSize(unsigned int, unsigned int)': vidinput_v4l2.cxx:832: error: aggregate `v4l2_format videoFormat' has incomplete type and cannot be defined vidinput_v4l2.cxx:833: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:834: error: aggregate `v4l2_streamparm streamParm' has incomplete type and cannot be defined vidinput_v4l2.cxx:839: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:846: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:847: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx:858: error: `VIDIOC_S_FMT' undeclared (first use this function) vidinput_v4l2.cxx:878: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `int PVideoInputDevice_V4L2::GetControlCommon(unsigned int, int*)': vidinput_v4l2.cxx:902: error: aggregate `v4l2_queryctrl q' has incomplete type and cannot be defined vidinput_v4l2.cxx:903: error: invalid application of `sizeof' to incomplete type `v4l2_queryctrl' vidinput_v4l2.cxx:905: error: `VIDIOC_QUERYCTRL' undeclared (first use this function) vidinput_v4l2.cxx:908: error: aggregate `v4l2_control c' has incomplete type and cannot be defined vidinput_v4l2.cxx:909: error: invalid application of `sizeof' to incomplete type `v4l2_control' vidinput_v4l2.cxx:911: error: `VIDIOC_G_CTRL' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetBrightness()': vidinput_v4l2.cxx:920: error: `V4L2_CID_BRIGHTNESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetWhiteness()': vidinput_v4l2.cxx:925: error: `V4L2_CID_WHITENESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetColour()': vidinput_v4l2.cxx:930: error: `V4L2_CID_SATURATION' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetContrast()': vidinput_v4l2.cxx:935: error: `V4L2_CID_CONTRAST' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetHue()': vidinput_v4l2.cxx:940: error: `V4L2_CID_HUE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::SetControlCommon(unsigned int, int)': vidinput_v4l2.cxx:961: error: aggregate `v4l2_queryctrl q' has incomplete type and cannot be defined vidinput_v4l2.cxx:962: error: invalid application of `sizeof' to incomplete type `v4l2_queryctrl' vidinput_v4l2.cxx:964: error: `VIDIOC_QUERYCTRL' undeclared (first use this function) vidinput_v4l2.cxx:967: error: aggregate `v4l2_control c' has incomplete type and cannot be defined vidinput_v4l2.cxx:968: error: invalid application of `sizeof' to incomplete type `v4l2_control' vidinput_v4l2.cxx:975: error: `VIDIOC_S_CTRL' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetBrightness(unsigned int)': vidinput_v4l2.cxx:983: error: `V4L2_CID_BRIGHTNESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetWhiteness(unsigned int)': vidinput_v4l2.cxx:991: error: `V4L2_CID_WHITENESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetColour(unsigned int)': vidinput_v4l2.cxx:1000: error: `V4L2_CID_SATURATION' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetContrast(unsigned int)': vidinput_v4l2.cxx:1008: error: `V4L2_CID_CONTRAST' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetHue(unsigned int)': vidinput_v4l2.cxx:1016: error: `V4L2_CID_HUE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual void V4L2Names::Update()': vidinput_v4l2.cxx:1092: error: aggregate `v4l2_capability videoCaps' has incomplete type and cannot be defined vidinput_v4l2.cxx:1095: error: `VIDIOC_QUERYCAP' undeclared (first use this function) vidinput_v4l2.cxx:1096: error: `V4L2_CAP_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual PString V4L2Names::BuildUserFriendly(PString)': vidinput_v4l2.cxx:1144: error: aggregate `v4l2_capability videocap' has incomplete type and cannot be defined vidinput_v4l2.cxx:1146: error: `VIDIOC_QUERYCAP' undeclared (first use this function) make[2]: *** [../pwlib/device/videoinput/v4l2_pwplugin.so] Error 1 make[2]: Leaving directory `/usr/local/dev/h323plus/ptlib_v1_12_0/plugins/vidinput_v4l2' make[1]: *** [opt] Error 2 make[1]: Leaving directory `/usr/local/dev/h323plus/ptlib_v1_12_0/plugins' make: *** [opt] Error 2
H.323 Plus:
make opt
g++ -DP_USE_PRAGMA -D_REENTRANT -fno-exceptions -Wall -fPIC -DPIC -DNDEBUG -DPTRACING -I/usr/local/dev/h323plus/openh323/include -I/usr/local/dev/h323plus/ptlib/include -Os -felide-constructors -Wreorder -c h323filetransfer.cxx -o /usr/local/dev/h323plus/openh323/lib/obj_linux_x86_r/h323filetransfer.o h323filetransfer.cxx: In member function `BOOL H323FileTransferCapability::OnReceivedPDU(const H245_GenericCapability&)': h323filetransfer.cxx:158: error: passing `const H245_ParameterIdentifier' as `this' argument of `PASN_Choice::operator PASN_Integer&()' discards qualifiers h323filetransfer.cxx:160: error: passing `const H245_ParameterValue' as `this' argument of `PASN_Choice::operator PASN_Integer&()' discards qualifiers h323filetransfer.cxx: In member function `virtual BOOL H323FileTransferChannel::Start()': h323filetransfer.cxx:302: warning: casting `H323Capability*' to `const H323FileTransferCapability&' does not dereference pointer h323filetransfer.cxx:305: warning: casting `H323Capability*' to `const H323FileTransferCapability&' does not dereference pointer h323filetransfer.cxx: In member function `H323FilePacket::opcodes H323FilePacket::GetPacketType()': h323filetransfer.cxx:1342: warning: cast to pointer from integer of different size make[1]: *** [/usr/local/dev/h323plus/openh323/lib/obj_linux_x86_r/h323filetransfer.o] Error 1 make[1]: Leaving directory `/usr/local/dev/h323plus/h323plus/src' make: *** [opt] Error 2
gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.3/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux Thread model: posix gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)
Denis
You should be able to compile GnuGk with gcc 3.4.3 and h323plus, make sure you are pointing to the correct openh323/h323plus version and do a clean rebuild.
Simon
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of Denis Kochmashev "Enforta" Sent: Tuesday, February 12, 2008 4:40 PM To: 'H323plus' Subject: Re: [h323plus] ptlib & h323plus compile problem on gcc 3.4.3
Thanks, Simon!
Your advice helped. But now I have the next problem. When I try to compile gnugk from cvs with options: --enable-radius --disable-mysql --disable-pgsql --disable-firebird --with-large-fdset=16384, I get these messages:
g++ -o obj_linux_x86_r/gnugk -L/usr/local/dev/h323plus/ptlib/lib -L/usr/local/dev/h323plus/openh323/lib ./obj_linux_x86_r/main.o ./obj_linux_x86_r/singleton.o ./obj_linux_x86_r/job.o ./obj_linux_x86_r/yasocket.o ./obj_linux_x86_r/h323util.o ./obj_linux_x86_r/Toolkit.o ./obj_linux_x86_r/SoftPBX.o ./obj_linux_x86_r/GkStatus.o ./obj_linux_x86_r/RasTbl.o ./obj_linux_x86_r/Routing.o ./obj_linux_x86_r/Neighbor.o ./obj_linux_x86_r/GkClient.o ./obj_linux_x86_r/gkauth.o ./obj_linux_x86_r/RasSrv.o ./obj_linux_x86_r/ProxyChannel.o ./obj_linux_x86_r/gk.o ./obj_linux_x86_r/version.o ./obj_linux_x86_r/gkacct.o ./obj_linux_x86_r/gktimer.o ./obj_linux_x86_r/gkconfig.o ./obj_linux_x86_r/sigmsg.o ./obj_linux_x86_r/clirw.o ./obj_linux_x86_r/cisco.o ./obj_linux_x86_r/ipauth.o ./obj_linux_x86_r/statusacct.o ./obj_linux_x86_r/syslogacct.o ./obj_linux_x86_r/capctrl.o ./obj_linux_x86_r/MakeCall.o ./obj_linux_x86_r/radproto.o ./obj_linux_x86_r/radauth.o ./obj_linux_x86_r/radacct.o -lh323_linux_x86_r -lpt_linux_x86_r -lldap -llber -lldap_r -lpthread -lsasl2 -lssl -lcrypto -lexpat -lSDL -lodbc -lresolv -ldl /usr/local/dev/h323plus/ptlib/lib/libpt_linux_x86_r.so: undefined reference to `BIO_set_flags' /usr/local/dev/h323plus/openh323/lib/libh323_linux_x86_r.so: undefined reference to `H323PluginCodecManager::H323PluginCodecManager(PPluginManager*)' /usr/local/dev/h323plus/openh323/lib/libh323_linux_x86_r.so: undefined reference to `H323PluginCodecManager::Bootstrap()' /usr/local/dev/h323plus/ptlib/lib/libpt_linux_x86_r.so: undefined reference to `BIO_clear_flags' collect2: ld returned 1 exit status make: *** [obj_linux_x86_r/gnugk] Error 1
Is there any way to compile gnugk 2.2.7 with h323plus 1.20.2 with my old gcc 3.4.3 ?
Upgrade is not possible at the moment :(
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com] On Behalf Of Simon Horne Sent: Tuesday, February 12, 2008 11:19 AM To: H323plus Subject: Re: [h323plus] ptlib & h323plus compile problem on gcc 3.4.3
Denis
The quickest fix is to compile
ptlib with --disable-v4l2 option and h323plus with --disable-file option
I have now patched the filetransfer support for older GCC versions
Regards Simon
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of Denis Kochmashev Sent: Tuesday, February 12, 2008 3:09 PM To: h323plus@lists.packetizer.com Subject: [h323plus] ptlib & h323plus compile problem on gcc 3.4.3
Hello!
Can't compile Ptlib plugins and H.323 Plus on RHEL4. Please
suggest what
should I do.
Ptlib:
make opt
g++ -DP_USE_PRAGMA -D_REENTRANT -fno-exceptions -Wall -fPIC -DPIC -DNDEBUG -I/usr/local/dev/h323plus/ptlib/include \ -L/usr/local/dev/h323plus/ptlib/lib \ vidinput_names.cxx \ -I. -shared vidinput_v4l2.cxx -o ../pwlib/device/videoinput/v4l2_pwplugin.so In file included from vidinput_v4l2.cxx:143: vidinput_v4l2.h:165: error: field `videoCapability' has incomplete type vidinput_v4l2.h:166: error: field `videoStreamParm' has incomplete type vidinput_v4l2.cxx:217: error: `V4L2_PIX_FMT_GREY' was not
declared in this
scope vidinput_v4l2.cxx:218: error: `V4L2_PIX_FMT_RGB32' was not declared in this scope vidinput_v4l2.cxx:219: error: `V4L2_PIX_FMT_BGR32' was not declared in this scope vidinput_v4l2.cxx:220: error: `V4L2_PIX_FMT_RGB24' was not declared in this scope vidinput_v4l2.cxx:221: error: `V4L2_PIX_FMT_BGR24' was not declared in this scope vidinput_v4l2.cxx:222: error: `V4L2_PIX_FMT_RGB565' was not declared in this scope vidinput_v4l2.cxx:223: error: `V4L2_PIX_FMT_RGB555' was not declared in this scope vidinput_v4l2.cxx:224: error: `V4L2_PIX_FMT_Y41P' was not
declared in this
scope vidinput_v4l2.cxx:225: error: `V4L2_PIX_FMT_YUV411P' was not declared in this scope vidinput_v4l2.cxx:226: error: `V4L2_PIX_FMT_NV21' was not
declared in this
scope vidinput_v4l2.cxx:227: error: `V4L2_PIX_FMT_YUV420' was not declared in this scope vidinput_v4l2.cxx:228: error: `V4L2_PIX_FMT_YUYV' was not
declared in this
scope vidinput_v4l2.cxx:229: error: `V4L2_PIX_FMT_YUV422P' was not declared in this scope vidinput_v4l2.cxx:230: error: `V4L2_PIX_FMT_YUYV' was not
declared in this
scope vidinput_v4l2.cxx:231: error: `V4L2_PIX_FMT_JPEG' was not
declared in this
scope vidinput_v4l2.cxx:232: error: `v4l2_fourcc' was not declared in
this scope
vidinput_v4l2.cxx:233: error: `v4l2_fourcc' was not declared in
this scope
vidinput_v4l2.cxx:234: error: `V4L2_PIX_FMT_MJPEG' was not declared in this scope vidinput_v4l2.cxx:235: error: `V4L2_PIX_FMT_UYVY' was not
declared in this
scope vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Open(const PString&, BOOL)': vidinput_v4l2.cxx:270: error: `VIDIOC_QUERYCAP' undeclared
(first use this
function) vidinput_v4l2.cxx:270: error: (Each undeclared identifier is
reported only
once for each function it appears in.) vidinput_v4l2.cxx:270: error: `videoCapability' undeclared
(first use this
function) vidinput_v4l2.cxx:277: error: `V4L2_CAP_READWRITE' undeclared (first use this function) vidinput_v4l2.cxx:278: error: `V4L2_CAP_STREAMING' undeclared (first use this function) vidinput_v4l2.cxx:279: error: `V4L2_CAP_ASYNCIO' undeclared (first use this function) vidinput_v4l2.cxx:287: error: `videoStreamParm' undeclared
(first use this
function) vidinput_v4l2.cxx:287: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:288: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:295: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Start()': vidinput_v4l2.cxx:349: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:353: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:354: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:357: error: `VIDIOC_QBUF' undeclared (first use this function) vidinput_v4l2.cxx:365: error: use of enum `v4l2_buf_type'
without previous
declaration vidinput_v4l2.cxx:365: error: invalid type in declaration
before ';' token
vidinput_v4l2.cxx:368: error: `VIDIOC_STREAMON' undeclared
(first use this
function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Stop()': vidinput_v4l2.cxx:385: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:388: error: `VIDIOC_STREAMOFF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetVideoFormat(PVideoDevice::VideoFormat)': vidinput_v4l2.cxx:434: error: `V4L2_STD_PAL' undeclared (first use this function) vidinput_v4l2.cxx:435: error: `V4L2_STD_NTSC' undeclared (first use this function) vidinput_v4l2.cxx:436: error: `V4L2_STD_SECAM' undeclared
(first use this
function) vidinput_v4l2.cxx:439: error: `VIDIOC_S_STD' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetNumChannels()': vidinput_v4l2.cxx:454: error: aggregate `v4l2_input videoEnumInput' has incomplete type and cannot be defined vidinput_v4l2.cxx:457: error: `VIDIOC_ENUMINPUT' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetChannel(int)': vidinput_v4l2.cxx:479: error: `VIDIOC_S_INPUT' undeclared
(first use this
function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetColourFormat(const PString&)': vidinput_v4l2.cxx:518: error: aggregate `v4l2_format videoFormat' has incomplete type and cannot be defined vidinput_v4l2.cxx:519: error: invalid application of `sizeof' to incomplete type `v4l2_format' vidinput_v4l2.cxx:520: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:523: error: aggregate `v4l2_streamparm streamParm' has incomplete type and cannot be defined vidinput_v4l2.cxx:526: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:527: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx:535: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:543: error: `VIDIOC_S_FMT' undeclared (first use this function) vidinput_v4l2.cxx:561: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetFrameRate(unsigned int)': vidinput_v4l2.cxx:589: error: `videoStreamParm' undeclared
(first use this
function) vidinput_v4l2.cxx:593: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::GetFrameSizeLimits(unsigned int&, unsigned int&, unsigned int&, unsigned int&)': vidinput_v4l2.cxx:619: error: aggregate `v4l2_format fmt' has incomplete type and cannot be defined vidinput_v4l2.cxx:620: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:621: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:626: error: `VIDIOC_TRY_FMT' undeclared
(first use this
function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::SetMapping()': vidinput_v4l2.cxx:671: error: aggregate `v4l2_requestbuffers reqbuf' has incomplete type and cannot be defined vidinput_v4l2.cxx:673: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:674: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:676: error: `VIDIOC_REQBUFS' undeclared
(first use this
function) vidinput_v4l2.cxx:680: error: missing `>' to terminate the template argument list vidinput_v4l2.cxx:680: error: missing `>' to terminate the template argument list vidinput_v4l2.cxx:689: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:696: error: `VIDIOC_QUERYBUF' undeclared
(first use this
function) vidinput_v4l2.cxx: In member function `void PVideoInputDevice_V4L2::ClearMapping()': vidinput_v4l2.cxx:721: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:722: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:723: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:726: error: `VIDIOC_QUERYBUF' undeclared
(first use this
function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::GetFrameDataNoDelay(BYTE*, PINDEX*)': vidinput_v4l2.cxx:758: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:759: error: invalid application of `sizeof' to incomplete type `v4l2_buffer' vidinput_v4l2.cxx:760: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:761: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:764: error: `VIDIOC_DQBUF' undeclared (first use this function) vidinput_v4l2.cxx:789: error: `VIDIOC_QBUF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::VerifyHardwareFrameSize(unsigned int, unsigned int)': vidinput_v4l2.cxx:832: error: aggregate `v4l2_format videoFormat' has incomplete type and cannot be defined vidinput_v4l2.cxx:833: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:834: error: aggregate `v4l2_streamparm streamParm' has incomplete type and cannot be defined vidinput_v4l2.cxx:839: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:846: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:847: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx:858: error: `VIDIOC_S_FMT' undeclared (first use this function) vidinput_v4l2.cxx:878: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `int PVideoInputDevice_V4L2::GetControlCommon(unsigned int, int*)': vidinput_v4l2.cxx:902: error: aggregate `v4l2_queryctrl q' has
incomplete
type and cannot be defined vidinput_v4l2.cxx:903: error: invalid application of `sizeof' to incomplete type `v4l2_queryctrl' vidinput_v4l2.cxx:905: error: `VIDIOC_QUERYCTRL' undeclared (first use this function) vidinput_v4l2.cxx:908: error: aggregate `v4l2_control c' has incomplete type and cannot be defined vidinput_v4l2.cxx:909: error: invalid application of `sizeof' to incomplete type `v4l2_control' vidinput_v4l2.cxx:911: error: `VIDIOC_G_CTRL' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetBrightness()': vidinput_v4l2.cxx:920: error: `V4L2_CID_BRIGHTNESS' undeclared
(first use
this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetWhiteness()': vidinput_v4l2.cxx:925: error: `V4L2_CID_WHITENESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetColour()': vidinput_v4l2.cxx:930: error: `V4L2_CID_SATURATION' undeclared
(first use
this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetContrast()': vidinput_v4l2.cxx:935: error: `V4L2_CID_CONTRAST' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetHue()': vidinput_v4l2.cxx:940: error: `V4L2_CID_HUE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::SetControlCommon(unsigned int, int)': vidinput_v4l2.cxx:961: error: aggregate `v4l2_queryctrl q' has
incomplete
type and cannot be defined vidinput_v4l2.cxx:962: error: invalid application of `sizeof' to incomplete type `v4l2_queryctrl' vidinput_v4l2.cxx:964: error: `VIDIOC_QUERYCTRL' undeclared (first use this function) vidinput_v4l2.cxx:967: error: aggregate `v4l2_control c' has incomplete type and cannot be defined vidinput_v4l2.cxx:968: error: invalid application of `sizeof' to incomplete type `v4l2_control' vidinput_v4l2.cxx:975: error: `VIDIOC_S_CTRL' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetBrightness(unsigned int)': vidinput_v4l2.cxx:983: error: `V4L2_CID_BRIGHTNESS' undeclared
(first use
this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetWhiteness(unsigned int)': vidinput_v4l2.cxx:991: error: `V4L2_CID_WHITENESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetColour(unsigned int)': vidinput_v4l2.cxx:1000: error: `V4L2_CID_SATURATION' undeclared
(first use
this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetContrast(unsigned int)': vidinput_v4l2.cxx:1008: error: `V4L2_CID_CONTRAST' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetHue(unsigned int)': vidinput_v4l2.cxx:1016: error: `V4L2_CID_HUE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual void
V4L2Names::Update()':
vidinput_v4l2.cxx:1092: error: aggregate `v4l2_capability videoCaps' has incomplete type and cannot be defined vidinput_v4l2.cxx:1095: error: `VIDIOC_QUERYCAP' undeclared (first use this function) vidinput_v4l2.cxx:1096: error: `V4L2_CAP_VIDEO_CAPTURE'
undeclared (first
use this function) vidinput_v4l2.cxx: In member function `virtual PString V4L2Names::BuildUserFriendly(PString)': vidinput_v4l2.cxx:1144: error: aggregate `v4l2_capability videocap' has incomplete type and cannot be defined vidinput_v4l2.cxx:1146: error: `VIDIOC_QUERYCAP' undeclared (first use this function) make[2]: *** [../pwlib/device/videoinput/v4l2_pwplugin.so] Error 1 make[2]: Leaving directory `/usr/local/dev/h323plus/ptlib_v1_12_0/plugins/vidinput_v4l2' make[1]: *** [opt] Error 2 make[1]: Leaving directory
`/usr/local/dev/h323plus/ptlib_v1_12_0/plugins'
make: *** [opt] Error 2
H.323 Plus:
make opt
g++ -DP_USE_PRAGMA -D_REENTRANT -fno-exceptions -Wall -fPIC -DPIC -DNDEBUG -DPTRACING -I/usr/local/dev/h323plus/openh323/include -I/usr/local/dev/h323plus/ptlib/include -Os -felide-constructors -Wreorder -c h323filetransfer.cxx -o /usr/local/dev/h323plus/openh323/lib/obj_linux_x86_r/h323filetransfer.o h323filetransfer.cxx: In member function `BOOL H323FileTransferCapability::OnReceivedPDU(const
H245_GenericCapability&)':
h323filetransfer.cxx:158: error: passing `const H245_ParameterIdentifier' as `this' argument of `PASN_Choice::operator PASN_Integer&()' discards qualifiers h323filetransfer.cxx:160: error: passing `const H245_ParameterValue' as `this' argument of `PASN_Choice::operator PASN_Integer&()' discards qualifiers h323filetransfer.cxx: In member function `virtual BOOL H323FileTransferChannel::Start()': h323filetransfer.cxx:302: warning: casting `H323Capability*' to `const H323FileTransferCapability&' does not dereference pointer h323filetransfer.cxx:305: warning: casting `H323Capability*' to `const H323FileTransferCapability&' does not dereference pointer h323filetransfer.cxx: In member function `H323FilePacket::opcodes H323FilePacket::GetPacketType()': h323filetransfer.cxx:1342: warning: cast to pointer from integer of different size make[1]: ***
[/usr/local/dev/h323plus/openh323/lib/obj_linux_x86_r/h323filetransfer.o]
Error 1 make[1]: Leaving directory `/usr/local/dev/h323plus/h323plus/src' make: *** [opt] Error 2
gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.3/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux Thread model: posix gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)
Simon,
I removed all PTLIb, H323Plus and GNU GK files, extracted PTLib (1.12.0) sources, which I downloaded earlier from h323plus.org and compiled it: configure --disable-v4l2
Then I got H323Plus (1.20.2) from cvs and compiled it too: configure without options
Got GNU GK (2.2.7) from cvs too: configure --enable-radius --disable-mysql --disable-pgsql --disable-firebird --with-large-fdset=16384
But when I try to compile GNU GK (from CVS), I get an error. make opt
g++ -o obj_linux_x86_r/gnugk -L/usr/local/dev/h323plus/ptlib/lib -L/usr/local/dev/h323plus/h323plus/lib ./obj_linux_x86_r/main.o ./obj_linux_x86_r/singleton.o ./obj_linux_x86_r/job.o ./obj_linux_x86_r/yasocket.o ./obj_linux_x86_r/h323util.o ./obj_linux_x86_r/Toolkit.o ./obj_linux_x86_r/SoftPBX.o ./obj_linux_x86_r/GkStatus.o ./obj_linux_x86_r/RasTbl.o ./obj_linux_x86_r/Routing.o ./obj_linux_x86_r/Neighbor.o ./obj_linux_x86_r/GkClient.o ./obj_linux_x86_r/gkauth.o ./obj_linux_x86_r/RasSrv.o ./obj_linux_x86_r/ProxyChannel.o ./obj_linux_x86_r/gk.o ./obj_linux_x86_r/version.o ./obj_linux_x86_r/gkacct.o ./obj_linux_x86_r/gktimer.o ./obj_linux_x86_r/gkconfig.o ./obj_linux_x86_r/sigmsg.o ./obj_linux_x86_r/clirw.o ./obj_linux_x86_r/cisco.o ./obj_linux_x86_r/ipauth.o ./obj_linux_x86_r/statusacct.o ./obj_linux_x86_r/syslogacct.o ./obj_linux_x86_r/capctrl.o ./obj_linux_x86_r/MakeCall.o ./obj_linux_x86_r/radproto.o ./obj_linux_x86_r/radauth.o ./obj_linux_x86_r/radacct.o -lh323_linux_x86_r -lpt_linux_x86_r -lldap -llber -lldap_r -lpthread -lsasl2 -lssl -lcrypto -lexpat -lSDL -lodbc -lresolv -ldl /usr/local/dev/h323plus/ptlib/lib/libpt_linux_x86_r.so: undefined reference to `BIO_set_flags' /usr/local/dev/h323plus/ptlib/lib/libpt_linux_x86_r.so: undefined reference to `BIO_clear_flags' collect2: ld returned 1 exit status make: *** [obj_linux_x86_r/gnugk] Error 1
GNU GK configure output:
checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking if MSG_NOSIGNAL is supported by recv call... yes checking for /usr/local/dev/h323plus/ptlib/make/unix.mak... yes checking for ptlib-config... /usr/local/dev/h323plus/ptlib/make/ptlib-config PWLib prefix set to /usr/local/dev/h323plus/ptlib PTLib version is 1.12.0 checking for /usr/local/dev/h323plus/h323plus/openh323u.mak... yes OpenH323 prefix set to /usr/local/dev/h323plus/h323plus checking for /usr/local/dev/h323plus/h323plus/version.h... yes OpenH323 version is 1.20.2 RADIUS support enabled LARGE FDSET support enabled MySQL support disabled PostgreSQL support disabled Firebird support disabled GNU Gatkeeper version is 2.2.7 configure: creating ./config.status config.status: creating Makefile
Paths are correct: PTLib - /usr/local/dev/h323plus/ptlib H323Plus - /usr/local/dev/h323plus/h323plus
g++ -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.3/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux Thread model: posix gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)
Should I ask my question to authors of GNU GK?
-----Original Message----- From: Simon Horne [mailto:s.horne@packetizer.com] Sent: Tuesday, February 12, 2008 12:25 PM To: Denis Kochmashev "Enforta" Cc: H323plus Subject: RE: [h323plus] ptlib & h323plus compile problem on gcc 3.4.3
Denis
You should be able to compile GnuGk with gcc 3.4.3 and h323plus, make sure you are pointing to the correct openh323/h323plus version and do a clean rebuild.
Simon
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of Denis Kochmashev "Enforta" Sent: Tuesday, February 12, 2008 4:40 PM To: 'H323plus' Subject: Re: [h323plus] ptlib & h323plus compile problem on gcc 3.4.3
Thanks, Simon!
Your advice helped. But now I have the next problem. When I try to compile gnugk from cvs with options: --enable-radius --disable-mysql --disable-pgsql --disable-firebird --with-large-fdset=16384, I get these messages:
g++ -o obj_linux_x86_r/gnugk -L/usr/local/dev/h323plus/ptlib/lib -L/usr/local/dev/h323plus/openh323/lib ./obj_linux_x86_r/main.o ./obj_linux_x86_r/singleton.o ./obj_linux_x86_r/job.o ./obj_linux_x86_r/yasocket.o ./obj_linux_x86_r/h323util.o ./obj_linux_x86_r/Toolkit.o ./obj_linux_x86_r/SoftPBX.o ./obj_linux_x86_r/GkStatus.o ./obj_linux_x86_r/RasTbl.o ./obj_linux_x86_r/Routing.o ./obj_linux_x86_r/Neighbor.o ./obj_linux_x86_r/GkClient.o ./obj_linux_x86_r/gkauth.o ./obj_linux_x86_r/RasSrv.o ./obj_linux_x86_r/ProxyChannel.o ./obj_linux_x86_r/gk.o ./obj_linux_x86_r/version.o ./obj_linux_x86_r/gkacct.o ./obj_linux_x86_r/gktimer.o ./obj_linux_x86_r/gkconfig.o ./obj_linux_x86_r/sigmsg.o ./obj_linux_x86_r/clirw.o ./obj_linux_x86_r/cisco.o ./obj_linux_x86_r/ipauth.o ./obj_linux_x86_r/statusacct.o ./obj_linux_x86_r/syslogacct.o ./obj_linux_x86_r/capctrl.o ./obj_linux_x86_r/MakeCall.o ./obj_linux_x86_r/radproto.o ./obj_linux_x86_r/radauth.o ./obj_linux_x86_r/radacct.o -lh323_linux_x86_r -lpt_linux_x86_r -lldap -llber -lldap_r -lpthread -lsasl2 -lssl -lcrypto -lexpat -lSDL -lodbc -lresolv -ldl /usr/local/dev/h323plus/ptlib/lib/libpt_linux_x86_r.so: undefined reference to `BIO_set_flags' /usr/local/dev/h323plus/openh323/lib/libh323_linux_x86_r.so: undefined reference to `H323PluginCodecManager::H323PluginCodecManager(PPluginManager*)' /usr/local/dev/h323plus/openh323/lib/libh323_linux_x86_r.so: undefined reference to `H323PluginCodecManager::Bootstrap()' /usr/local/dev/h323plus/ptlib/lib/libpt_linux_x86_r.so: undefined reference to `BIO_clear_flags' collect2: ld returned 1 exit status make: *** [obj_linux_x86_r/gnugk] Error 1
Is there any way to compile gnugk 2.2.7 with h323plus 1.20.2 with my old gcc 3.4.3 ?
Upgrade is not possible at the moment :(
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com] On Behalf Of Simon Horne Sent: Tuesday, February 12, 2008 11:19 AM To: H323plus Subject: Re: [h323plus] ptlib & h323plus compile problem on gcc 3.4.3
Denis
The quickest fix is to compile
ptlib with --disable-v4l2 option and h323plus with --disable-file option
I have now patched the filetransfer support for older GCC versions
Regards Simon
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of Denis Kochmashev Sent: Tuesday, February 12, 2008 3:09 PM To: h323plus@lists.packetizer.com Subject: [h323plus] ptlib & h323plus compile problem on gcc 3.4.3
Hello!
Can't compile Ptlib plugins and H.323 Plus on RHEL4. Please
suggest what
should I do.
Ptlib:
make opt
g++ -DP_USE_PRAGMA -D_REENTRANT -fno-exceptions -Wall -fPIC -DPIC -DNDEBUG -I/usr/local/dev/h323plus/ptlib/include \ -L/usr/local/dev/h323plus/ptlib/lib \ vidinput_names.cxx \ -I. -shared vidinput_v4l2.cxx -o ../pwlib/device/videoinput/v4l2_pwplugin.so In file included from vidinput_v4l2.cxx:143: vidinput_v4l2.h:165: error: field `videoCapability' has incomplete type vidinput_v4l2.h:166: error: field `videoStreamParm' has incomplete type vidinput_v4l2.cxx:217: error: `V4L2_PIX_FMT_GREY' was not
declared in this
scope vidinput_v4l2.cxx:218: error: `V4L2_PIX_FMT_RGB32' was not declared in this scope vidinput_v4l2.cxx:219: error: `V4L2_PIX_FMT_BGR32' was not declared in this scope vidinput_v4l2.cxx:220: error: `V4L2_PIX_FMT_RGB24' was not declared in this scope vidinput_v4l2.cxx:221: error: `V4L2_PIX_FMT_BGR24' was not declared in this scope vidinput_v4l2.cxx:222: error: `V4L2_PIX_FMT_RGB565' was not declared in this scope vidinput_v4l2.cxx:223: error: `V4L2_PIX_FMT_RGB555' was not declared in this scope vidinput_v4l2.cxx:224: error: `V4L2_PIX_FMT_Y41P' was not
declared in this
scope vidinput_v4l2.cxx:225: error: `V4L2_PIX_FMT_YUV411P' was not declared in this scope vidinput_v4l2.cxx:226: error: `V4L2_PIX_FMT_NV21' was not
declared in this
scope vidinput_v4l2.cxx:227: error: `V4L2_PIX_FMT_YUV420' was not declared in this scope vidinput_v4l2.cxx:228: error: `V4L2_PIX_FMT_YUYV' was not
declared in this
scope vidinput_v4l2.cxx:229: error: `V4L2_PIX_FMT_YUV422P' was not declared in this scope vidinput_v4l2.cxx:230: error: `V4L2_PIX_FMT_YUYV' was not
declared in this
scope vidinput_v4l2.cxx:231: error: `V4L2_PIX_FMT_JPEG' was not
declared in this
scope vidinput_v4l2.cxx:232: error: `v4l2_fourcc' was not declared in
this scope
vidinput_v4l2.cxx:233: error: `v4l2_fourcc' was not declared in
this scope
vidinput_v4l2.cxx:234: error: `V4L2_PIX_FMT_MJPEG' was not declared in this scope vidinput_v4l2.cxx:235: error: `V4L2_PIX_FMT_UYVY' was not
declared in this
scope vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Open(const PString&, BOOL)': vidinput_v4l2.cxx:270: error: `VIDIOC_QUERYCAP' undeclared
(first use this
function) vidinput_v4l2.cxx:270: error: (Each undeclared identifier is
reported only
once for each function it appears in.) vidinput_v4l2.cxx:270: error: `videoCapability' undeclared
(first use this
function) vidinput_v4l2.cxx:277: error: `V4L2_CAP_READWRITE' undeclared (first use this function) vidinput_v4l2.cxx:278: error: `V4L2_CAP_STREAMING' undeclared (first use this function) vidinput_v4l2.cxx:279: error: `V4L2_CAP_ASYNCIO' undeclared (first use this function) vidinput_v4l2.cxx:287: error: `videoStreamParm' undeclared
(first use this
function) vidinput_v4l2.cxx:287: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:288: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:295: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Start()': vidinput_v4l2.cxx:349: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:353: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:354: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:357: error: `VIDIOC_QBUF' undeclared (first use this function) vidinput_v4l2.cxx:365: error: use of enum `v4l2_buf_type'
without previous
declaration vidinput_v4l2.cxx:365: error: invalid type in declaration
before ';' token
vidinput_v4l2.cxx:368: error: `VIDIOC_STREAMON' undeclared
(first use this
function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::Stop()': vidinput_v4l2.cxx:385: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:388: error: `VIDIOC_STREAMOFF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetVideoFormat(PVideoDevice::VideoFormat)': vidinput_v4l2.cxx:434: error: `V4L2_STD_PAL' undeclared (first use this function) vidinput_v4l2.cxx:435: error: `V4L2_STD_NTSC' undeclared (first use this function) vidinput_v4l2.cxx:436: error: `V4L2_STD_SECAM' undeclared
(first use this
function) vidinput_v4l2.cxx:439: error: `VIDIOC_S_STD' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetNumChannels()': vidinput_v4l2.cxx:454: error: aggregate `v4l2_input videoEnumInput' has incomplete type and cannot be defined vidinput_v4l2.cxx:457: error: `VIDIOC_ENUMINPUT' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetChannel(int)': vidinput_v4l2.cxx:479: error: `VIDIOC_S_INPUT' undeclared
(first use this
function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetColourFormat(const PString&)': vidinput_v4l2.cxx:518: error: aggregate `v4l2_format videoFormat' has incomplete type and cannot be defined vidinput_v4l2.cxx:519: error: invalid application of `sizeof' to incomplete type `v4l2_format' vidinput_v4l2.cxx:520: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:523: error: aggregate `v4l2_streamparm streamParm' has incomplete type and cannot be defined vidinput_v4l2.cxx:526: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:527: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx:535: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:543: error: `VIDIOC_S_FMT' undeclared (first use this function) vidinput_v4l2.cxx:561: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetFrameRate(unsigned int)': vidinput_v4l2.cxx:589: error: `videoStreamParm' undeclared
(first use this
function) vidinput_v4l2.cxx:593: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::GetFrameSizeLimits(unsigned int&, unsigned int&, unsigned int&, unsigned int&)': vidinput_v4l2.cxx:619: error: aggregate `v4l2_format fmt' has incomplete type and cannot be defined vidinput_v4l2.cxx:620: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:621: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:626: error: `VIDIOC_TRY_FMT' undeclared
(first use this
function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::SetMapping()': vidinput_v4l2.cxx:671: error: aggregate `v4l2_requestbuffers reqbuf' has incomplete type and cannot be defined vidinput_v4l2.cxx:673: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:674: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:676: error: `VIDIOC_REQBUFS' undeclared
(first use this
function) vidinput_v4l2.cxx:680: error: missing `>' to terminate the template argument list vidinput_v4l2.cxx:680: error: missing `>' to terminate the template argument list vidinput_v4l2.cxx:689: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:696: error: `VIDIOC_QUERYBUF' undeclared
(first use this
function) vidinput_v4l2.cxx: In member function `void PVideoInputDevice_V4L2::ClearMapping()': vidinput_v4l2.cxx:721: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:722: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:723: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:726: error: `VIDIOC_QUERYBUF' undeclared
(first use this
function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::GetFrameDataNoDelay(BYTE*, PINDEX*)': vidinput_v4l2.cxx:758: error: aggregate `v4l2_buffer buf' has incomplete type and cannot be defined vidinput_v4l2.cxx:759: error: invalid application of `sizeof' to incomplete type `v4l2_buffer' vidinput_v4l2.cxx:760: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:761: error: `V4L2_MEMORY_MMAP' undeclared (first use this function) vidinput_v4l2.cxx:764: error: `VIDIOC_DQBUF' undeclared (first use this function) vidinput_v4l2.cxx:789: error: `VIDIOC_QBUF' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::VerifyHardwareFrameSize(unsigned int, unsigned int)': vidinput_v4l2.cxx:832: error: aggregate `v4l2_format videoFormat' has incomplete type and cannot be defined vidinput_v4l2.cxx:833: error: `V4L2_BUF_TYPE_VIDEO_CAPTURE' undeclared (first use this function) vidinput_v4l2.cxx:834: error: aggregate `v4l2_streamparm streamParm' has incomplete type and cannot be defined vidinput_v4l2.cxx:839: error: `VIDIOC_G_FMT' undeclared (first use this function) vidinput_v4l2.cxx:846: error: `VIDIOC_G_PARM' undeclared (first use this function) vidinput_v4l2.cxx:847: error: `V4L2_CAP_TIMEPERFRAME' undeclared (first use this function) vidinput_v4l2.cxx:858: error: `VIDIOC_S_FMT' undeclared (first use this function) vidinput_v4l2.cxx:878: error: `VIDIOC_S_PARM' undeclared (first use this function) vidinput_v4l2.cxx: In member function `int PVideoInputDevice_V4L2::GetControlCommon(unsigned int, int*)': vidinput_v4l2.cxx:902: error: aggregate `v4l2_queryctrl q' has
incomplete
type and cannot be defined vidinput_v4l2.cxx:903: error: invalid application of `sizeof' to incomplete type `v4l2_queryctrl' vidinput_v4l2.cxx:905: error: `VIDIOC_QUERYCTRL' undeclared (first use this function) vidinput_v4l2.cxx:908: error: aggregate `v4l2_control c' has incomplete type and cannot be defined vidinput_v4l2.cxx:909: error: invalid application of `sizeof' to incomplete type `v4l2_control' vidinput_v4l2.cxx:911: error: `VIDIOC_G_CTRL' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetBrightness()': vidinput_v4l2.cxx:920: error: `V4L2_CID_BRIGHTNESS' undeclared
(first use
this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetWhiteness()': vidinput_v4l2.cxx:925: error: `V4L2_CID_WHITENESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetColour()': vidinput_v4l2.cxx:930: error: `V4L2_CID_SATURATION' undeclared
(first use
this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetContrast()': vidinput_v4l2.cxx:935: error: `V4L2_CID_CONTRAST' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual int PVideoInputDevice_V4L2::GetHue()': vidinput_v4l2.cxx:940: error: `V4L2_CID_HUE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `BOOL PVideoInputDevice_V4L2::SetControlCommon(unsigned int, int)': vidinput_v4l2.cxx:961: error: aggregate `v4l2_queryctrl q' has
incomplete
type and cannot be defined vidinput_v4l2.cxx:962: error: invalid application of `sizeof' to incomplete type `v4l2_queryctrl' vidinput_v4l2.cxx:964: error: `VIDIOC_QUERYCTRL' undeclared (first use this function) vidinput_v4l2.cxx:967: error: aggregate `v4l2_control c' has incomplete type and cannot be defined vidinput_v4l2.cxx:968: error: invalid application of `sizeof' to incomplete type `v4l2_control' vidinput_v4l2.cxx:975: error: `VIDIOC_S_CTRL' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetBrightness(unsigned int)': vidinput_v4l2.cxx:983: error: `V4L2_CID_BRIGHTNESS' undeclared
(first use
this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetWhiteness(unsigned int)': vidinput_v4l2.cxx:991: error: `V4L2_CID_WHITENESS' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetColour(unsigned int)': vidinput_v4l2.cxx:1000: error: `V4L2_CID_SATURATION' undeclared
(first use
this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetContrast(unsigned int)': vidinput_v4l2.cxx:1008: error: `V4L2_CID_CONTRAST' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual BOOL PVideoInputDevice_V4L2::SetHue(unsigned int)': vidinput_v4l2.cxx:1016: error: `V4L2_CID_HUE' undeclared (first use this function) vidinput_v4l2.cxx: In member function `virtual void
V4L2Names::Update()':
vidinput_v4l2.cxx:1092: error: aggregate `v4l2_capability videoCaps' has incomplete type and cannot be defined vidinput_v4l2.cxx:1095: error: `VIDIOC_QUERYCAP' undeclared (first use this function) vidinput_v4l2.cxx:1096: error: `V4L2_CAP_VIDEO_CAPTURE'
undeclared (first
use this function) vidinput_v4l2.cxx: In member function `virtual PString V4L2Names::BuildUserFriendly(PString)': vidinput_v4l2.cxx:1144: error: aggregate `v4l2_capability videocap' has incomplete type and cannot be defined vidinput_v4l2.cxx:1146: error: `VIDIOC_QUERYCAP' undeclared (first use this function) make[2]: *** [../pwlib/device/videoinput/v4l2_pwplugin.so] Error 1 make[2]: Leaving directory `/usr/local/dev/h323plus/ptlib_v1_12_0/plugins/vidinput_v4l2' make[1]: *** [opt] Error 2 make[1]: Leaving directory
`/usr/local/dev/h323plus/ptlib_v1_12_0/plugins'
make: *** [opt] Error 2
H.323 Plus:
make opt
g++ -DP_USE_PRAGMA -D_REENTRANT -fno-exceptions -Wall -fPIC -DPIC -DNDEBUG -DPTRACING -I/usr/local/dev/h323plus/openh323/include -I/usr/local/dev/h323plus/ptlib/include -Os -felide-constructors -Wreorder -c h323filetransfer.cxx -o /usr/local/dev/h323plus/openh323/lib/obj_linux_x86_r/h323filetransfer.o h323filetransfer.cxx: In member function `BOOL H323FileTransferCapability::OnReceivedPDU(const
H245_GenericCapability&)':
h323filetransfer.cxx:158: error: passing `const H245_ParameterIdentifier' as `this' argument of `PASN_Choice::operator PASN_Integer&()' discards qualifiers h323filetransfer.cxx:160: error: passing `const H245_ParameterValue' as `this' argument of `PASN_Choice::operator PASN_Integer&()' discards qualifiers h323filetransfer.cxx: In member function `virtual BOOL H323FileTransferChannel::Start()': h323filetransfer.cxx:302: warning: casting `H323Capability*' to `const H323FileTransferCapability&' does not dereference pointer h323filetransfer.cxx:305: warning: casting `H323Capability*' to `const H323FileTransferCapability&' does not dereference pointer h323filetransfer.cxx: In member function `H323FilePacket::opcodes H323FilePacket::GetPacketType()': h323filetransfer.cxx:1342: warning: cast to pointer from integer of different size make[1]: ***
[/usr/local/dev/h323plus/openh323/lib/obj_linux_x86_r/h323filetransfer.o]
Error 1 make[1]: Leaving directory `/usr/local/dev/h323plus/h323plus/src' make: *** [opt] Error 2
gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.3/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux Thread model: posix gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)
participants (4)
-
Craig Southeren
-
Denis Kochmashev
-
Denis Kochmashev "Enforta"
-
Simon Horne