graphics/opencv apparently broken, also out of date: update
Thomas Mueller
mueller23 at insightbb.com
Sun Dec 23 09:01:39 UTC 2012
I originally sent this early last November, but nothing happened, and now the ports freeze is over.
I had great difficulty using send-pr when submitting the problem with graphics/gnash, couldn't set MAIL_AGENT to what I use (msmtp) with sendmail not set up: just got error messages. Try again?
I am snagged in graphics/opencv in my massive upgrade of ports, and see error
messages in the log file indicating errors in the C code. I also see there is
a newer version of openCV out. But I was able to pigeonhole graphics/opencv
and four other ports that depend on opencv and complete the rest of the massive
upgrade of ports.
I am on FreeBSD 9.0_STABLE, stuck to the default options except for enabling
xine support, which was off by default. In a more recent attempt, I stuck to
the default options, with xine support off: this made no difference, I got the
same or similar errors, and building graphics/opencv failed.
I now have a file /BETA1/usr/ports/pigeonhole12.cmd
portmaster multimedia/phonon-gstreamer multimedia/gstreamer-plugins-all graphics/gstreamer-plugins-opencv graphics/opencv
so I can later run
`cat pigeonhole12.cmd` &| tee opencv.log
On http://opencv.willowgarage.com/wiki/
an announcement (5/7/12, I don't know if this is May 7 or July 5) that release
2.4 is out. There is a link to sourceforge.net with
OpenCV-2.4.3.tar.bz2 (67.2 MB).
This was on FreeBSD ports version 2.3.1_4 .
I get errors, and am reluctant to post a log > 600 lines, but an excerpt
follows:
Scanning dependencies of target opencv_python
[ 63%] Building CXX object modules/python/CMakeFiles/opencv_python.dir/src2/cv2.o
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp: In function 'bool pyopencv_to(PyObject*, cv::Scalar&, const char*)':
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:270: error: 'PyInt_Check' was not declared in this scope
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:279: error: 'PyInt_Check' was not declared in this scope
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp: In function 'PyObject* pyopencv_from(int)':
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:317: error: 'PyInt_FromLong' was not declared in this scope
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp: In function 'bool pyopencv_to(PyObject*, int&, const char*)':
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:324: error: 'PyInt_AsLong' was not declared in this scope
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp: In function 'bool pyopencv_to(PyObject*, double&, const char*)':
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:337: error: 'PyInt_CheckExact' was not declared in this scope
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:338: error: 'PyInt_AS_LONG' was not declared in this scope
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp: In function 'bool pyopencv_to(PyObject*, float&, const char*)':
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:353: error: 'PyInt_CheckExact' was not declared in this scope
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:354: error: 'PyInt_AS_LONG' was not declared in this scope
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp: In function 'PyObject* pyopencv_from(const std::string&)':
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:367: error: 'PyString_FromString' was not declared in this scope
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp: In function 'bool pyopencv_to(PyObject*, std::string&, const char*)':
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:374: error: 'PyString_AsString' was not declared in this scope
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp: In static member function 'static bool pyopencvVecConverter<_Tp>::to(PyObject*, std::vector<_Tp, std::allocator<_CharT> >&, const char*)':
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:562: error: there are no arguments to 'PyInt_Check' that depend on a template parameter, so a declaration of 'PyInt_Check' must be available
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:562: error: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/BETA1/usr/ports/graphics/opencv/work9amd64/OpenCV-2.3.1/modules/python/src2/cv2.cpp:564: error: there are no arguments to 'PyInt_AsLong' that depend on a template parameter, so a declaration of 'PyInt_AsLong' must be available
(end of quote, I can provide more if desired, there are many similar further
error messages)
I could ask for this bug to be fixed, but since OpenCV 2.3.1 is so outdated,
it would seem to make more sense to go to the new version, 2.4 or 2.4.3 .
Maybe I need to check the Porters' Handbook and try to port it myself?
Tom
More information about the freebsd-ports
mailing list