Compilazione vlc

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
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.
Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Compilazione vlc

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

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

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

;)

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »


Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Messaggio 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


Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

Devi installare le librerie Mesa

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

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

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio 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

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

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

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio 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

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

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

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio 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

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Messaggio da Dani »

Ehm...E' quello che ho fatto :!:

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

Guarda l'errore è lo dice

Codice: Seleziona tutto

avcodec.h: No such file or directory
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 \

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

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

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Messaggio da Dani »

Dani ha scritto: Ho creato in ~/archivio/lib/ la directory ffmpeg dentro la quale ho estratto le ffmpeg.
Ecco dove sbagliavo ! Immagine

Mi rimane un ultimo problema: non riesco a vedere i wmv... Immagine

Rispondi