Pagina 1 di 2

[RISOLTO]Errore opencv

Inviato: gio 14 giu 2012, 17:57
da RedSkull92
Ho un problema urgente, ho appena aggiornato le opencv da qui: http://www.slackers.it/repository/opencv/pkg/
Sto svolgendo un progetto proprio con le opencv quindi mi appresto per compilare un sorgente che fino a ieri compilava (avevo la versione 2.3.1 delle opencv scaricate da lì)
e mi spuntano questi errori:

Codice: Seleziona tutto

g++ `pkg-config --cflags --libs opencv` head.c -o head
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../../i486-slackware-linux/bin/ld: warning: libavcodec.so.52, needed by /usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../../i486-slackware-linux/bin/ld: warning: libavformat.so.52, needed by /usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../../i486-slackware-linux/bin/ld: warning: libavutil.so.50, needed by /usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../../i486-slackware-linux/bin/ld: warning: libswscale.so.0, needed by /usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_init_packet@LIBAVCODEC_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `avcodec_decode_video@LIBAVCODEC_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_read_frame@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_write_header@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_close_input_file@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_write_frame@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `avcodec_open@LIBAVCODEC_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_codec_get_id@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `avcodec_find_encoder@LIBAVCODEC_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `avcodec_alloc_frame@LIBAVCODEC_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_freep@LIBAVUTIL_50'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_open_input_file@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `url_fclose@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `guess_format@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_register_all@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_rescale_q@LIBAVUTIL_50'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_find_stream_info@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `sws_freeContext@LIBSWSCALE_0'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `sws_scale@LIBSWSCALE_0'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `avpicture_get_size@LIBAVCODEC_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_set_parameters@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `avcodec_find_decoder@LIBAVCODEC_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `dump_format@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `avcodec_encode_video@LIBAVCODEC_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_free_packet@LIBAVCODEC_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `avpicture_fill@LIBAVCODEC_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_write_trailer@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_malloc@LIBAVUTIL_50'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_alloc_format_context@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `avcodec_close@LIBAVCODEC_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_guess_codec@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `sws_getContext@LIBSWSCALE_0'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_sub_q@LIBAVUTIL_50'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `url_fopen@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_new_stream@LIBAVFORMAT_52'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_free@LIBAVUTIL_50'
/usr/lib/gcc/i486-slackware-linux/4.7.0/../../../libopencv_highgui.so: undefined reference to `av_seek_frame@LIBAVFORMAT_52'
collect2: error: ld returned 1 exit status
A cosa diamine sono causati questi errori ?
Il problema è piuttosto urgente, grazie per gli eventuali aiuti

Re: Errore opencv

Inviato: gio 14 giu 2012, 18:17
da RedSkull92
Ho provato a ricompilarmele da me e mi muore il tutto con 'sto errore:

Codice: Seleziona tutto

/tmp/pkg/OpenCV-2.3.1/modules/highgui/src/window_QT.cpp: In function 'int cvWaitKey(int)':
/tmp/pkg/OpenCV-2.3.1/modules/highgui/src/window_QT.cpp:316:16: error: 'usleep' was not declared in this scope
make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/window_QT.o] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2
Come diamine è possibile ?

Re: Errore opencv

Inviato: gio 14 giu 2012, 18:26
da tornadomig
ciao!

mi azzardo...dove compare libavcodec e' problema di ffmpeg...

Re: Errore opencv

Inviato: gio 14 giu 2012, 18:38
da RedSkull92
ho aggiornato ffmpeg con il pacchetto di alien ffmpeg-0.11-i486-1alien ma nisba, il problema rimane quello.
Mi dà sempre i soliti errori : http://pastie.org/4087191

Re: Errore opencv

Inviato: gio 14 giu 2012, 19:04
da 414N
Prova a compilare una versione di opencv più recente (è uscita la 2.4).
Considera che ffmpeg 0.11 è appena uscito e, come solito, ha provocato API breakages gratuite in tutti i programmi che si appoggiavano alle API precedenti...

Re: Errore opencv

Inviato: gio 14 giu 2012, 19:20
da RedSkull92
Questo è il problema.
Ho aggiornato le opencv da 2.3.1 a 2.4.1 e ora non riesco più a compilare.
Sono tornato alla versione di ffmpeg 0.8.11 e la cosa sembra migliorare, ora mi dà solo questo errore:

Codice: Seleziona tutto

/usr/lib/libopencv_highgui.so: undefined reference to `avformat_new_stream@LIBAVFORMAT_53'
/usr/lib/libopencv_highgui.so: undefined reference to `avformat_network_init@LIBAVFORMAT_53'
collect2: error: ld returned 1 exit status
Prima con ffmpeg-0.8.11 e opencv-2.3.1 riuscivo perfettamente a compilare.

Re: Errore opencv

Inviato: gio 14 giu 2012, 19:46
da RedSkull92
Non avete la 2.4.0 o la 2.3.1 compilata ?

Re: Errore opencv

Inviato: gio 14 giu 2012, 20:04
da 414N
Controproposta: opencv da SVN?

Re: Errore opencv

Inviato: gio 14 giu 2012, 20:16
da RedSkull92
Ho tentato di compilare le opencv ma la compilazione mi si pianta con un errore

Re: Errore opencv

Inviato: gio 14 giu 2012, 20:21
da conraid
opencv su slackers.it è compilato con il vecchio pacchetto ffmpeg di alien, 0.10.3, appena posso lo ricompilo. Solo che devo compilare digikam, ed altri. Quindi non so quanto ci metto :-)

libavcodec.so.53 è nella 0.10.3
la 0.11 ha libavcodec.so.54

Re: Errore opencv

Inviato: gio 14 giu 2012, 20:46
da RedSkull92
Conraid saresti così gentile nel frattempo di passarmi la vecchia versione delle opencv ?
o magari ffmpeg 0.10.3 di alien, grazie.

Re: Errore opencv

Inviato: gio 14 giu 2012, 20:59
da conraid
RedSkull92 ha scritto:Conraid saresti così gentile nel frattempo di passarmi la vecchia versione delle opencv ?
o magari ffmpeg 0.10.3 di alien, grazie.
la vecchia versione è sempre su slackers.it, ffmpeg non ce l'ho più, purtroppo faccio un rsync

Re: Errore opencv

Inviato: gio 14 giu 2012, 21:01
da RedSkull92
La vecchia versione delle opencv dove la trovo su Slackers ? Ho trovato solo l'ultima.

Re: Errore opencv

Inviato: gio 14 giu 2012, 21:02
da conraid
RedSkull92 ha scritto:La vecchia versione delle opencv dove la trovo su Slackers ? Ho trovato solo l'ultima.
intendo quella, è l'ultima, ma compilata con ffmpeg 0.10.3

Re: Errore opencv

Inviato: gio 14 giu 2012, 21:07
da RedSkull92
ffmpeg 0.10.3 non si trova più, solo la 11
Quindi diciamo che ho le opencv compilate per ffmpeg 0.10.3 senza avere ffmpeg 0.10.3
Non c'è alcun modo per risolvere la cosa ?
Non puoi ricompilarmi velocemente ffmpeg o le opencv 2.3.1 in modo da usare ffmpeg 0.8.7 ?