2011-03-09 10 views
6

Mac에서 소스에서 opencv를 컴파일하려고합니다. 내가 CMakeCache.txt 다음 한Mac OS에서 "import cv"중 "Segmentation fault"

는 : http://pastebin.com/KqPHjBx0

나는 ccmake .. 눌러 c, 다음 g합니다. 나는 sudo make -j8 수 있도록보다 : http://pastebin.com/W77syYBj

내가 파이썬에서 import cv 수 있도록보다이 스택 트레이스로 "분할 폴"을 얻을 : 내가 sudo make install을보다 http://pastebin.com/cJyr1cEd

http://pastebin.com/gegYAK1u

그렇게하지 나를 도우는 데 도움이 될 수있는 것이 무엇인지 아십시오, pls. 물어 보겠습니다.

+0

안녕하세요, 어떻게 스택 추적을 만들었습니까? –

답변

1

로그에서 MacPorts와 Python 2.6을 사용하는 것 같습니다.

sudo port install py26-numpy 

이 문제가 해결되었다는 것을 의미합니다 :

sudo port install opencv +python26 

하는 py26-numpycv.fromarray 등의 기본 기능에 대한 지원을 위해 설치해야합니다 :

opencv는이 프레임 워크에서 잘 컴파일 MacPorts 커뮤니티. 최신 소스의 문제입니까? 컴파일 한 버전은 macports에서 사용하는 버전 (opencv 2.2.0)입니다.

귀하의 질문은 소스에서 컴파일에 관한 것입니다. 링크 된 portfile을 보면 문제를 찾을 수 있습니다. Portfile을 찾기 위해 수행

port file opencv 

직접

sudo port edit opencv 

이이 작업을 OpenCV에 필요한 모든 구성 플래그를 나열합니다.

+0

이미 다른 변화를 시도하고 그들 중 많은 사람들이 다른 결과로 실패했습니다. 지금 지저분한 시스템이 있습니다. ---- 은 내가 python_select 설치했습니다. python26-apple과 python26의 두 가지 변종이있다. -apple을 선택한 경우이 게시물에 설명 된 상황이 있습니다. --- 두 번째 선택한 데 나는 이것을 가지고 http://pastebin.com/ve7wjFy5. --- 다음은 무엇을 가지고 python26 수입 경로 : http://pastebin.com/1kggWJZB Python26-애플이 있습니다 http://pastebin.com/eDmXfpgg –

+0

그냥 경우 - 내가 OpenCV의 아래에 언급 얻을 여기 어디에/opt/: http://pastebin.com/Qij5kuFt --- 여기에 이미 cv.so가 있습니다 : http://pastebin.com/Di8MvSJj –

8

동일한 상황이 발생하여 다음 단계가 해결되었습니다.

ccmake (ccmake -G "Unix Makefiles" .)에서 t을 눌러 고급 모드로 전환하십시오.

변경 PYTHON_LIBRARY 값을 /opt/local/lib/libpython2.6.dylibPYTHON_INCLUDE_DIR에서 /opt/local/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6으로 변경하십시오.

특정 경로는 사용중인 Python의 버전 (2.6 또는 2.7 등)에 따라 달라집니다. 당신이 (/ opt에있다) 대신 MacPorts를의 시스템 파이썬을 사용하는 경우 또한, 당신은 아마로 PYTHON_LIBRARY을 원하는 /usr/lib/libpython2.6.dylib

+0

감사합니다! 나를 위해 그것을 고쳤다. – so12311

+0

이는'install'' 밖으로 오류가 발생한 만든다하더라도, 나를 위해 그것을 해결하는 것 같았다. 그림을 이동. – crizCraig

+0

나는 같은 오류가 있었지만,이 대답을 이해할 수 없었다. 그러나'sudo port select --set python python27'을 입력하면 segfault가 수정되었습니다. – Richard

0

타이핑 :

sudo port select --set python python27 

나를 위해 segfault를 수정했습니다.

0

문제는 당신이 사용을 OpenCV를 설치 한 경우

sudo port install opencv +python26 

유형

sudo port select --set python python26 

를 사용 OpenCV의를 설치 한 경우 MacPorts를가 ~는/usr/lib에

에서 재 작성 cv.so했다, 간단

sudo port install opencv +python27 

유형

을 OpenCV와 함께 nevereinding의 문제가

sudo port select --set python python27 

은 "버그"그 python2.7 인터프리터가 python2.6를 열려고 SEG (11) (또는 그 반대)을 잘못 부여합니다 바이너리를 컴파일 사전된다 소스 코드가없고 컴파일러가 내장 된 컴파일러 (플랫폼 등)에 종속적 인 바이너리 만 있습니다.

관련 문제