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)