Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem Compiling ModPagespeed on Arch Linux #289

Closed
GoogleCodeExporter opened this issue Apr 6, 2015 · 18 comments
Closed

Problem Compiling ModPagespeed on Arch Linux #289

GoogleCodeExporter opened this issue Apr 6, 2015 · 18 comments

Comments

@GoogleCodeExporter
Copy link

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

What steps will reproduce the problem?
1. Download depot_tools:
    svn co http://src.chromium.org/svn/trunk/tools/depot_tools
2. To make depot_tools work, switch to python2:
    sudo rm /usr/bin/python
    sudo ln -s /usr/bin/python2 /usr/bin/python
    sudo rm /usr/bin/python-config
    sudo ln -s /usr/bin/python2-config /usr/bin/python-config
3. Download mod_pagespeed source code use depot_tools:
    gclient config http://modpagespeed.googlecode.com/svn/branches/latest-beta/src (or http://modpagespeed.googlecode.com/svn/trunk/src)
    gclient sync --force
4. Compile Source:
    make BUILDTYPE=Release

What is the expected output?

    A completed compilation

What do you see instead?

    Error messages for variables set but not used

What version of the product are you using (please check X-Mod-Pagespeed
header)?

    Attempted on both Latest Beta & Trunk Version

On what operating system?

    Archlinux

Which version of Apache?

    Apache 2.2.17

Which MPM?

    Prefork

Please provide any additional information below, especially a URL or an
HTML file that exhibits the problem.

First Error:
    net/instaweb/rewriter/js_combine_filter.cc: In member function ‘void net_instaweb::JsCombineFilter::ConsiderJsForCombination(net_instaweb::HtmlElement*, net_instaweb::HtmlElement::Attribute*)’:
    net/instaweb/rewriter/js_combine_filter.cc:333:15: error: variable ‘url’ set but not used [-Werror=unused-but-set-variable]
    cc1plus: all warnings being treated as errors

Next (if first is fixed in code):
    net/instaweb/rewriter/resource_combiner.cc: In member function ‘virtual bool net_instaweb::ResourceCombiner::WriteCombination(const ResourceVector&, const OutputResourcePtr&, net_instaweb::MessageHandler*)’:
    net/instaweb/rewriter/resource_combiner.cc:284:17: error: variable ‘contents’ set but not used [-Werror=unused-but-set-variable]
    cc1plus: all warnings being treated as errors

And so on ...

Original issue reported on code.google.com by mtwhe...@gmail.com on 9 May 2011 at 12:21

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

Is that with gcc-4.6? Also, is the default python python3? What goes wrong with 
depot_tools with it?

With respect to compile error, IMHO this and the report on the mailing list 
strongly suggest we want to disable -Wno-error for end-user builds. (Though 
these two warnings are actually worth fixing...)

Original comment by morlov...@google.com on 9 May 2011 at 12:58

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

Original comment by morlov...@google.com on 9 May 2011 at 2:45

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

Yes, that is with gcc-4.6 & default python of python2 (changed specifically for 
depot_tools/compilation of mod_pagespeed).

With python3 the following error occurs:

   → gclient config http://modpagespeed.googlecode.com/svn/trunk/src
   File "/home/eric/bin/depot_tools/gclient.py", line 276
   except SyntaxError, e:
   SyntaxError: invalid syntax

I actually tried fixing these warnings/errors by commenting out the unused 
variable declarations, but got more errors that weren't so simple (hard to 
explain without posting the code, but I don't have it in front of me at the 
moment, will post these later tonight).

Original comment by mtwhe...@gmail.com on 9 May 2011 at 9:03

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

[deleted comment]
@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

Ok, after fixing the two warnings/errors already listed above as follows:

  net/instaweb/rewriter/js_combine_filter.cc, Line 333, Commenting Out:
  StringPiece url = src->value();

  net/instaweb/rewriter/resource_combiner.cc, Line 284, Commenting Out:
  StringPiece contents = input->contents();

I get another error, also easily fixed:

  net/instaweb/htmlparse/html_parse.cc: In member function ‘void net_instaweb::HtmlParse::SanityCheck()’:
  net/instaweb/htmlparse/html_parse.cc:307:18: error: variable ‘actual_parent’ set but not used [-Werror=unused-but-set-variable]
  cc1plus: all warnings being treated as errors

So I fix as follows:

  net/instaweb/htmlparse/html_parse.cc, Line 307, Commenting Out:
  HtmlElement* actual_parent = NULL;

  Also, comment out where the variable is set later, on Line 332:
  actual_parent = end_element->parent();

And here's where I think the compiler gets a little overzealous:

  third_party/icu/public/common/unicode/unistr.h: In member function ‘icu_4_2::UnicodeString& icu_4_2::UnicodeString::replace(int32_t, int32_t, UChar32)’:
  third_party/icu/public/common/unicode/unistr.h:3986:9: error: variable ‘isError’ set but not used [-Werror=unused-but-set-variable]
  third_party/icu/public/common/unicode/unistr.h: In member function ‘icu_4_2::UnicodeString& icu_4_2::UnicodeString::append(UChar32)’:
  third_party/icu/public/common/unicode/unistr.h:4264:9: error: variable ‘isError’ set but not used [-Werror=unused-but-set-variable]
  cc1plus: all warnings being treated as errors

Both errors refer to the following line of codes (line after the error as well):

  UBool isError = FALSE;
  U16_APPEND(buffer, count, U16_MAX_LENGTH, srcChar, isError);

If I attempt to change the lines to the following:

  //UBool isError = FALSE;
  U16_APPEND(buffer, count, U16_MAX_LENGTH, srcChar, FALSE);

Then I get the following error:

  third_party/icu/public/common/unicode/unistr.h: In member function ‘icu_4_2::UnicodeString& icu_4_2::UnicodeString::replace(int32_t, int32_t, UChar32)’:
  third_party/icu/public/common/unicode/unistr.h:3987:3: error: lvalue required as left operand of assignment
  make: *** [out/Release/obj.target/googleurl/googleurl/src/url_canon_icu.o] Error 1

which makes me think the isError variable is in fact used (despite the 
compiler's original error messge).

Original comment by mtwhe...@gmail.com on 10 May 2011 at 7:41

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

It's being written to by the U16_APPEND macro, but not read anywhere.
So the warning message sort of has a point, in that these functions ignore some 
sorts of error conditions. The quick way to get them to go through is to add 
(void)isError; 
afterwards.

A better option might be to run: build/gyp_chromium  -D werror="" in the src/ 
dir before doing make.



Original comment by morlov...@google.com on 10 May 2011 at 3:44

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

I've put in fixes for some of the warnings in r683, but that doesn't help with 
the third_party stuff. Will be making a follow up change that disables -Werror 
for normal end-user builds for that. 

Original comment by morlov...@google.com on 10 May 2011 at 9:21

  • Changed state: Started
@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

Using: build/gyp_chromium  -D werror="" worked great to squelch these 
warnings/errors (didn't even get the errors listed above for third_party code), 
however deeper in the compilation I got the following error:

  third_party/opencv/src/opencv/include/opencv/cxmat.hpp:3465:19: error: expected ‘;’ before ‘ofs’
  third_party/opencv/src/opencv/include/opencv/cxmat.hpp:3466:23: error: ‘ofs’ was not declared in this scope
  make: *** [out/Release/obj.target/highgui/third_party/opencv/src/opencv/src/highgui/bitstrm.o] Error 1

On these two lines of code (I don't see why this error is thrown):

  ptrdiff_t ofs = (uchar*)ptr - m->data;
  int y = (int)(ofs / m->step), x = (int)((ofs - y*m->step)/sizeof(_Tp));

from this following larger block of code:

  template<typename _Tp> inline Point MatConstIterator_<_Tp>::pos() const
  {
      if( !m )
          return Point();
      if( m->isContinuous() )
      {
          ptrdiff_t ofs = ptr - (_Tp*)m->data;
          int y = (int)(ofs / m->cols), x = (int)(ofs - (ptrdiff_t)y*m->cols);
          return Point(x, y);
      }
      else
      {
          ptrdiff_t ofs = (uchar*)ptr - m->data;
          int y = (int)(ofs / m->step), x = (int)((ofs - y*m->step)/sizeof(_Tp));
          return Point(x, y);
      }
  }

Original comment by mtwhe...@gmail.com on 11 May 2011 at 2:45

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

A solution to that is to change 
src/third_party/opencv/src/opencv/include/opencv/cxcore.hpp to add #include 
<cstddef> near other include lines.

Also, with respect to python3: it's probably easier to just edit 
depot_tools/gclient and have it run the script with 'python2' instead of 
python. Also, the upstream issue for that is 
http://code.google.com/p/chromium/issues/detail id=61357


Original comment by morlov...@google.com on 11 May 2011 at 3:43

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

Fixed that error, then, next error:

  third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:217:28: fatal error: linux/videodev.h: No such file or directory
  compilation terminated.
  make: *** [out/Release/obj.target/highgui/third_party/opencv/src/opencv/src/highgui/cvcap_v4l.o] Error 1

On the following line:

  #include <linux/videodev.h>

Fixed by changing to the following:

  #include <linux/videodev2.h>

Since the following files were located on my machine:

  $ sudo locate videodev
  /lib/modules/2.6.32-lts/kernel/drivers/media/video/videodev.ko.gz
  /lib/modules/2.6.38-ARCH/kernel/drivers/media/video/videodev.ko.gz
  /usr/include/libv4l1-videodev.h
  /usr/include/linux/videodev2.h
  /usr/src/linux-2.6.38-ARCH/drivers/staging/usbvideo/videodev.h
  /usr/src/linux-2.6.38-ARCH/include/linux/videodev2.h

Although this proceeded with the following craziness:

third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:289:29: error: field 
‘capability’ has incomplete type
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:290:29: error: field 
‘captureWindow’ has incomplete type
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:291:29: error: field 
‘imageProperties’ has incomplete type
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:292:29: error: field 
‘memoryBuffer’ has incomplete type
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp: In function ‘int 
try_palette(int, video_picture*, int, int)’:
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:400:10: error: invalid 
use of incomplete type ‘struct video_picture’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:291:12: error: forward 
declaration of ‘struct video_picture’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:401:10: error: invalid 
use of incomplete type ‘struct video_picture’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:291:12: error: forward 
declaration of ‘struct video_picture’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:402:17: error: 
‘VIDIOCSPICT’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:404:17: error: 
‘VIDIOCGPICT’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:406:14: error: invalid 
use of incomplete type ‘struct video_picture’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:291:12: error: forward 
declaration of ‘struct video_picture’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp: In function ‘int 
try_init_v4l(CvCaptureCAM_V4L*, char*)’:
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:461:38: error: 
‘VIDIOCGCAP’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:461:60: error: 
‘CvCaptureCAM_V4L’ has no member named ‘capability’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp: In function ‘int 
try_init_v4l2(CvCaptureCAM_V4L*, char*)’:
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:513:7: error: 
‘CvCaptureCAM_V4L’ has no member named ‘capability’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:513:7: error: 
‘CvCaptureCAM_V4L’ has no member named ‘capability’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:514:16: error: 
‘CvCaptureCAM_V4L’ has no member named ‘capability’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:517:74: error: 
‘CvCaptureCAM_V4L’ has no member named ‘capability’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp: In function ‘int 
autosetup_capture_mode_v4l(CvCaptureCAM_V4L*)’:
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:597:35: error: 
‘VIDIOCGPICT’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:597:58: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:605:52: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:605:69: error: 
‘VIDEO_PALETTE_RGB24’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:608:57: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:608:74: error: 
‘VIDEO_PALETTE_YUV420P’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:611:57: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:611:74: error: 
‘VIDEO_PALETTE_YUV420’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:614:57: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:614:74: error: 
‘VIDEO_PALETTE_YUV411P’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp: In function ‘int 
_capture_V4L2(CvCaptureCAM_V4L*, char*)’:
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:977:40: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:978:40: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp: In function ‘int 
_capture_V4L(CvCaptureCAM_V4L*, char*)’:
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1013:20: error: 
‘CvCaptureCAM_V4L’ has no member named ‘capability’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1033:18: error: 
‘CvCaptureCAM_V4L’ has no member named ‘capability’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1035:29: error: 
aggregate ‘_capture_V4L(CvCaptureCAM_V4L*, char*)::video_channel 
selectedChannel’ has incomplete type and cannot be defined
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1039:41: error: 
‘VIDIOCGCHAN’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1042:44: error: 
‘VIDIOCSCHAN’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1053:38: error: 
‘VIDIOCGWIN’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1053:60: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1071:35: error: 
‘VIDIOCGMBUF’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1071:58: error: 
‘CvCaptureCAM_V4L’ has no member named ‘memoryBuffer’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1073:45: error: 
‘CvCaptureCAM_V4L’ has no member named ‘memoryBuffer’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1086:35: error: 
‘CvCaptureCAM_V4L’ has no member named ‘memoryBuffer’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1086:81: error: invalid 
application of ‘sizeof’ to incomplete type ‘video_mmap’ 
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1097:40: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1098:40: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp: In function ‘int 
icvGrabFrameCAM_V4L(CvCaptureCAM_V4L*)’:
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1302:43: error: 
‘CvCaptureCAM_V4L’ has no member named ‘memoryBuffer’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1305:46: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1305:47: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1306:46: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1306:47: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1306:66: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1307:46: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1307:47: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1307:66: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1308:46: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1308:47: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1308:66: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1310:44: error: 
‘VIDIOCMCAPTURE’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1310:96: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1342:41: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1342:42: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1343:41: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1343:42: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1343:61: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1344:41: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1344:42: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1344:61: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1345:41: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1345:42: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1345:61: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1347:40: error: 
‘VIDIOCMCAPTURE’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1348:39: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:1354:43: error: 
‘CvCaptureCAM_V4L’ has no member named ‘memoryBuffer’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp: In function 
‘IplImage* icvRetrieveFrameCAM_V4L(CvCaptureCAM_V4L*, int)’:
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2079:38: error: 
‘VIDIOCSYNC’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2079:86: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2079:87: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2108:68: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2108:69: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2109:71: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2109:72: error: invalid 
use of incomplete type ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:293:12: error: forward 
declaration of ‘struct video_mmap’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2112:32: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2113:28: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2205:21: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2206:12: error: 
‘VIDEO_PALETTE_RGB24’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2208:51: error: 
‘CvCaptureCAM_V4L’ has no member named ‘memoryBuffer’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2211:12: error: 
‘VIDEO_PALETTE_YUV420P’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2212:35: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2213:23: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2214:61: error: 
‘CvCaptureCAM_V4L’ has no member named ‘memoryBuffer’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2217:12: error: 
‘VIDEO_PALETTE_YUV420’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2218:34: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2219:20: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2220:58: error: 
‘CvCaptureCAM_V4L’ has no member named ‘memoryBuffer’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2223:12: error: 
‘VIDEO_PALETTE_YUV411P’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2224:35: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2225:20: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2226:58: error: 
‘CvCaptureCAM_V4L’ has no member named ‘memoryBuffer’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2232:27: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp: In function ‘double 
icvGetPropertyCAM_V4L(CvCaptureCAM_V4L*, int)’:
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2365:16: error: 
‘VIDIOCGWIN’ was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2365:38: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2375:27: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2378:27: error: 
‘CvCaptureCAM_V4L’ has no member named ‘captureWindow’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2381:27: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2384:27: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2387:27: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2390:27: error: 
‘CvCaptureCAM_V4L’ has no member named ‘imageProperties’

<cut>

Original comment by mtwhe...@gmail.com on 14 May 2011 at 4:13

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

(continuing error messages)

third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp: In function �int 
icvSetVideoSize(CvCaptureCAM_V4L*, int, int)�:
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2487:21: error: 
�CvCaptureCAM_V4L� has no member named �capability�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2488:19: error: 
�CvCaptureCAM_V4L� has no member named �capability�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2490:21: error: 
�CvCaptureCAM_V4L� has no member named �capability�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2491:19: error: 
�CvCaptureCAM_V4L� has no member named �capability�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2494:15: error: 
�CvCaptureCAM_V4L� has no member named �captureWindow�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2495:15: error: 
�CvCaptureCAM_V4L� has no member named �captureWindow�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2497:39: error: 
�VIDIOCSWIN� was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2497:61: error: 
�CvCaptureCAM_V4L� has no member named �captureWindow�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2502:39: error: 
�VIDIOCGWIN� was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2502:61: error: 
�CvCaptureCAM_V4L� has no member named �captureWindow�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp: In function �int 
icvSetControl(CvCaptureCAM_V4L*, int, double)�:
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2652:16: error: 
�CvCaptureCAM_V4L� has no member named �imageProperties�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2655:16: error: 
�CvCaptureCAM_V4L� has no member named �imageProperties�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2658:16: error: 
�CvCaptureCAM_V4L� has no member named �imageProperties�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2661:16: error: 
�CvCaptureCAM_V4L� has no member named �imageProperties�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2678:38: error: 
�VIDIOCSPICT� was not declared in this scope
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2678:61: error: 
�CvCaptureCAM_V4L� has no member named �imageProperties�
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp: In function �void 
icvCloseCAM_V4L(CvCaptureCAM_V4L*)�:
third_party/opencv/src/opencv/src/highgui/cvcap_v4l.cpp:2752:46: error: 
�CvCaptureCAM_V4L� has no member named �memoryBuffer�
make: *** 
[out/Release/obj.target/highgui/third_party/opencv/src/opencv/src/highgui/cvcap_
v4l.o] Error 1

Original comment by mtwhe...@gmail.com on 14 May 2011 at 4:13

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

For a fix to this issue, see r680. (Or top of branch 17, looks like latest-beta 
hasn't quite gotten updated yet).

Original comment by morlov...@google.com on 14 May 2011 at 8:41

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

Looks like I'm all set, able to conpile both "latest-beta" & "trunk".

Having some other issues now that I have it running, but I'll try to work them 
out on my own & submit another issue if the problems persist (or if I can 
figure out what specifically is causing these issues).

Thanks for your help!!!

Original comment by mtwhe...@gmail.com on 16 May 2011 at 3:23

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

Original comment by sligocki@google.com on 16 May 2011 at 6:02

  • Changed state: Fixed
@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

I am getting gclient error on Arch Linux..please see the attached file..

Original comment by unixbhas...@gmail.com on 3 Feb 2012 at 6:16

Attachments:

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

I don't see any errors in the file. Could you please check and reattach?

Original comment by matterb...@google.com on 3 Feb 2012 at 12:52

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

re: gclient errors --- if I am not mistaken, Arch Linux ships with python3, 
which gclient is incompatible with. I do believe you can install python2 as 
well, and with that in place, it should be possible to edit the gclient binary 
in depot_tools (which is a tiny wrapper shell script) to use python2 
specifically.

Original comment by morlov...@google.com on 6 Feb 2012 at 2:23

@GoogleCodeExporter
Copy link
Author

@GoogleCodeExporter GoogleCodeExporter commented Apr 6, 2015

Original comment by jmara...@google.com on 23 May 2012 at 3:12

  • Added labels: Milestone-v22, release-note
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.