Trying to compile opencv on my Mac from source.
I have following CMakeCache.txt: http://pastebin.com/KqPHjBx0
I make ccmake ..
, press c
, then g
.
Than I make sudo make -j8
:
http://pastebin.com/cJyr1cEd
Than I make sudo make install
:
http://pastebin.com/W77syYBj
And than I make import cv
in python and get "Segmentation faul" with this stacktrace:
http://pastebin.com/gegYAK1u
I don't know what could be useful to help me, pls. ask, I'll get it.
The problem is simple, macports did rewrote cv.so in ~/usr/lib
if you installed OPENCV using
type
if you installed OPENCV using
type
The "bug" is that python2.7 interpreter is trying to open python2.6 pre-compiled binary that gives seg fault 11 (or vice versa)
The nevereinding problem with opencv is that it does not have source code, just binaries that are stongly dependent on which compiler there were built on (which platform etc.)
Typing:
fixed the segfault for me.
I had a same situation and resolved the following steps.
In ccmake(
ccmake -G "Unix Makefiles" .
), toggle to the advanced mode pressingt
.change
PYTHON_LIBRARY
value to/opt/local/lib/libpython2.6.dylib
andPYTHON_INCLUDE_DIR
to/opt/local/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6
.Note that the specific path depends, of course, what version of Python you are using (2.6 or 2.7 etc.). Also, if you are using the system Python, instead of MacPorts (which is in /opt), then you probably want PYTHON_LIBRARY to be /usr/lib/libpython2.6.dylib
From your logs, you seem to use MacPorts and python 2.6.
opencv
will compile fine on this framework:be sure to have
py26-numpy
installed to have support for basic functions such ascv.fromarray
:means that your problem has been solved by the MacPorts community. is it a problem of the latest source? the version you compile is the one (opencv 2.2.0) used by macports.
Your question is about compiling from source. Looking at the portfile linked to that you'll be able to locate your problem. to find the Portfile, do:
or directly
this will list all configuration flags necessary for a working openCV.