Hello,
I have just followed the instructions on
https://github.com/pupil-labs/pupil/wiki/Dependencies-Installation-Linux for dependency installation under linux. I use opencv on my other projects and my current version is the latest one, 3.something.
When trying to run python main.py, there are several compilation errors on opencv modules. Could this be a conflict of versions? should I get an earliar released OpenCV? I really don't think thats the problem, it appears to be some toolchain shenannigans. Can anybody help me?
Thanks in advance
The log is as follows:
MainProcess - [INFO] os_utils: Disabling idle sleep not supported on this OS version.
world - [INFO] world: Application Version: 0.8.7.3
world - [INFO] world: System Info: User: tonho, Platform: Linux, Machine: hal, Release: 4.4.0-53-generic, Version: #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016
Warning: Extension name 'detector_2d' does not match fully qualified name 'pupil_detectors.detector_2d' of 'detector_2d.pyx'
Warning: Extension name 'detector_3d' does not match fully qualified name 'pupil_detectors.detector_3d' of 'detector_3d.pyx'
running build_ext
building 'detector_2d' extension
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/include/eigen3 -I/usr/include/eigen3 -I../../shared_cpp/include -Isingleeyefitter/ -I/usr/include/python2.7 -c detector_2d.cpp -o build/temp.linux-x86_64-2.7/detector_2d.o -std=c++11 -w -O2
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from detector_2d.cpp:506:0:
/usr/local/include/opencv2/core/core_c.h:97:1: error: ‘IplImage’ does not name a type
CVAPI(IplImage*) cvCreateImageHeader( CvSize size, int depth, int channels );
^
/usr/local/include/opencv2/core/core_c.h:109:1: error: ‘IplImage’ does not name a type
CVAPI(IplImage*) cvInitImageHeader( IplImage* image, CvSize size, int depth,
^
/usr/local/include/opencv2/core/core_c.h:125:1: error: ‘IplImage’ does not name a type
CVAPI(IplImage*) cvCreateImage( CvSize size, int depth, int channels );
^
In file included from /usr/local/include/opencv2/core/utility.hpp:1168:0,
from /usr/local/include/opencv2/core.hpp:3216,
from /usr/local/include/opencv2/core/types_c.h:101,
from detector_2d.cpp:506:
/usr/local/include/opencv2/core/core_c.h:140:36: error: variable or field ‘cvReleaseImageHeader’ declared void
CVAPI(void) cvReleaseImageHeader( IplImage** image );
^
/usr/local/include/opencv2/core/core_c.h:140:36: error: ‘IplImage’ was not declared in this scope
/usr/local/include/opencv2/core/core_c.h:140:47: error: ‘image’ was not declared in this scope
CVAPI(void) cvReleaseImageHeader( IplImage** image );
^
/usr/local/include/opencv2/core/core_c.h:154:30: error: variable or field ‘cvReleaseImage’ declared void
CVAPI(void) cvReleaseImage( IplImage** image );
^
/usr/local/include/opencv2/core/core_c.h:154:30: error: ‘IplImage’ was not declared in this scope
/usr/local/include/opencv2/core/core_c.h:154:41: error: ‘image’ was not declared in this scope
CVAPI(void) cvReleaseImage( IplImage** image );
^
In file included from detector_2d.cpp:506:0:
/usr/local/include/opencv2/core/core_c.h:157:1: error: ‘IplImage’ does not name a type
CVAPI(IplImage*) cvCloneImage( const IplImage* image );
^
In file included from /usr/local/include/opencv2/core/utility.hpp:1168:0,
from /usr/local/include/opencv2/core.hpp:3216,
from /usr/local/include/opencv2/core/types_c.h:101,
from detector_2d.cpp:506:
/usr/local/include/opencv2/core/core_c.h:169:29: error: variable or field ‘cvSetImageCOI’ declared void
CVAPI(void) cvSetImageCOI( IplImage* image, int coi );
^
/usr/local/include/opencv2/core/core_c.h:169:29: error: ‘IplImage’ was not declared in this scope
/usr/local/include/opencv2/core/core_c.h:169:39: error: ‘image’ was not declared in this scope
CVAPI(void) cvSetImageCOI( IplImage* image, int coi );
^
/usr/local/include/opencv2/core/core_c.h:169:46: error: expected primary-expression before ‘int’
CVAPI(void) cvSetImageCOI( IplImage* image, int coi );
^
/usr/local/include/opencv2/core/core_c.h:177:34: error: ‘IplImage’ does not name a type
CVAPI(int) cvGetImageCOI( const IplImage* image );
^
/usr/local/include/opencv2/core/core_c.h:190:29: error: variable or field ‘cvSetImageROI’ declared void
CVAPI(void) cvSetImageROI( IplImage* image, CvRect rect );
^
/usr/local/include/opencv2/core/core_c.h:190:29: error: ‘IplImage’ was not declared in this scope
/usr/local/include/opencv2/core/core_c.h:190:39: error: ‘image’ was not declared in this scope
CVAPI(void) cvSetImageROI( IplImage* image, CvRect rect );
^
/usr/local/include/opencv2/core/core_c.h:190:46: error: ‘CvRect’ was not declared in this scope
CVAPI(void) cvSetImageROI( IplImage* image, CvRect rect );
^
/usr/local/include/opencv2/core/core_c.h:201:31: error: variable or field ‘cvResetImageROI’ declared void
CVAPI(void) cvResetImageROI( IplImage* image );
^
/usr/local/include/opencv2/core/core_c.h:201:31: error: ‘IplImage’ was not declared in this scope
/usr/local/include/opencv2/core/core_c.h:201:41: error: ‘image’ was not declared in this scope
CVAPI(void) cvResetImageROI( IplImage* image );
^
In file included from detector_2d.cpp:506:0:
/usr/local/include/opencv2/core/core_c.h:208:1: error: ‘CvRect’ does not name a type
CVAPI(CvRect) cvGetImageROI( const IplImage* image );
^
In file included from /usr/local/include/opencv2/core/utility.hpp:1168:0,
from /usr/local/include/opencv2/core.hpp:3216,
from /usr/local/include/opencv2/core/types_c.h:101,
from detector_2d.cpp:506:
/usr/local/include/opencv2/core/core_c.h:298:32: error: variable or field ‘cvDecRefData’ declared void
CV_INLINE void cvDecRefData( CvArr* arr )
^
/usr/local/include/opencv2/core/core_c.h:298:32: error: ‘CvArr’ was not declared in this scope
/usr/local/include/opencv2/core/core_c.h:298:39: error: ‘arr’ was not declared in this scope
CV_INLINE void cvDecRefData( CvArr* arr )
^
In file included from /usr/include/eigen3/Eigen/Core:318:0,
from /usr/include/eigen3/Eigen/Dense:1,
from /usr/include/eigen3/Eigen/Eigen:1,
from detector_2d.cpp:508:
/usr/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:101:30: error: expected ‘}’ before end of line
/usr/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:101:30: error: expected declaration before end of line
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Process world:
Traceback (most recent call last):
File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "/home/tonho/ubuntail/Dropbox/pupil-source/pupil/pupil_src/capture/world.py", line 98, in world
import pupil_detectors
File "/home/tonho/ubuntail/Dropbox/pupil-source/pupil/pupil_src/capture/pupil_detectors/__init__.py", line 18, in <module>
from detector_2d import Detector_2D
ImportError: No module named detector_2d