Sam Hocevar ha scritto: > reopen 402950 > thanks > > I'm investigating #403398 but I'm unable to build your MPlayer with > noopt/nostrip: > > cc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE > -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdeclaration-after-statement -Wall > -W -W -Wall -Wno-unused-parameter -march=i586 -mtune=i586 -g -D_REENTRANT > -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE > -I/usr/include/directfb -I/usr/include -I/usr/include/ -I/usr/include/SDL > -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/kde/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 > -I/usr/include/liveMedia -I/usr/include/UsageEnvironment > -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock > -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 cabac.o cabac.c > In file included from cabac.c:32: > cabac.h:363: warning: 'inline' is not at beginning of declaration > cabac.h: In function 'get_cabac_noinline': > cabac.h:513: error: can't find a register in class 'GENERAL_REGS' while > reloading 'asm' > make: *** [cabac.o] Error 1 > make: Leaving directory `/home/sam/mplayer/mplayer-1.0~rc1/libavcodec' >
thanks for reporting; I was kinda expecting this --some history Googling around for "can't find a register in class 'GENERAL_REGS' while reloading 'asm'" I found that this is a hard problem , and that there is really no magic workaround : different combinations of code/gcc options/architecture will trigger or not trigger it the best discussion I could find is in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13850 conclusion: i386 simply cannot compile that asm w/o some optimization parameters ---- some hints ./configure --enable-debug is the "upstream recommended" way of compiling for debugging but currently, in upstream 1.0rc1 , that fails as well, in file libavcodec/h264.c I then added a patch to libavcoded/Makefile to add OPTFLAGS = -O4 -ffast-math -fomit-frame-pointer for that file only (and in i386 only) fortunately , h264.c is the only file that fails that way; so what I do to debug is: - I compile with DEB_BUILD_OPTIONS=debug - edit config.mak and delete -O2 - delete .o of files I really need to debug, and call 'make mplayer' --- as for this bug I implemented DEB_BUILD_OPTIONS=noopt in debian/rules so that no optimization of any kind is used but in this case, there are many more files that will fail my workaround is: debian/rules precompiles all failing packages with some minimal optimization ; then calls 'make mplayer' I will add that file too ; may you please tell me if $ cd libavcodec && \ make cabac.o OPTFLAGS =" -O2 -ffast-math -fomit-frame-pointer" works a.
signature.asc
Description: OpenPGP digital signature