BeagleBoard && Opencv && libtool error

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

BeagleBoard && Opencv && libtool error

Messaggio 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?

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: BeagleBoard && Opencv && libtool error

Messaggio 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.

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: BeagleBoard && Opencv && libtool error

Messaggio 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.

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: BeagleBoard && Opencv && libtool error

Messaggio 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 è:

Codice: Seleziona tutto

absdir=`cd "$dir" && pwd`
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

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: BeagleBoard && Opencv && libtool error

Messaggio 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?

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: BeagleBoard && Opencv && libtool error

Messaggio 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...

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: BeagleBoard && Opencv && libtool error

Messaggio 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.

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: BeagleBoard && Opencv && libtool error

Messaggio 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.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: BeagleBoard && Opencv && libtool error

Messaggio 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 ;)

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: BeagleBoard && Opencv && libtool error

Messaggio da tgmx »

Il problema del titolo in realtà non è proprio risolto... ho solo rinunciato ad installare quella versione di Opencv... :-)

i-alca
Linux 0.x
Linux 0.x
Messaggi: 6
Iscritto il: sab 15 nov 2008, 20:47
Nome Cognome: Alberto
Slackware: 10.2 - 13
Kernel: 2.4.31 - 2.6.34
Località: Genova, Liguria

Re: BeagleBoard && Opencv && libtool error

Messaggio 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! :D

Rispondi