View previous topic :: View next topic |
Author |
Message |
Dece Apprentice


Joined: 23 Nov 2004 Posts: 291 Location: Bologna/Rimini Italy
|
Posted: Wed May 30, 2007 4:23 pm Post subject: [risolto] mplayer non compila |
|
|
quando cerco di ricompilare mplayer, ottengo sempre un errore di compilazione:
Quote: | cabac.h: In function 'get_cabac_noinline':
cabac.h:522: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
In file included from kmvc.c:32:
avcodec.h:2480: warning: 'ImgReSampleContext' is deprecated
avcodec.h:2483: warning: 'ImgReSampleContext' is deprecated
kmvc.c:416: warning: missing initializer
kmvc.c:416: warning: (near initialization for 'kmvc_decoder.capabilities')
make[1]: *** [h264.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make -C libfaad2
make[1]: Entering directory `/var/tmp/portage/media-video/mplayer-1.0.20070427/work/mplayer-20070427/libfaad2'
make[1]: Nothing to be done for `libs'.
make[1]: Leaving directory `/var/tmp/portage/media-video/mplayer-1.0.20070427/work/mplayer-20070427/libfaad2'
make -C libass
make[1]: Entering directory `/var/tmp/portage/media-video/mplayer-1.0.20070427/work/mplayer-20070427/libass'
make[1]: Nothing to be done for `libs'.
make[1]: Leaving directory `/var/tmp/portage/media-video/mplayer-1.0.20070427/work/mplayer-20070427/libass'
make -C osdep
make[1]: Entering directory `/var/tmp/portage/media-video/mplayer-1.0.20070427/work/mplayer-20070427/osdep'
make[1]: Nothing to be done for `libs'.
make[1]: Leaving directory `/var/tmp/portage/media-video/mplayer-1.0.20070427/work/mplayer-20070427/osdep'
i686-pc-linux-gnu-gcc -I. -I./libavutil -Wdeclaration-after-statement -I. -I.. -I../libavutil -W -Wall -Wno-unused-parameter -O2 -march=pentium-m -mtune=pentium-m -g3 -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I/usr/X11R6/include -I/usr/include/SDL -D_REENTRANT -I/usr/kde/3.5/include/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include -I/usr/include/dvdnav -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I./libavcodec -c -o mencoder.o mencoder.c
make[1]: Leaving directory `/var/tmp/portage/media-video/mplayer-1.0.20070427/work/mplayer-20070427/libavcodec'
make: *** [libavcodec/libavcodec.a] Error 2
make: *** Waiting for unfinished jobs....
In file included from mencoder.c:85:
./libavcodec/avcodec.h:2480: warning: 'ImgReSampleContext' is deprecated
./libavcodec/avcodec.h:2483: warning: 'ImgReSampleContext' is deprecated
mencoder.c: In function 'dec_audio':
mencoder.c:336: warning: pointer targets in passing argument 2 of 'decode_audio' differ in signedness
mencoder.c: In function 'main':
mencoder.c:577: warning: pointer targets in passing argument 2 of 'dvd_aid_from_lang' differ in signedness
mencoder.c:578: warning: pointer targets in passing argument 2 of 'dvd_sid_from_lang' differ in signedness
mencoder.c:681: warning: pointer targets in passing argument 8 of 'vobsub_parse_ifo' differ in signedness
mencoder.c:806: warning: comparison between signed and unsigned
mencoder.c:1182: warning: comparison between signed and unsigned
mencoder.c:1222: warning: comparison between signed and unsigned
mencoder.c:1250: warning: dereferencing type-punned pointer will break strict-aliasing rules
mencoder.c:1261: warning: dereferencing type-punned pointer will break strict-aliasing rules
mencoder.c: In function 'forward_audio':
mencoder.c:1622: warning: signed and unsigned type in conditional expression
mencoder.c: At top level:
libmpdemux/demuxer.h:278: warning: 'realloc_struct' defined but not used
|
ho guardato più volte su bugzilla, sia nelle faq di mplayer e dicevano che era un bug di gcc... speravo che attendendo con pazienza, i devel avrebbero risolto il problema, ma dato che è da settembre che ricevo questi errori, e dato che le ho provate veramente tutte (provato più versioni di gcc, cambiato use, usato cflag safe...) volevo chiedere se qualcuno tra voi nel forum ha avuto lo stesso problema e se è riuscito a risolverlo
ps. estratto di emerge --info:
Quote: | Portage 2.1.2.7 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.5-r2, 2.6.21-gentoo i686)
=================================================================
System uname: 2.6.21-gentoo i686 Intel(R) Pentium(R) M processor 1.73GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Sun, 27 May 2007 08:00:01 +0000
dev-java/java-config: 1.3.7, 2.0.32
dev-lang/python: 2.3.5-r3, 2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox: 1.2.17
sys-devel/autoconf: 2.13, 2.61
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils: 2.16.1-r3
sys-devel/gcc-config: 1.3.16
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.17-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer -funroll-loops -mfpmath=sse"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer -funroll-loops -mfpmath=sse"
MAKEOPTS="-j2"
|
_________________ http://www.last.fm/user/Dece/
Last edited by Dece on Fri Jun 01, 2007 4:29 pm; edited 1 time in total |
|
Back to top |
|
 |
drizztbsd Retired Dev


Joined: 21 Nov 2004 Posts: 278 Location: Cesano Maderno
|
Posted: Wed May 30, 2007 8:14 pm Post subject: Re: mplayer non compila |
|
|
Dece wrote: | ps. estratto di emerge --info:
Quote: | Portage 2.1.2.7 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.5-r2, 2.6.21-gentoo i686)
=================================================================
System uname: 2.6.21-gentoo i686 Intel(R) Pentium(R) M processor 1.73GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Sun, 27 May 2007 08:00:01 +0000
dev-java/java-config: 1.3.7, 2.0.32
dev-lang/python: 2.3.5-r3, 2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox: 1.2.17
sys-devel/autoconf: 2.13, 2.61
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils: 2.16.1-r3
sys-devel/gcc-config: 1.3.16
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.17-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer -funroll-loops -mfpmath=sse"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer -funroll-loops -mfpmath=sse"
MAKEOPTS="-j2"
|
|
Apri un bug su bugzilla e vedrai in quanti nanosecondi jakub ti da del ricer
prova a usare C(XX)FLAGS umane (e dicci con che use stai compilando) _________________ Gentoo/Alt lead
Gentoo/*BSD and Gentoo/FreeBSD deputy lead
Paludis contributor |
|
Back to top |
|
 |
Dece Apprentice


Joined: 23 Nov 2004 Posts: 291 Location: Bologna/Rimini Italy
|
Posted: Fri Jun 01, 2007 9:37 am Post subject: Re: mplayer non compila |
|
|
Drizzt Do` Urden wrote: | Dece wrote: |
CFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer -funroll-loops -mfpmath=sse"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer -funroll-loops -mfpmath=sse"
MAKEOPTS="-j2"
|
Apri un bug su bugzilla e vedrai in quanti nanosecondi jakub ti da del ricer
prova a usare C(XX)FLAGS umane (e dicci con che use stai compilando) |
Ma infatti me l'aspettavo le ultime due flag le avevo aggiunte un tot di tempo fa e onestamente non mi ricordo neanche dove le ho pescate... la prima cosa che ho pensato infatti è stato provare ad eliminarle, ma purtroppo il risultato non è cambiato (avevo provato anche con -march=i686 ma niente)
attualmente le use di mplayer sono le seguenti:
Code: |
[ebuild U ] media-video/mplayer-1.0.20070427 [1.0_pre20060810] USE="X a52%* aac alsa arts cddb%* debug dga dts dvd dvdnav%* dvdread encode esd fbcon gif gtk ipv6 jpeg mad mmx mp3%* musepack opengl png quicktime%* rar%* real samba sdl srt%* sse sse2 theora truetype unicode vorbis win32codecs xv xvid -3dnow -3dnowext -aalib (-altivec) -amr -bidi -bindist -bl -cdparanoia -cpudetection -custom-cflags -directfb -doc -dv -dvb -enca -ftp% -ggi -iconv -ivtv% -jack -joystick -libcaca -lirc -live -livecd -lzo -md5sum% -mmxext -mp2% -nas -openal -oss -pnm% -radio% -rtc -speex -svga -tga -tivo% -v4l -v4l2 -vidix% -x264 -xanim -xinerama -xvmc -zoran% (-3dfx%) (-matrox%) (-xmms%)" VIDEO_CARDS="-mga% -s3virge% -tdfx% -vesa%" |
quelle di sistema:
Code: | USE="X a52 aac acl acpi afs alsa arts bash-completion berkdb bitmap-fonts bluetooth branding cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam ffmpeg firefox fortran gdbm gif gpm gstreamer gtk hal iconv ipv6 isdnlog java jpeg kde kdeenablefinal kdexdeltas kerberos lame ldap libg++ logitech mad midi mikmod mmx mp3 mpeg mplayer mudflap ncurses nls nptl nptlonly nsplugin nvidia obex ogg opengl openmp oss pam pcre pdf perl pertty png pppd python qt3 qt3support qt4 quicktime readline real reflection samba sdl session spell spl sse sse2 ssl svg tcpd threads tiff truetype truetype-fonts type1-fonts unicode vorbis win32codecs x86 xinerama xml xorg xv zeroconf zlib"
|
_________________ http://www.last.fm/user/Dece/ |
|
Back to top |
|
 |
djinnZ Advocate


Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Fri Jun 01, 2007 11:52 am Post subject: |
|
|
prova a ricompilare -O2 -pipe (al più -fomit-frame-pt -fno-strict-alias) glibc glib e gtk oltre al gcc e lanciare un revdep-rebuild. Poi dovrebbe andare (almeno a me ha funzionato, non so perchè ma gcc non gradisce che glibc sia compilata con ottimizzazioni diffrenti). _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist  |
|
Back to top |
|
 |
Dece Apprentice


Joined: 23 Nov 2004 Posts: 291 Location: Bologna/Rimini Italy
|
Posted: Fri Jun 01, 2007 3:08 pm Post subject: |
|
|
djinnZ wrote: | prova a ricompilare -O2 -pipe (al più -fomit-frame-pt -fno-strict-alias) glibc glib e gtk oltre al gcc e lanciare un revdep-rebuild. Poi dovrebbe andare (almeno a me ha funzionato, non so perchè ma gcc non gradisce che glibc sia compilata con ottimizzazioni diffrenti). |
Niente da fare, stesso errore Quote: | i686-pc-linux-gnu-gcc -I../libswscale -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdeclaration-after-statement -I. -I.. -I../libavutil -W -Wall -Wno-unused-parameter -O2 -march=pentium-m -mtune=pentium-m -g3 -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I/usr/X11R6/include -I/usr/include/SDL -D_REENTRANT -I/usr/kde/3.5/include/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include -I/usr/include/dvdnav -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -c -o idcinvideo.o idcinvideo.c
In file included from idcinvideo.c:54:
avcodec.h:2480: warning: 'ImgReSampleContext' is deprecated
avcodec.h:2483: warning: 'ImgReSampleContext' is deprecated
cabac.h: In function 'get_cabac_noinline':
cabac.h:522: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
idcinvideo.c: In function 'idcin_decode_frame':
idcinvideo.c:220: warning: 'AVPaletteControl' is deprecated
idcinvideo.c: At top level:
idcinvideo.c:270: warning: missing initializer
idcinvideo.c:270: warning: (near initialization for 'idcin_decoder.next')
make[1]: *** [h264.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/var/tmp/portage/media-video/mplayer-1.0.20070427/work/mplayer-20070427/libavcodec'
make: *** [libavcodec/libavcodec.a] Error 2 |
la cosa frustrante è che avviene sempre praticamente a fine compilazione  _________________ http://www.last.fm/user/Dece/ |
|
Back to top |
|
 |
Dece Apprentice


Joined: 23 Nov 2004 Posts: 291 Location: Bologna/Rimini Italy
|
Posted: Fri Jun 01, 2007 4:29 pm Post subject: |
|
|
Risolto!!!
cercando in giro per la rete, ho trovato questo:
Quote: | Try adding -fomit-frame-pointer; it seems to be necessary on 32-bit x86
after some recent libavcodec modifications. |
poi ho notato che quella flag, benchè fosse presente tra le mie CFLAGS, non compariva mai nell'output di compilazione e per di più le flag settate non erano quelle del mio make.conf:
Quote: | i686-pc-linux-gnu-gcc -I../libswscale -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdeclaration-after-statement -I. -I.. -I../libavutil -W -Wall -Wno-unused-parameter -O2 -march=pentium-m -mtune=pentium-m -g3 -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I/usr/X11R6/include -I/usr/include/SDL -D_REENTRANT -I/usr/kde/3.5/include/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include -I/usr/include/dvdnav -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -c -o idcinvideo.o idcinvideo.c |
spulciando il configure, mi sono accorto che settava le sue CFLAGS ignorando beceramente il make.conf
Aggiungendo -O1 e -fomit-frame-pointer tra le flag del configure, tutto si è compilato
ps. si vede che oggi non avevo proprio nulla da fare, eh?  _________________ http://www.last.fm/user/Dece/ |
|
Back to top |
|
 |
djinnZ Advocate


Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Fri Jun 01, 2007 5:16 pm Post subject: |
|
|
USE="custom-cflags" o meglio
Code: |
echo "media-video/mplayer custom-cflags" >> /etc/portage/package.use
| che grub non gradisce alle volte.
Come ottimizzazione -O2 dovrebbe andare ma come ti ho detto "-O2 -march=pentium-m fomit-frame-pointer -fno-strict-aliasing - pipe" (se non mi sbaglio doverbbe essere il default per gentoo); -mtune non serve se hai -march. Per gcc e glibc è inutile altro per il resto ti ripeto che -O3 è plausibile ma senza -Wl,-O1 non è che abbia molto senso. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist  |
|
Back to top |
|
 |
Dece Apprentice


Joined: 23 Nov 2004 Posts: 291 Location: Bologna/Rimini Italy
|
Posted: Fri Jun 01, 2007 5:41 pm Post subject: |
|
|
djinnZ wrote: | -mtune non serve se hai -march. Per gcc e glibc è inutile altro per il resto ti ripeto che -O3 è plausibile ma senza -Wl,-O1 non è che abbia molto senso. |
Infatti mtune lo metteva il configure di mplayer, indipendentemente dalla flag custom-cflags settata o meno: io non l'avevo nel make.conf... boh
Ho messo O1 giusto per provare a compilare con meno ottimizzazioni possibili: stasera magari riprovo lasciando O2 (che è il default nel configure) e aggiungendo solo -fomit-frame-pointer
Ciao! _________________ http://www.last.fm/user/Dece/ |
|
Back to top |
|
 |
g3nt00_m4n Tux's lil' helper

Joined: 09 Jan 2005 Posts: 132
|
Posted: Sun Jul 08, 2007 9:23 am Post subject: |
|
|
Dece wrote: | djinnZ wrote: | -mtune non serve se hai -march. Per gcc e glibc è inutile altro per il resto ti ripeto che -O3 è plausibile ma senza -Wl,-O1 non è che abbia molto senso. |
Infatti mtune lo metteva il configure di mplayer, indipendentemente dalla flag custom-cflags settata o meno: io non l'avevo nel make.conf... boh
Ciao! |
Anche io avevo lo stesso problema e mi sono accorto che anche con la use custom-cflags settata se ne fregava delle mie impostazioni ed usava:
-W -Wall -O2 -march=i486 -mtune=i686 -pipe -g3 :S
EDIT: Adesso pero' all'avvio mi dice:
Compiler did not align stack variables. Libavcodec has been miscompiled
and may be very slow or crash. This is not a bug in libavcodec,
but in the compiler. Do not report crashes to FFmpeg developers.
ecco i miei flag.
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
cosa puo' essere??? |
|
Back to top |
|
 |
|