Pagina 1 di 2
Compilazione vlc
Inviato: gio 21 dic 2006, 3:07
da Dani
Codice: Seleziona tutto
gcc -Wsign-compare -Wall -march=prescott -O3 -pipe -fomit-frame-pointer -pipe -o libffmpeg_plugin.so -g -shared -fpic -fPIC -u vlc_entry__0_8_6 libffmpeg_plugin.a -L/usr/lib -lpthread -lpostproc -lavformat -lavcodec -lz -ldts -lgsm /usr/lib/libmp3lame.so -lxvidcore -lx264 /usr/lib/libdc1394_control.so /usr/lib/libfaac.so /usr/lib/libfaad.so /usr/lib/libraw1394.so /usr/lib/libvorbisenc.so -lavutil /usr/lib/libvorbis.so /usr/lib/libogg.so -lm
/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../../i486-slackware-linux/bin/ld: cannot find -ldts
collect2: ld returned 1 exit status
make[6]: *** [libffmpeg_plugin.so] Error 1
make[6]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules/codec/ffmpeg'
make[5]: *** [all-modules] Error 1
make[5]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules/codec/ffmpeg'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules/codec'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules/codec'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6'
make: *** [all] Error 2
dani[vlc-0.8.6]$
Che faccio?

Inviato: gio 21 dic 2006, 8:21
da albatros
Io mi muoverei così, pur non avendo mai installato vlc...
Dal messaggio direi che ti manca la libreria dts...
Se cerchi libdts con google trovi subito:
http://developers.videolan.org/libdca.html
Dando una rapida occhiata credo sia la libreria che ti manca, dato che vedo viene usata anche da vlc...

Inviato: gio 21 dic 2006, 8:27
da gohanz
Inviato: gio 21 dic 2006, 17:19
da Dani
ehm, ora dà un altro errore:
Codice: Seleziona tutto
opengl.c:102:22: GL/glu.h: No such file or directory
opengl.c: In function `Init':
opengl.c:514: warning: implicit declaration of function `gluLookAt'
make[4]: *** [libopengl_plugin_a-opengl.o] Error 1
make[4]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules/video_output'
make[3]: *** [all-modules] Error 1
make[3]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules/video_output'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6'
make: *** [all] Error 2
Inviato: gio 21 dic 2006, 17:45
da gohanz
Devi installare le librerie Mesa
Inviato: ven 22 dic 2006, 20:58
da Dani
Ok, sono riuscito a compilarlo ma non riesco a riprodurre nessun video, o meglio riesco a riprodurre solo l'audio.
Codice: Seleziona tutto
dani[~]$ vlc
VLC media player 0.8.6 Janus
[00000284] main decoder error: no suitable decoder module for fourcc `XVID'.
VLC probably does not support this sound or video format.
Inviato: ven 22 dic 2006, 21:06
da gohanz
Dai questo comando da shell
Codice: Seleziona tutto
vlc -v --reset-config --reset-plugins-cache -l | grep wx
Inoltre ricompila FFmpeg eliminando dal configure
--enable-swscaler
--enable-x264
--enable-dc1394
Inviato: ven 22 dic 2006, 21:47
da Dani
gohanz ha scritto:Dai questo comando da shell
Codice: Seleziona tutto
vlc -v --reset-config --reset-plugins-cache -l | grep wx
Fatto, dice:
Codice: Seleziona tutto
dani[~]$ vlc -v --reset-config --reset-plugins-cache -l | grep wx
VLC media player 0.8.6 Janus
[00000001] main private warning: cannot load module `/usr/lib/vlc/codec/libffmpeg_plugin.so' (libpostproc.so.51: cannot open shared object file: No such file or directory)
[00000001] main private warning: cannot load module `/usr/lib/vlc/stream_out/libstream_out_switcher_plugin.so' (libavformat.so.51: cannot open shared object file: No such file or directory)
wxwidgets wxWidgets interface module
wxwidgets wxWidgets dialogs provider
Inoltre ricompila FFmpeg eliminando dal configure
--enable-swscaler
--enable-x264
--enable-dc1394
Ho scaricato
questo, l'ho compilato così:
Codice: Seleziona tutto
dani[~]$ CHOST="i686-pc-linux-gnu" CFLAGS="-march=prescott -O3 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" ./ffmpeg-checkout-2006-12-22/configure --prefix=/usr --enable-vorbis --enable-faad --enable-faac --enable-libgsm --enable-xvid --enable-libogg --enable-gpl
ma una volta installato, avvio vlc, apro il video e...
Codice: Seleziona tutto
VLC media player 0.8.6 Janus
[00000280] avi private warning: unknown chunk (not loaded)
[00000283] main decoder error: no suitable decoder module for fourcc `XVID'.
VLC probably does not support this sound or video format.

Inviato: sab 23 dic 2006, 8:32
da gohanz
Togli anche --enable-libgsm
ricompila FFmpeg e poi recompila VLC con il nuovo FFmpeg, poi vedi che funziona tutto.
Il problema è dovuto al fatto che VLC non è compatabile con tutte la API offerte da FFmpeg.
Se vuoi un consiglio, tra l'altro sto preparando un nuovo pacchetto con queste caratterisiche, compila staticamente FFmpeg all'interno di VLC.
Basta passare al configure di VLC
--with-ffmpeg-tree=/tmp/ffmpeg \
All'interno di /tmp/ffmpeg fai la compilazione dello stesso FFmpeg senza make install.
In questo modo VLC avrà il supporto FFmpeg builtin e non andrà in conflitto, con versioni shared dello stesso
Inviato: mer 27 dic 2006, 1:47
da Dani
Ho ricompilato ffmpeg:
Codice: Seleziona tutto
CHOST="i686-pc-linux-gnu" CFLAGS="-march=prescott -O3 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" ./ffmpeg-checkout-2006-12-22/configure --enable-vorbis --enable-faad --enable-faac --enable-xvid --enable-libogg --enable-gpl --enable-pp
Ho dovuto aggiungere --enable-pp perchè si interrompeva la compilazione di vlc dato che mancava questo supporto, e poi ho ricompilato vlc con -with-ffmpeg-tree come mi hai suggerito.
Durante la compilazione di vlc, pero':
Codice: Seleziona tutto
Making all in ffmpeg
make[5]: Entering directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules/codec/ffmpeg'
make[6]: Entering directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules/codec/ffmpeg'
if gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -DSYS_LINUX -I../../../include `top_builddir="../../.." ../../../vlc-config --cflags builtin pic ffmpeg` -Wsign-compare -Wall -march=prescott -O3 -pipe -fomit-frame-pointer -pipe -MT libffmpeg_a-ffmpeg.o -MD -MP -MF ".deps/libffmpeg_a-ffmpeg.Tpo" \
-c -o libffmpeg_a-ffmpeg.o `test -f 'ffmpeg.c' || echo './'`ffmpeg.c; \
then mv -f ".deps/libffmpeg_a-ffmpeg.Tpo" ".deps/libffmpeg_a-ffmpeg.Po"; \
else rm -f ".deps/libffmpeg_a-ffmpeg.Tpo"; exit 1; \
fi
ffmpeg.c:36:24: avcodec.h: No such file or directory
ffmpeg.c:40:5: #error You must have a libavcodec >= 4680 (get CVS)
In file included from ffmpeg.c:43:
ffmpeg.h:44: error: syntax error before "AVCodecContext"
ffmpeg.h:50: error: syntax error before "AVCodecContext"
ffmpeg.h:85: error: syntax error before "AVFrame"
ffmpeg.c:63: error: syntax error before "AVCodecContext"
ffmpeg.c:63: warning: no semicolon at end of struct or union
ffmpeg.c:64: warning: type defaults to `int' in declaration of `p_codec'
ffmpeg.c:64: warning: data definition has no type or storage class
ffmpeg.c:65: error: syntax error before '}' token
ffmpeg.c: In function `OpenDecoder':
ffmpeg.c:231: error: `AVCodecContext' undeclared (first use in this function)
ffmpeg.c:231: error: (Each undeclared identifier is reported only once
ffmpeg.c:231: error: for each function it appears in.)
ffmpeg.c:231: error: `p_context' undeclared (first use in this function)
ffmpeg.c:232: error: `AVCodec' undeclared (first use in this function)
ffmpeg.c:242: error: `CODEC_ID_AAC' undeclared (first use in this function)
ffmpeg.c:253: warning: implicit declaration of function `avcodec_find_decoder'
ffmpeg.c:253: warning: assignment makes pointer from integer without a cast
ffmpeg.c:261: warning: implicit declaration of function `avcodec_alloc_context'
ffmpeg.c:271: error: `FF_MM_MMX' undeclared (first use in this function)
ffmpeg.c:275: error: `FF_MM_MMXEXT' undeclared (first use in this function)
ffmpeg.c:279: error: `FF_MM_3DNOW' undeclared (first use in this function)
ffmpeg.c:283: error: `FF_MM_SSE' undeclared (first use in this function)
ffmpeg.c:287: error: `FF_MM_SSE2' undeclared (first use in this function)
ffmpeg.c:307: error: dereferencing pointer to incomplete type
ffmpeg.c: In function `CloseDecoder':
ffmpeg.c:323: error: dereferencing pointer to incomplete type
ffmpeg.c:333: error: dereferencing pointer to incomplete type
ffmpeg.c:335: error: dereferencing pointer to incomplete type
ffmpeg.c:336: error: dereferencing pointer to incomplete type
ffmpeg.c:337: error: dereferencing pointer to incomplete type
ffmpeg.c:339: warning: implicit declaration of function `avcodec_close'
ffmpeg.c:339: error: dereferencing pointer to incomplete type
ffmpeg.c:341: error: dereferencing pointer to incomplete type
ffmpeg.c:342: warning: implicit declaration of function `av_free'
ffmpeg.c:342: error: dereferencing pointer to incomplete type
[cut]
ffmpeg.c:1137: error: `CODEC_ID_PCM_U32LE' undeclared here (not in a function)
ffmpeg.c:1137: error: initializer element is not constant
ffmpeg.c:1137: error: (near initialization for `codecs_table[134].i_codec')
ffmpeg.c:1138: error: initializer element is not constant
ffmpeg.c:1138: error: (near initialization for `codecs_table[134]')
ffmpeg.c:1139: error: `CODEC_ID_PCM_U32BE' undeclared here (not in a function)
ffmpeg.c:1139: error: initializer element is not constant
ffmpeg.c:1139: error: (near initialization for `codecs_table[135].i_codec')
ffmpeg.c:1140: error: initializer element is not constant
ffmpeg.c:1140: error: (near initialization for `codecs_table[135]')
ffmpeg.c:1141: error: `CODEC_ID_PCM_ALAW' undeclared here (not in a function)
ffmpeg.c:1141: error: initializer element is not constant
ffmpeg.c:1141: error: (near initialization for `codecs_table[136].i_codec')
ffmpeg.c:1142: error: initializer element is not constant
ffmpeg.c:1142: error: (near initialization for `codecs_table[136]')
ffmpeg.c:1143: error: `CODEC_ID_PCM_MULAW' undeclared here (not in a function)
ffmpeg.c:1143: error: initializer element is not constant
ffmpeg.c:1143: error: (near initialization for `codecs_table[137].i_codec')
ffmpeg.c:1144: error: initializer element is not constant
ffmpeg.c:1144: error: (near initialization for `codecs_table[137]')
ffmpeg.c:1146: error: initializer element is not constant
ffmpeg.c:1146: error: (near initialization for `codecs_table[138]')
make[6]: *** [libffmpeg_a-ffmpeg.o] Error 1
make[6]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules/codec/ffmpeg'
make[5]: *** [all-modules] Error 1
make[5]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules/codec/ffmpeg'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules/codec'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules/codec'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dani/archivio/multimedia/vlc-0.8.6'
make: *** [all] Error 2
Ho tagliato una parte perchè sono oltre 1000 righe di errori

Inviato: mer 27 dic 2006, 8:19
da gohanz
A -with-ffmpeg-tree devi aggiungere il percorso dove si trova FFmpeg compilato. Quindi -with-ffmpeg-tree=/directory compilazione FFmpeg.
L'errore è dovuto al fatto che non trova la directory di compilazione di FFmpeg.
Quindi hai sbagliato la riga di configurazione -with-ffmpeg-tree=/direcory
Inviato: gio 28 dic 2006, 16:07
da Dani
Ehm...E' quello che ho fatto

Inviato: gio 28 dic 2006, 19:07
da gohanz
Guarda l'errore è lo dice
Come si chiama la directory di compilazione di FFmpeg, dove hai dato il make! Sei sicuro che la compilazione di FFmpeg sia andata a buon fine! Ricorda che non serve il make install. Poi che opzione hai passato al configure di VLC per indicare la directory di compilazione FFmpeg?
Nel mio SlackBuild ad esempio
ho
--with-ffmpeg-tree=/tmp/tgz/ffmpeg \
Inviato: ven 29 dic 2006, 2:22
da Dani
Ho fatto così:
Ho creato in ~/archivio/lib/ la directory ffmpeg
dentro la quale ho estratto le ffmpeg.
Poi dalla directory ~/archivio/lib/ffmpeg:
Codice: Seleziona tutto
dani[ffmpeg]$ CHOST="i686-pc-linux-gnu" CFLAGS="-march=prescott -O3 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" ./ffmpeg-checkout-2006-12-22/configure --enable-vorbis --enable-faad --enable-faac --enable-xvid --enable-libogg --enable-gpl --enable-pp
Quindi sono entrato nella directory di vlc dalla quale ho dato:
Codice: Seleziona tutto
dani[vlc-0.8.6]$ CHOST="i686-pc-linux-gnu" CFLAGS="-march=prescott -O3 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" ./configure --prefix=/usr --sysconfdir=/etc --enable-debug --enable-release --enable-live555 --enable-faad --enable-twolame --enable-flac --enable-theora --enable-snapshot --enable-svgalib --enable-arts --enable-ncurses --enable-wxwindows --with-ffmpeg-tree=/home/dani/archivio/lib/ffmpeg/
Ma durante il make mi dà
questo errore !
Inviato: ven 29 dic 2006, 3:04
da Dani
Dani ha scritto:
Ho creato in ~/archivio/lib/ la directory ffmpeg dentro la quale ho estratto le ffmpeg.
Ecco dove sbagliavo !
Mi rimane un ultimo problema: non riesco a vedere i wmv...
