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)