Compilazione di VDR >= 1.7.36

Forum principale per problemi di compilazione, installazione, configurazione etc.

Moderatori: ragno, tapino, alez, zulu, davidea

Rispondi
lukkino
Messaggi: 1086
Iscritto il: 20 gen 2007, 09:49

Compilazione di VDR >= 1.7.36

Messaggio da lukkino »

A partire dalla versione di VDR 1.7.36 e successive, nella compilazione dei sorgenti, è stato adottato il sistema FHS ("Filesystem Hierarchy Standard").
In sostanza è un insieme di regole che stabiliscono dove devono trovarsi i file di configurazione, gli eseguibili, le localizzazioni, ecc...
E' uno standard ormai adottato da tutte le principali distribuzioni Linux, e in questo modo c'è più omogeneità nel funzionamento tra le varie distribuzioni.

Per compilare VDR ora si devono eseguire questi comandi:

Codice: Seleziona tutto

make
make install
In questo caso il tutto viene installato in "/usr/local", cioè l'installazione standard per i programmi compilati da sorgente, come stabilito da FHS.

Per quanto riguarda i plugins, vengono compilati e installati in automatico con il nuovo sistema.
Nel caso in cui ci fosse la necessità di compilare un nuovo plugin senza perdere tempo a ricompilare anche VDR, basta dare i comandi:

Codice: Seleziona tutto

make plugins
make install
Nel caso volessimo ricompilare VDR eseguire questi comandi:

Codice: Seleziona tutto

make clean
make
make install
Nel caso volessimo ricompilare VDR e tutti i plugins eseguire questi comandi:

Codice: Seleziona tutto

make clean-plugins
make clean
make
make install
Con il nuovo sistema di compilazione, in PLUGINS/lib non troviamo più i nostri plugins compilati come avveniva una volta, ma sono disponibili solo in "/usr/local/lib/vdr/"

Comunque VDR offre la possibilità di personalizzare le opzioni di compilazione ed installazione, in particolare dove installare i file di configurazione, dove trovare degli header dvb alternativi, dove salvare i file video delle registrazioni, ecc...

Per fare questo eseguire il comando:

Codice: Seleziona tutto

cp Make.config.template Make.config
Aprendo il file Make.config con un editor di testo, abbiamo varie opzioni che possiamo modificare come vogliamo e secondo le nostre necessità.

Nel caso volessimo compilare VDR alla vecchia maniera con i nostri plugins presenti in "PLUGINS/lib" e i file di configurazione e le registrazioni in "/video", e poi avviare VDR direttamente dai sorgenti, senza dare il comando "make install", dobbiamo utilizzare le nuove opzioni LCLBLD=1 e ONEDIR=1.

Vi posto il mio file Make.config:

Codice: Seleziona tutto

LCLBLD=1
ONEDIR=1

ifdef LCLBLD
LOCDIR = $(CWD)/locale
PLUGINDIR = $(CWD)/PLUGINS
ifndef PLUGIN
LIBDIR = $(PLUGINDIR)/lib
endif
HDRDIR = $(CWD)/include
endif

ifdef ONEDIR
VIDEODIR = /video
CACHEDIR = $(VIDEODIR)
CONFDIR = $(VIDEODIR)
RESDIR = $(VIDEODIR)
endif
Poi eseguo il comando:

Codice: Seleziona tutto

make
Alla fine della compilazione mi ritrovo VDR compilato ed eseguibile alla vecchia maniera, senza sporcare altre directory di Linux, ma tutto in una sola directory, per un facile backup :)

Ciao :D
VDRBOX: GA-K8NS, AMD Sempron 2600+, Hauppauge Nexus 2.1, LFS
tapino
Messaggi: 523
Iscritto il: 28 gen 2007, 11:50

Re: Compilazione di VDR >= 1.7.36

Messaggio da tapino »

Grazie Lukk .
nino
Messaggi: 319
Iscritto il: 19 gen 2007, 23:43

Re: Compilazione di VDR >= 1.7.36

Messaggio da nino »

Grazie lukk, sono proprio queste le "novità" che non ho ancora ben compreso, visto che si puo' fare ancora alla vecchia maniera (io cercherò di usare la vecchia maniera, ma fino a vdr .38 non mi ha funzionato nulla e quindi vedrò il da farsi. Sono ritornato di corsa alla .31). E poi, perchè sporcare altre dir delle distro? A me non è sembrata una novità tutto questo (non mi riferisco solo a vdr) ma un passo indietro introducendo un altro elemento di confusione. Io la vedo così.

Ciao.
VDRbox HD: P4 3.06 ghz, 1 gb di ram, 2 HDD IDE 250+320 gb, NVIDIA GT520 PCI passiva, VDR 2.2.0, openSUSE 13.1, Hauppauge Nova PCI DVB-S2, Technotrend DVB-T 1500 PCI, telecomando Hauppauge, case Accent HT-200.

Vu+ Duo2 BH 2.1.5.
unixer
Messaggi: 205
Iscritto il: 07 dic 2009, 23:21

Re: Compilazione di VDR >= 1.7.36

Messaggio da unixer »

nino ha scritto:Grazie lukk, sono proprio queste le "novità" che non ho ancora ben compreso, visto che si puo' fare ancora alla vecchia maniera (io cercherò di usare la vecchia maniera, ma fino a vdr .38 non mi ha funzionato nulla e quindi vedrò il da farsi. Sono ritornato di corsa alla .31). E poi, perchè sporcare altre dir delle distro? A me non è sembrata una novità tutto questo (non mi riferisco solo a vdr) ma un passo indietro introducendo un altro elemento di confusione. Io la vedo così.

Ciao.
Buona domenica delle palme a tutti :D
da quello che mi è sembrato capire dal forum tedesco il tutto si è reso necessaio al fine di poter pacchettizzare ogni singolo plugins di vdr

Comunque alla fine è sono una questione di abitudine
io il Make.config per la sifbox l'ho modificato così

Codice: Seleziona tutto

# Default directories (adjust as necessary or desired):

PREFIX    = /usr
BINDIR    = $(PREFIX)/bin
INCDIR    = $(PREFIX)/include
VIDEODIR     = /media/video
CONFDIR      = /etc/vdr
CACHEDIR     = /var/cache/vdr
PCDIR     = $(PREFIX)/lib/pkgconfig
RESDIR       = $(PREFIX)/share/vdr
LOCDIR       = $(PREFIX)/share/locale
PLUGINLIBDIR = $(PREFIX)/lib/vdr/plugins
LIBDIR    = $(PREFIX)/lib/vdr/plugins
#DVBDIR   =
LIBS += -lintl
BIDI = 1
LIBDIR       = $(PREFIX)/lib/vdr/plugins
ifndef PLUGIN # don't overwrite for plugins with old makefiles
LIBDIR    = $(PREFIX)/lib/vdr/plugins
endif
HDRDIR       = $(CWD)/include
poi con un sed in fase di compilazione mi vado a modificare la variabile DVBDIR facendo puntare il tutto ai sorgenti del kernel ;)

Codice: Seleziona tutto

sed -i "s|#DVBDIR   =|DVBDIR=$SYSROOT_PREFIX/usr|" Make.config
Avatar utente
jan23
Messaggi: 202
Iscritto il: 08 gen 2008, 21:23
Località: in giro...

Re: Compilazione di VDR >= 1.7.36

Messaggio da jan23 »

Grazie @lukk,


se state usando FHS potrei chiedervi di segnalare eventuali problemi?

Io ho continuato a usare LCLBLD=1 e per ora non ho avuto particolari problemi,
tranne con xineliboutput (makefile non aggiornato) che non copia automaticamente
gli eseguibili in "PLUGINS/lib".

ciao a tutti
buona Domenica delle Palme
VDR: vdr-2.0.5 (FHS) e 2.1.3 (LCLBLD) su Opensuse-13.1 (x86_64), TT S2-6400, LNB Inverto Twin Black Ultra, rotore Moteck SG-2100
Avatar utente
jan23
Messaggi: 202
Iscritto il: 08 gen 2008, 21:23
Località: in giro...

Re: Compilazione di VDR >= 1.7.36

Messaggio da jan23 »

Il primo problema con FHS lo segnalo io :)

I plugin che non compilano vanno tolti altrimenti il "make install" non copia gli eseguibili di nessun plugins
in /usr/local/lib/vdr,neanche di quelli che hanno compilato correttamente.
Il problema non si verifica invece se compiliamo alla vecchia maniera.

ciao a tutti
VDR: vdr-2.0.5 (FHS) e 2.1.3 (LCLBLD) su Opensuse-13.1 (x86_64), TT S2-6400, LNB Inverto Twin Black Ultra, rotore Moteck SG-2100
nino
Messaggi: 319
Iscritto il: 19 gen 2007, 23:43

Re: Compilazione di VDR >= 1.7.36

Messaggio da nino »

Tombola!, jan!. E' proprio quello che mi è capitato con vdr .38-.39 (oltre non sono andato). Aggiungo che nel mio caso nessuno dei plugins "aggiornati" ha in realtà funzionato, nonostante poi la compilazione sia andata a buon fine, apparentemente. Come ho già detto, ho subito ripiegato sulla .31 che da me non ha dato e non da il minimo problema. Vedro' il da farsi quando esce vdr 2.0.

Saluti.
VDRbox HD: P4 3.06 ghz, 1 gb di ram, 2 HDD IDE 250+320 gb, NVIDIA GT520 PCI passiva, VDR 2.2.0, openSUSE 13.1, Hauppauge Nova PCI DVB-S2, Technotrend DVB-T 1500 PCI, telecomando Hauppauge, case Accent HT-200.

Vu+ Duo2 BH 2.1.5.
Avatar utente
jan23
Messaggi: 202
Iscritto il: 08 gen 2008, 21:23
Località: in giro...

Re: Compilazione di VDR >= 1.7.36

Messaggio da jan23 »

ciao nino,

è bastato eliminare il link simbolico al plugin che non compilava e fare qualche modifica al runvdr.
Per il resto ha funzionato senza problemi.

Per quanto riguardo il runvdr, mi sono limitato a linkare gli eseguibili di vdr e dei plugin.
Tutto il resto ho lasciato come stava

Codice: Seleziona tutto

VDROPT="$VDROPT --device=0"
VDROPT="$VDROPT --device=1"
VDROPT="$VDROPT --lib=/usr/local/lib/vdr"
VDROPT="$VDROPT --config=/VDR2config"
VDROPT="$VDROPT --epgfile=/VDR2config"
VDROPT="$VDROPT --resdir=/VDR2config/plugins/"

VDROPT="$VDROPT --video=/DATA/REC" 
ciao a tutti
VDR: vdr-2.0.5 (FHS) e 2.1.3 (LCLBLD) su Opensuse-13.1 (x86_64), TT S2-6400, LNB Inverto Twin Black Ultra, rotore Moteck SG-2100
lukkino
Messaggi: 1086
Iscritto il: 20 gen 2007, 09:49

Re: Compilazione di VDR >= 1.7.36

Messaggio da lukkino »

jan23 ha scritto:Io ho continuato a usare LCLBLD=1 e per ora non ho avuto particolari problemi,
tranne con xineliboutput (makefile non aggiornato) che non copia automaticamente
gli eseguibili in "PLUGINS/lib".
Ma usi LCLBLD in questo modo:

Codice: Seleziona tutto

make LCLBLD=1
a me in questo modo non compila nulla all'interno dei sorgenti di VDR se non esiste un file Make.config come quello ho postato...

Ciao
VDRBOX: GA-K8NS, AMD Sempron 2600+, Hauppauge Nexus 2.1, LFS
Avatar utente
jan23
Messaggi: 202
Iscritto il: 08 gen 2008, 21:23
Località: in giro...

Re: Compilazione di VDR >= 1.7.36

Messaggio da jan23 »

lukkino ha scritto:Ma usi LCLBLD in questo modo:

Codice: Seleziona tutto

make LCLBLD=1
a me in questo modo non compila nulla all'interno dei sorgenti di VDR se non esiste un file Make.config come quello ho postato...
Dopo aver modificato il make.config

Codice: Seleziona tutto

# Overrides for preset/legacy configurations:
LCLBLD=1
ONEDIR=1
dò semplicemente "make" e vdr viene compilato alla vecchia maniera compresi i plugin, come hai riportato tu.

L'altro modo sarebbe

Codice: Seleziona tutto

cp Make.config.template Make.config
make LCLBLD=1 ONEDIR=1
Quindi senza andare a modificare il file.

Ma nei post di oggi riferivo di vdr complilato secondo il nuovo FHS

Codice: Seleziona tutto

make 
make install
senza l'utilizzo di make.config

ciao
VDR: vdr-2.0.5 (FHS) e 2.1.3 (LCLBLD) su Opensuse-13.1 (x86_64), TT S2-6400, LNB Inverto Twin Black Ultra, rotore Moteck SG-2100
lukkino
Messaggi: 1086
Iscritto il: 20 gen 2007, 09:49

Re: Compilazione di VDR >= 1.7.36

Messaggio da lukkino »

Ok :D

Ciao
VDRBOX: GA-K8NS, AMD Sempron 2600+, Hauppauge Nexus 2.1, LFS
Rispondi