Pergunta
Recebo o seguinte erro ao criar OpenCV no OS X 10.5 (Intel):
ld: warning in .libs/_cv_la-_cv.o, file is not of required architecture
ld: warning in .libs/_cv_la-error.o, file is not of required architecture
ld: warning in .libs/_cv_la-pyhelpers.o, file is not of required architecture
ld: warning in .libs/_cv_la-cvshadow.o, file is not of required architecture
ld: warning in ../../../cv/src/.libs/libcv.dylib, file is not of required architecture
ld: warning in /Developer/SDKs/MacOSX10.4u.sdk/usr/local/lib/libcxcore.dylib, file is not of required architecture
Undefined symbols for architecture i386:
"_fputs$UNIX2003", referenced from:
_PySwigObject_print in _cv_la-_cv.o
_PySwigPacked_print in _cv_la-_cv.o
_PySwigPacked_print in _cv_la-_cv.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Sr/Srq9N4R8Hr82xeFvW3o-uk+++TI/-Tmp-//cchT0WVX.out (No such file or directory)
make[4]: *** [_cv.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Enquanto estiver executando ./configure ---without-python está tudo bem. Outra coisa estranha é que, quando usei o Python 2.4.5 ou 2.5.1 Tudo construiu OK, o problema ocorreu após a mudança para o Python Framework 2.5.2
Solução 3
Ok, eu meio que trabalhei
Ele precisa ser compilado com Python da Macports ou qualquer outra coisa. Então eu preciso correr /System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5
(Esta é a minha versão anterior do Python) e lá o OpenCV apenas funciona.
Outras dicas
Parece um pouco estranho que esteja alertando sobre diferentes arquiteturas ao procurar/developer/sdks/macosx10.4u.sdk enquanto vinculando - você pode nos dar mais detalhes sobre o seu ambiente de construção (versão do Xcode, GCC, Python, $ Path etc)
Como alternativa, nenhum dos binários do OpenCV não funciona para você?
/Developer/sdks/macosx10.4u.sdk/usr/local/lib é apenas um link para/usr/local/lib após a exclusão de arquivos que causaram os avisos que estou recebendo:
ld: warning in .libs/_cv_la-_cv.o, file is not of required architecture
ld: warning in .libs/_cv_la-error.o, file is not of required architecture
ld: warning in .libs/_cv_la-pyhelpers.o, file is not of required architecture
ld: warning in .libs/_cv_la-cvshadow.o, file is not of required architecture
ld: warning in ../../../cv/src/.libs/libcv.dylib, file is not of required architecture
ld: warning in /Users/Pietras/opencv/cxcore/src/.libs/libcxcore.dylib, file is not of required architecture
Undefined symbols for architecture i386: ... `
E esses arquivos são criados por Make.
GCC: i686-Apple-Darwin9-GCC-4.0.1
$ Caminho:
/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/sw/bin:/sw/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/AVRMacPack/bin:/usr/X11R6/bin
Xcode 3 (mais recente)
Python 2.5.1 (R251: 54869, 18 de abril de 2007, 22:08:04) - MacPython de python.org (tentou fazer o downgrade e usá -lo em vez de 2.5.2, mas isso não funciona mais ...)
which python
/Library/Frameworks/Python.framework/Versions/Current/bin/python
Não encontrei nenhum binário Python OpenCV para o OS X. Tentei fazer isso enquanto configura o Python2.4 ou 2.5 de Macports como padrão e ele compila e instala, mas quando tento importar, há um erro de barramento ou fatal Interpretro de erro do Python não é inicializado (Incompatibilidade da versão?) E desiste.