Pagina 1 di 1
BeagleBoard && Opencv && libtool error
Inviato: mer 15 set 2010, 9:20
da tgmx
Ciao Ragazzi,
sto cercando di compilare le librerie opencv per la BeagleBoard (con OS angstrom).
L'SDK di angstrom l'ho scaricato da:
http://www.angstrom-distribution.org/to ... .2.tar.bz2
Funziona bene e riesco anche a compilare applicazioni QT4 quindi non ho dubbi di installazione errata.
Per compilare le opencv ho seguito questa procedura:
Codice: Seleziona tutto
. /usr/local/angstrom/arm/environment-setup -> per impostare alcune variabili d'ambiente
export CC=/usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-gcc
export CXX=/usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++
./configure --host=arm-linux
make
ad un certo punto durante la compilazione ottengo:
Codice: Seleziona tutto
/bin/sh ../libtool --tag=CC --mode=compile /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -I.. -I../3rdparty/include -DNDEBUG -I../3rdparty/flann -I../3rdparty/flann/algorithms -I../3rdparty/flann/nn -I../3rdparty/flann/util -O2 -fomit-frame-pointer -ffloat-store -MT lib_clapack_floatstore_la-slamch.lo -MD -MP -MF .deps/lib_clapack_floatstore_la-slamch.Tpo -c -o lib_clapack_floatstore_la-slamch.lo `test -f 'lapack/slamch.c' || echo './'`lapack/slamch.c
libtool: compile: /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -I.. -I../3rdparty/include -DNDEBUG -I../3rdparty/flann -I../3rdparty/flann/algorithms -I../3rdparty/flann/nn -I../3rdparty/flann/util -O2 -fomit-frame-pointer -ffloat-store -MT lib_clapack_floatstore_la-slamch.lo -MD -MP -MF .deps/lib_clapack_floatstore_la-slamch.Tpo -c lapack/slamch.c -fPIC -DPIC -o .libs/lib_clapack_floatstore_la-slamch.o
mv -f .deps/lib_clapack_floatstore_la-slamch.Tpo .deps/lib_clapack_floatstore_la-slamch.Plo
/bin/sh ../libtool --tag=CC --mode=link /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-gcc -O2 -fomit-frame-pointer -ffloat-store -no-undefined -Wc, -o lib_clapack_floatstore.la lib_clapack_floatstore_la-dlamch.lo lib_clapack_floatstore_la-slamch.lo -lrt -lz -lpthread -ldl -lm
libtool: link: cannot find the library `' or unhandled argument `/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi'
make[2]: *** [lib_clapack_floatstore.la] Error 1
make[2]: Leaving directory `/home/luca/tmp/OpenCV-2.0.0/3rdparty'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/luca/tmp/OpenCV-2.0.0'
make: *** [all] Error 2
E' come se libtool non trova /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi ma in realtà la directory esiste.
Avete esperienza con problemi di questo tipo?
Re: BeagleBoard && Opencv && libtool error
Inviato: mer 15 set 2010, 10:49
da 414N
Mi viene in mente un errore subdolo di libtool che mi è spuntato fuori di recente durante una compilazione: per caso hai il path "." nel tuo PATH?
Sembra che libtool si rifiuti di funzionare normalmente se lo rileva.
Re: BeagleBoard && Opencv && libtool error
Inviato: mer 15 set 2010, 11:21
da tgmx
414N ha scritto:Mi viene in mente un errore subdolo di libtool che mi è spuntato fuori di recente durante una compilazione: per caso hai il path "." nel tuo PATH?
Sembra che libtool si rifiuti di funzionare normalmente se lo rileva.
Pare di sì :
echo $PATH
/usr/local/angstrom/arm/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib/java/bin:/usr/lib/kde4/libexec:/usr/kerberos/bin:/usr/lib/qt/bin:/usr/share/texmf/bin:.
Ora provo a toglierlo e vediamo cosa succede.
Intanto grazie della dritta.
Re: BeagleBoard && Opencv && libtool error
Inviato: mer 15 set 2010, 11:39
da tgmx
No, niente da fare.
Ora però ho ripetuto la procedura in un'altra macchina (con slack 13.1) e l'errore se non altro è più significativo:
Codice: Seleziona tutto
/bin/sh ../libtool --tag=CXX --mode=link /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++ -O2 -fomit-frame-pointer -no-undefined -Wc, -version-info 4:0:0 -o libhighgui.la -rpath /usr/local/lib precomp.lo lib_highgui.la libcxcore.la libcv.la -pthread -lgthread-2.0 -lrt -lglib-2.0 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgdk_pixbuf-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lpng12 -ljpeg -lz -ltiff -ljasper -lrt -lz -lpthread -ldl -lm
../libtool: line 6413: cd: $SDK_PATH/$TARGET_SYS/usr/lib: No such file or directory
libtool: link: warning: cannot determine absolute directory name of `$SDK_PATH/$TARGET_SYS/usr/lib'
/usr/bin/grep: $SDK_PATH/$TARGET_SYS/usr/lib/libgobject-2.0.la: No such file or directory
/usr/bin/sed: can't read $SDK_PATH/$TARGET_SYS/usr/lib/libgobject-2.0.la: No such file or directory
libtool: link: `$SDK_PATH/$TARGET_SYS/usr/lib/libgobject-2.0.la' is not a valid libtool archive
make[2]: *** [libhighgui.la] Error 1
make[2]: Leaving directory `/mnt/temporanea/luca/OpenCV-2.0.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/temporanea/luca/OpenCV-2.0.0'
make: *** [all] Error 2
A quanto pare l'errore è:
Codice: Seleziona tutto
../libtool: line 6413: cd: $SDK_PATH/$TARGET_SYS/usr/lib: No such file or directory
e la riga di libtool 6413 è:
ma $SDK_PATH e $TARGET_SYS sono definite e la directory $SDK_PATH/$TARGET_SYS/usr/lib esiste:
Codice: Seleziona tutto
luca@slack131:/mnt/temporanea/luca/OpenCV-2.0.0$ echo $SDK_PATH
/usr/local/angstrom/arm
luca@slack131:/mnt/temporanea/luca/OpenCV-2.0.0$ echo $TARGET_SYS
arm-angstrom-linux-gnueabi
luca@slack131:/mnt/temporanea/luca/OpenCV-2.0.0$ echo $SDK_PATH/$TARGET_SYS/usr/lib
/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/lib
Re: BeagleBoard && Opencv && libtool error
Inviato: mer 15 set 2010, 11:52
da 414N
Dall'errore sembra che $SDK_PATH e $TARGET_SYS non vengano espanse col loro contenuto prima di essere passate a libtool, risultando nell'errore di "No such file or directory". Se noti, anche grep e sed si lamentano della stessa cosa dopo libtool.
Penso sia un problema di configure e/o Makefile di opencv. Prova a vedere come e se vengono trattate le suddette variabili, magari cercandone le occorrenze con grep nella directory dei sorgenti di opencv.
PS: ma le opencv non sono passate a cmake come build-system con la versione 2? Usi ancora la versione 1.x?
Re: BeagleBoard && Opencv && libtool error
Inviato: mer 15 set 2010, 12:01
da tgmx
In realtà pare che le variabili siano definite bene perchè ho aggiunto a libtool le seguenti righe:
Codice: Seleziona tutto
echo $SDK_PATH
echo $TARGET_SYS
echo $dir
absdir=`cd "$dir" && pwd`
e lanciando il make ottengo:
Codice: Seleziona tutto
make[2]: Entering directory `/mnt/temporanea/luca/OpenCV-2.0.0/src'
/bin/sh ../libtool --tag=CXX --mode=link /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++ -O2 -fomit-frame-pointer -no-undefined -Wc, -version-info 4:0:0 -o libhighgui.la -rpath /usr/local/lib precomp.lo lib_highgui.la libcxcore.la libcv.la -pthread -lgthread-2.0 -lrt -lglib-2.0 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgdk_pixbuf-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lpng12 -ljpeg -lz -ltiff -ljasper -lrt -lz -lpthread -ldl -lm
/usr/local/angstrom/arm
arm-angstrom-linux-gnueabi
$SDK_PATH/$TARGET_SYS/usr/lib
../libtool: line 6416: cd: $SDK_PATH/$TARGET_SYS/usr/lib: No such file or directory
libtool: link: warning: cannot determine absolute directory name of `$SDK_PATH/$TARGET_SYS/usr/lib'
/usr/bin/grep: $SDK_PATH/$TARGET_SYS/usr/lib/libgobject-2.0.la: No such file or directory
/usr/bin/sed: can't read $SDK_PATH/$TARGET_SYS/usr/lib/libgobject-2.0.la: No such file or directory
libtool: link: `$SDK_PATH/$TARGET_SYS/usr/lib/libgobject-2.0.la' is not a valid libtool archive
make[2]: *** [libhighgui.la] Error 1
make[2]: Leaving directory `/mnt/temporanea/luca/OpenCV-2.0.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/temporanea/luca/OpenCV-2.0.0'
make: *** [all] Error 2
e come si vede subito prima della segnalazione di libtool:
Codice: Seleziona tutto
/usr/local/angstrom/arm
arm-angstrom-linux-gnueabi
$SDK_PATH/$TARGET_SYS/usr/lib
$SDK_PATH è definita
$TARGET_SYS è definita
ma $dir viene vista come $SDK_PATH/$TARGET_SYS/usr/lib e non con il percorso vero ...
Mah...
Re: BeagleBoard && Opencv && libtool error
Inviato: mer 15 set 2010, 12:54
da 414N
tgmx ha scritto:
$SDK_PATH è definita
$TARGET_SYS è definita
ma $dir viene vista come $SDK_PATH/$TARGET_SYS/usr/lib e non con il percorso vero ...
Mah...
Cerca le occorrenze di dir e guarda come viene definita. Probabilmente, a causa di una svista di uno sviluppatore, viene definita in modo errato, in modo che non vengano espanse eventuali variabili al suo interno.
Re: BeagleBoard && Opencv && libtool error
Inviato: mer 15 set 2010, 16:56
da tgmx
Grazie mille della collaborazione ma alla fine ho capito come cross-compilare per la Beagleboard con cmake e ho utilizzato l'ultima versione delle OpenCV (2.1 basate su cmake).
In questo modo è filato tutto liscio.
La guida utilizzata è questa:
http://www.paraview.org/Wiki/CMake_Cross_Compiling
Grazie ancora.
Re: BeagleBoard && Opencv && libtool error
Inviato: mer 15 set 2010, 18:17
da 414N
tgmx ha scritto:Grazie mille della collaborazione ma alla fine ho capito come cross-compilare per la Beagleboard con cmake e ho utilizzato l'ultima versione delle OpenCV (2.1 basate su cmake).
In questo modo è filato tutto liscio.
La guida utilizzata è questa:
http://www.paraview.org/Wiki/CMake_Cross_Compiling
Grazie ancora.
Figurati. Metti [RISOLTO] nel titolo del tuo primo post

Re: BeagleBoard && Opencv && libtool error
Inviato: gio 16 set 2010, 8:20
da tgmx
Il problema del titolo in realtà non è proprio risolto... ho solo rinunciato ad installare quella versione di Opencv...

Re: BeagleBoard && Opencv && libtool error
Inviato: sab 11 dic 2010, 23:59
da i-alca
tgmx ha scritto:Grazie mille della collaborazione ma alla fine ho capito come cross-compilare per la Beagleboard con cmake e ho utilizzato l'ultima versione delle OpenCV (2.1 basate su cmake).
In questo modo è filato tutto liscio.
La guida utilizzata è questa:
http://www.paraview.org/Wiki/CMake_Cross_Compiling
Grazie ancora.
Ciao,
la questione mi interessa: che prestazioni ottieni dalle OpenCV sulla Beagle?
Grazie!
