Pagina 1 di 2
[Help] errore nella compilazione di xineliboutput
Inviato: 07 nov 2013, 02:21
da homer314
Ciao ragazzi,
sono arenato nella compilazione della mia vdrbox.
Premettendo sto utilizzando le ultime versione di xine-lib e xineliboutput by git (anche utilizzando le cvs non cambia nulla), vdr 2.0.4, riscontro sempre il medesimo output quando passo il make dentro la path di xineliboutput (ma anche con make plugins dentro la root di vdr)
Codice: Seleziona tutto
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine_input_vdr.o
cc: fatal error: no input file
compilation terminated.
make: *** [xine_input_vdr.o] Error 4
Avete qualche suggerimento ? Cercando in rete trovo solo risposte molto old che fanno riferimento a versione molto vecchie di libreria e plugins
Grazie
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 07 nov 2013, 09:33
da lukkino
Scusa perchè dai il comando "make install"? Se ho capito bene cosa vuoi fare, prima devi compilare e poi installare.
In sequenza:
Prova così
Ciao
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 07 nov 2013, 12:51
da homer314
lukkino ha scritto:Scusa perchè dai il comando "make install"? Se ho capito bene cosa vuoi fare, prima devi compilare e poi installare.
In sequenza:
Prova così
Ciao
Chiedo scusa, ho scritto male, l'ordine che seguo è corretto ovvero come indicato da te.
Aggiungo inoltre che lo stesso output si presenta se provo con il make plugins nella root dei sorgenti di vdr
Di versioni differenti ne ho provate a decine, sia di xine-lib che di xineliboutput
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 07 nov 2013, 13:49
da lukkino
Se hai seguito l'ordine che ti ho dato, dopo il singolo comando "make" dovresti trovarti un file che termina con *.o
Prova questo:
Se non ti restituisce nulla, vuol dire che la compilazione è andata male... e secondo me ti manca qualche dipendenza...
Eventualmente prova questa sequenza:
Codice: Seleziona tutto
make clean
./configure --prefix=/usr/local --disable-libextractor
make all
make install
Di solito xineliboutput da problemi per la mancanza degli header di libextractor, che per l'utilizzo con VDR è inutile.
Ciao
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 07 nov 2013, 14:53
da homer314
lukkino ha scritto:Se hai seguito l'ordine che ti ho dato, dopo il singolo comando "make" dovresti trovarti un file che termina con *.o
Prova questo:
Se non ti restituisce nulla, vuol dire che la compilazione è andata male... e secondo me ti manca qualche dipendenza...
Eventualmente prova questa sequenza:
Codice: Seleziona tutto
make clean
./configure --prefix=/usr/local --disable-libextractor
make all
make install
Di solito xineliboutput da problemi per la mancanza degli header di libextractor, che per l'utilizzo con VDR è inutile.
Ciao
Per prima cosa grazie per il supporto.
Purtroppo il make del plugin non sembra accettare il parametro prefix ("unknown option --prefix=/usr/local"), ed anche disabilitando libextractor ottengo il medesimo errore
Questi i files generati
Codice: Seleziona tutto
-rw-r--r-- 1 root root 10568 nov 7 14:49 black_720x576.o
-rw-r--r-- 1 root root 132912 nov 7 14:49 config.o
-rw-r--r-- 1 root root 225084 nov 7 14:49 device.o
-rw-r--r-- 1 root root 44976 nov 7 14:49 equalizer.o
-rw-r--r-- 1 root root 82636 nov 7 14:49 frontend_local.o
-rw-r--r-- 1 root root 138040 nov 7 14:49 frontend.o
-rw-r--r-- 1 root root 296876 nov 7 14:49 frontend_svr.o
-rw-r--r-- 1 root root 5900 nov 7 14:49 logdefs.o
-rw-r--r-- 1 root root 217224 nov 7 14:49 media_player.o
-rw-r--r-- 1 root root 62440 nov 7 14:49 menuitems.o
-rw-r--r-- 1 root root 149428 nov 7 14:49 menu.o
-rw-r--r-- 1 root root 14972 nov 7 14:49 nosignal_720x576.o
-rw-r--r-- 1 root root 89988 nov 7 14:49 osd.o
-rw-r--r-- 1 root root 313268 nov 7 14:49 setup_menu.o
-rw-r--r-- 1 root root 102464 nov 7 14:49 tools.o
-rw-r--r-- 1 root root 24508 nov 7 14:49 vdrlogo_720x576.o
-rw-r--r-- 1 root root 47772 nov 7 14:50 xine_fbfe_frontend.o
-rw-r--r-- 1 root root 22980 nov 7 14:50 xine_frontend_kbd.o
-rw-r--r-- 1 root root 23708 nov 7 14:50 xine_frontend_lirc.o
-rw-r--r-- 1 root root 55012 nov 7 14:50 xine_frontend_main.o
-rw-r--r-- 1 root root 152316 nov 7 14:50 xine_frontend.o
-rw-r--r-- 1 root root 56700 nov 7 14:49 xineliboutput.o
-rw-r--r-- 1 root root 165436 nov 7 14:49 xine_sxfe_frontend.o
questo il log completo
Codice: Seleziona tutto
root@debian:/usr/local/src/vdr/PLUGINS/src/xineliboutput# make
Makefile:101: Building outside VDR source tree
In file included from /usr/local/include/libavutil/avutil.h:277:0,
from /usr/local/include/libavutil/mem.h:34,
from xine_input_vdr.c:58:
/usr/local/include/libavutil/common.h:30:2: error: #error missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS
Makefile:101: Building outside VDR source tree
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o xineliboutput.o xineliboutput.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o device.o device.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o frontend.o frontend.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o osd.o osd.c
osd.c: In member function ‘virtual void cXinelibOsd::Flush()’:
osd.c:546:52: warning: narrowing conversion of ‘x1’ from ‘int’ to ‘uint16_t {aka short unsigned int}’ inside { } is ill-formed in C++11 [-Wnarrowing]
osd.c:546:52: warning: narrowing conversion of ‘y1’ from ‘int’ to ‘uint16_t {aka short unsigned int}’ inside { } is ill-formed in C++11 [-Wnarrowing]
osd.c:546:52: warning: narrowing conversion of ‘x2’ from ‘int’ to ‘uint16_t {aka short unsigned int}’ inside { } is ill-formed in C++11 [-Wnarrowing]
osd.c:546:52: warning: narrowing conversion of ‘y2’ from ‘int’ to ‘uint16_t {aka short unsigned int}’ inside { } is ill-formed in C++11 [-Wnarrowing]
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o config.o config.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o menu.o menu.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o setup_menu.o setup_menu.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o menuitems.o menuitems.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o media_player.o media_player.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o equalizer.o equalizer.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o frontend_local.o frontend_local.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o frontend_svr.o frontend_svr.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o tools/cxsocket.o tools/cxsocket.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o tools/udp_pes_scheduler.o tools/udp_pes_scheduler.c
tools/udp_pes_scheduler.c: In member function ‘void cUdpScheduler::Send_RTCP()’:
tools/udp_pes_scheduler.c:578:21: warning: array subscript is above array bounds [-Warray-bounds]
tools/udp_pes_scheduler.c:582:21: warning: array subscript is above array bounds [-Warray-bounds]
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o tools/backgroundwriter.o tools/backgroundwriter.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o tools/playlist.o tools/playlist.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o tools/http.o tools/http.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o tools/vdrdiscovery.o tools/vdrdiscovery.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o tools/time_pts.o tools/time_pts.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o tools.o tools.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o tools/metainfo_menu.o tools/metainfo_menu.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o logdefs.o logdefs.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o tools/rle.o tools/rle.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include mpg2c.c -o mpg2c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o black_720x576.o black_720x576.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o nosignal_720x576.o nosignal_720x576.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -o vdrlogo_720x576.o vdrlogo_720x576.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -fvisibility=hidden -shared -shared xineliboutput.o device.o frontend.o osd.o config.o menu.o setup_menu.o menuitems.o media_player.o equalizer.o frontend_local.o frontend_svr.o tools/cxsocket.o tools/udp_pes_scheduler.o tools/backgroundwriter.o tools/playlist.o tools/http.o tools/vdrdiscovery.o tools/time_pts.o tools.o tools/metainfo_menu.o logdefs.o tools/rle.o black_720x576.o nosignal_720x576.o vdrlogo_720x576.o -lrt -lcap -ldl -o libvdr-xineliboutput.so.2.0.0
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine_sxfe_frontend.o xine_sxfe_frontend.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine_frontend.o xine_frontend.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine/post.o xine/post.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine/vo_hook.o xine/vo_hook.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine/vo_osdscaler.o xine/vo_osdscaler.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine/vo_osdreorder.o xine/vo_osdreorder.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine/vo_lastpts.o xine/vo_lastpts.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine/vo_frameoutput.o xine/vo_frameoutput.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -fvisibility=hidden -shared xine_sxfe_frontend.o xine_frontend.o logdefs.o xine/post.o xine/vo_hook.o xine/vo_osdscaler.o xine/vo_osdreorder.o xine/vo_lastpts.o xine/vo_frameoutput.o tools/rle.o -lX11 -lXext -lXinerama -lGL -lGLU -ldl -lpthread -L/usr/local/lib -lxine -ljpeg -o libxineliboutput-sxfe.so.2.0.0-cvs
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine_fbfe_frontend.o xine_fbfe_frontend.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -fvisibility=hidden -shared xine_fbfe_frontend.o xine_frontend.o logdefs.o xine/post.o xine/vo_hook.o xine/vo_osdscaler.o xine/vo_osdreorder.o xine/vo_lastpts.o xine/vo_frameoutput.o tools/rle.o -L/usr/local/lib -lxine -ljpeg -o libxineliboutput-fbfe.so.2.0.0-cvs
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine_frontend_main.o xine_frontend_main.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine_frontend_lirc.o xine_frontend_lirc.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine_frontend_kbd.o xine_frontend_kbd.c
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include xine_sxfe_frontend.o xine_frontend.o logdefs.o xine/post.o xine/vo_hook.o xine/vo_osdscaler.o xine/vo_osdreorder.o xine/vo_lastpts.o xine/vo_frameoutput.o tools/rle.o tools/vdrdiscovery.o xine_frontend_main.o xine_frontend_lirc.o xine_frontend_kbd.o -lX11 -lXext -lXinerama -lGL -lGLU -ldl -lpthread -L/usr/local/lib -lxine -ljpeg -lpthread -o vdr-sxfe
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include xine_fbfe_frontend.o xine_frontend.o logdefs.o xine/post.o xine/vo_hook.o xine/vo_osdscaler.o xine/vo_osdreorder.o xine/vo_lastpts.o xine/vo_frameoutput.o tools/rle.o tools/vdrdiscovery.o xine_frontend_main.o xine_frontend_lirc.o xine_frontend_kbd.o -L/usr/local/lib -lxine -ljpeg -lpthread -o vdr-fbfe
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/vdr-2.0.4/include -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"xineliboutput"' -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVIDEODIR='"/media/video"' -DXINELIBOUTPUT_VERSION='"2.0.0-cvs"' -Wall -I/usr/local/include -o xine_input_vdr.o
cc: fatal error: no input files
compilation terminated.
make: *** [xine_input_vdr.o] Error 4
Ovviamente modificando il make posso sopprimere l'errore non andando a generare quel file, però la cosa mi infastidisce non poco, sopratutto nell'ottica di eventuali problemi
Altre idee ?
Grazie mille
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 07 nov 2013, 16:16
da lukkino
Se segui i passi che ti ho detto il prefix funziona... non devi dare il prefix a make ma a configure...
Dal log direi che ti mancano alcuni header, in particolare non trova gli header del file common.h di avutil (ffmpeg)... cosa strana e che li cerca in /usr/local/include... di norma sono in /usr/include
Che debian usi? Hai per caso ricompilato il kernel?
Ciao
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 07 nov 2013, 16:45
da jan23
root@debian:/usr/local/src/vdr/PLUGINS/src/xineliboutput# make
Ciao @homer314,
il comando make dovresti darlo dai sorgenti di vdr:
Codice: Seleziona tutto
cd /usr/local/src/vdr/PLUGINS/src/xineliboutput
make clean
cd /usr/local/src/vdr
make
make install
Almeno da me compila soltanto in questo modo, se invece provo a compilare il solo plugin non và.
ciao a tutti
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 07 nov 2013, 17:02
da homer314
jan23 ha scritto:root@debian:/usr/local/src/vdr/PLUGINS/src/xineliboutput# make
Ciao @homer314,
il comando make dovresti darlo dai sorgenti di vdr:
Codice: Seleziona tutto
cd /usr/local/src/vdr/PLUGINS/src/xineliboutput
make clean
cd /usr/local/src/vdr
make
make install
Almeno da me compila soltanto in questo modo, se invece provo a compilare il solo plugin non và.
ciao a tutti
ho provato anche così in precedenza e purtroppo l'output è il medesimo
Grazie
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 07 nov 2013, 17:06
da homer314
lukkino ha scritto:Se segui i passi che ti ho detto il prefix funziona... non devi dare il prefix a make ma a configure...
Dal log direi che ti mancano alcuni header, in particolare non trova gli header del file common.h di avutil (ffmpeg)... cosa strana e che li cerca in /usr/local/include... di norma sono in /usr/include
Che debian usi? Hai per caso ricompilato il kernel?
Ciao
Utilizzo debian 7 Wheezy, kernel stock;
ffmpeg by git configurato con
Codice: Seleziona tutto
./configure --enable-gpl --enable-libass --enable-libfaac --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libspeex --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3 --enable-pic --enable-shared --enable-vaapi --enable-vdpau
ed installato tramite checkinstall (come tutti gli altri componenti della vdrbox, vdr incluso)
E' possibile che la causa del problema sia il Make.config di vdr modificato da me, per configurare le varie path?
Codice: Seleziona tutto
#
# User defined Makefile options for the Video Disk Recorder
#
# Copy this file to 'Make.config' and change the parameters as necessary.
#
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
# $Id: Make.config.template 2.19 2013/02/18 10:55:39 kls Exp $
### The C compiler and options:
CC = gcc
CFLAGS = -g -O3 -Wall
CXX = g++
CXXFLAGS = -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
# Use 'make M32=1 ...' to build a 32-bit version of VDR on a 64-bit machine:
ifdef M32
CFLAGS += -m32
CXXFLAGS += -m32
endif
### The directory environment:
# 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 makefile
LIBDIR = $(PREFIX)/lib/vdr/plugins
endif
HDRDIR = $(CWD)/include
# Overrides for preset/legacy configurations:
# Use 'make LCLBLD=1' to build locale and plugin files under the source directory:
ifdef LCLBLD
LOCDIR = $(CWD)/locale
PLUGINDIR = $(CWD)/PLUGINS
ifndef PLUGIN # don't overwrite for plugins with old makefiles
LIBDIR = $(PLUGINDIR)/lib
endif
HDRDIR = $(CWD)/include
endif
# Use 'make ONEDIR=1' to have all data in one single directory:
ifdef ONEDIR
VIDEODIR = /video
CACHEDIR = $(VIDEODIR)
CONFDIR = $(VIDEODIR)
RESDIR = $(VIDEODIR)
endif
# Use this if you want to have a central place where you configure compile time
# parameters for plugins:
#PLGCFG = $(CONFDIR)/plugins.mk
### The remote control:
LIRC_DEVICE = /var/run/lirc/lircd
### Define if you want vdr to not run as root:
#VDR_USER = vdr
### Fallback for plugins with old makefiles:
ifdef PLUGIN
CFLAGS += -fPIC
CXXFLAGS += -fPIC
endif
Al momento sono sotto virtual-machine lentissima e ci vogliono secoli per portare tutto l'ambiente alla compilazione del plugin incriminato, ma sicuramente ci lavorerò tutta la notte
Grazie veramente a tutti per il supporto
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 07 nov 2013, 18:32
da lukkino
Il problema è tutto nella mancanza degli header, perchè hai compilato ffmpeg a parte, cosa che non serve...
Allora fai una bella cosa... spostati nelle directory prima di xine-lib e poi di ffmpeg ed esegui in entrambi il comando:
In questo modo disinstalli sia ffmpeg che xine-lib che hai installato. Rimuovi pure le cartelle dei sorgenti.
Poi esegui i seguenti comandi:
Codice: Seleziona tutto
cd /usr/local/src
apt-get build-dep libxine2
git clone git://projects.vdr-developer.org/xine-lib.git
cd xine-lib
./autogen.sh
make
make install
ldconfig
e poi ti sposti nelle directory dei sorgenti di xineliboutput e fai:
ovviamente VDR deve essere già compilato, o almeno deve essere stato compilato almeno una volta.
Ciao ciao
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 07 nov 2013, 20:01
da homer314
lukkino ha scritto:Il problema è tutto nella mancanza degli header, perchè hai compilato ffmpeg a parte, cosa che non serve...
Allora fai una bella cosa... spostati nelle directory prima di xine-lib e poi di ffmpeg ed esegui in entrambi il comando:
In questo modo disinstalli sia ffmpeg che xine-lib che hai installato. Rimuovi pure le cartelle dei sorgenti.
Poi esegui i seguenti comandi:
Codice: Seleziona tutto
cd /usr/local/src
apt-get build-dep libxine2
git clone git://projects.vdr-developer.org/xine-lib.git
cd xine-lib
./autogen.sh
make
make install
ldconfig
e poi ti sposti nelle directory dei sorgenti di xineliboutput e fai:
ovviamente VDR deve essere già compilato, o almeno deve essere stato compilato almeno una volta.
Ciao ciao
Fantastico, ho eseguito alla lettera e tutto è filato liscio, non avrei mai pensato fosse colpa di ffmpeg.
Giusto per capire, avendo incontrato la sua compilazioni in vari esempi online riguardanti proprio le vdrbox, a cosa servirebbe ? Immagino per encodare i flussi da inviare a clients in rete ?
Mille grazie
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 07 nov 2013, 22:47
da lukkino
ffmpeg esegue conversioni al volo da un formato video ad un altro... gli howto che hai trovato in rete, sono un pò datati... ormai i sorgenti delle librerie xine contengono già tutto il necessario per il rendering video, pur basandosi su ffmpeg, per questo vengono richiesti solo gli header...
ciao ciao
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 08 nov 2013, 13:53
da homer314
lukkino ha scritto:ffmpeg esegue conversioni al volo da un formato video ad un altro... gli howto che hai trovato in rete, sono un pò datati... ormai i sorgenti delle librerie xine contengono già tutto il necessario per il rendering video, pur basandosi su ffmpeg, per questo vengono richiesti solo gli header...
ciao ciao
Basandomi su questa logica ho rivisto tutto il processo di compilazione/setup, evitando di compilare x264, aac, vp8/9 (questo l'ho proprio scartato per il momento) ed ffmpeg. Praticamente ora compilo solo xine-lib, xine-ui, vdr && plugins (e w_scan)
Tutto va a buon fine, ma dai primi tests effettuati sembra che il sistema
non stia utilizzando l'accelerazione hw ( vecchio p4, 2Gb ram + NVIDIA 8400 GS G98 ): anche in mpeg2 (canali sd) il video difatti non appare fluido, mentre quelli in hd non sono proprio fruibili, e la cpu lavora troppo in entrambe i casi (i due cores al 35/45%)
Al momento avvio il backend con
Codice: Seleziona tutto
vdr -P'xineliboutput --local=none --remote=127.0.0.1:37890'
ed il front end con
Codice: Seleziona tutto
vdr-sxfe --fullscreen --aspect=16:9 --reconnect --post tvtime:method=use_vo_driver --audio=alsa --syslog --silent --tcp
Il config di xineliboutput l'ho modificato solo ritoccando i buffers audio/video ed i frames con i valori trovati comunemente online.
E' possibile che tale problema nasca da un errore di installazione oppure si tratta di altro ?
Grazie mille
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 08 nov 2013, 14:56
da lukkino
E se fai così:
Codice: Seleziona tutto
vdr-sxfe --video=vdpau --fullscreen --aspect=16:9 --reconnect --post tvtime:method=use_vo_driver --audio=alsa --syslog --silent --tcp
L'accelerazione hardware si basa sulla scheda Nvidia che hai, per cui devi utilizzare il driver vdpau. In più il metodo di interlacciamento use_vo_driver è proprio del driver vdpau.
Eventualmente verifica se hai installato vdpau con:
come risultato dovresti avere 2 righe, una delle librerie (libvdpau) e una degli header (libvdpua-dev)
Ciao
Re: [Help] errore nella compilazione di xineliboutput
Inviato: 08 nov 2013, 15:00
da homer314
lukkino ha scritto:E se fai così:
Codice: Seleziona tutto
vdr-sxfe --video=vdpau --fullscreen --aspect=16:9 --reconnect --post tvtime:method=use_vo_driver --audio=alsa --syslog --silent --tcp
L'accelerazione hardware si basa sulla scheda Nvidia che hai, per cui devi utilizzare il driver vdpau. In più il metodo di interlacciamento use_vo_driver è proprio del driver vdpau.
Eventualmente verifica se hai installato vdpau con:
come risultato dovresti avere 2 righe, una delle librerie (libvdpau) e una degli header (libvdpua-dev)
Ciao
In serata provo subito, non ho utilizzato l'opzione "--video=vdpau" perché utilizzando il tutto in modalità verbose mi sembrava ci fosse "vdpau" ovunque ma evidentemente sono stato ottimista (e superficiale)
Grazie per l'infinita pazienza.