[mythtv-users] Compile error on Via c3-2. was: frontend has gone dark

Janne Grunau janne-mythtv at grunau.be
Tue Nov 25 19:12:45 UTC 2008


On Tuesday 25 November 2008 04:26:32 Wookey wrote:
> On 2008-11-24 13:33 -0500, Michael T. Dean wrote:
> > On 11/24/2008 01:14 PM, Wookey wrote:
> > >  I apt-got sources
> > > (0.21-cvs20080706 IIRC)., changes the cpue and tune options in
> > > the rules configure script (to i686) and rebuilt everything.
> >
> > You really shouldn't specify any cpu/tune/march/... options to
> > configure.  Only the --enable-proc-opt should be specified and
> > configure will do the right thing.  The other options are meant
> > only for packagers (i.e. people who build Myth using a specific
> > computer but try to do so in a way that it works on a bunch of
> > other different types of computers).  I highly recommend a
> > recompile with only --enable-proc-opt .
>
> OK. Fair point. If I remove the arch/cpu/tune specifiers and add
> --enable-proc-opt I find that my cpu (Via nenmiah) is correctly
> identified, and as a result libavcodec does not build:
>
> ccache gcc-4.3 -c -pipe -g -march=c3-2 -fomit-frame-pointer -DNDEBUG
> -g -DPIC -fPIC -pthread -g -Wall -Wno-switch -Wdisabled-optimization
> -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Os -w
> -fomit-frame-pointer -D_REENTRANT  -Di386 -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -DHAVE_AV_CONFIG_H -D_LARGEFILE_SOURCE
> -DHAVE_XVMC -DHAVE_XVMC_VLD -DQT_THREAD_SUPPORT -DQT_SHARED
> -DQT_TABLET_SUPPORT -DQT_NO_DEBUG -I/usr/share/qt3/mkspecs/default
> -I. -I. -I.. -I../.. -I../libavutil -I../libswscale
> -I/usr/include/qt3 -o motion_est.o motion_est.c
> motion_est_template.c: In function ‘qpel_motion_search’:
> motion_est_template.c:412: error: can't find a register in class
>  ‘GENERAL_REGS’ while reloading ‘asm’
> motion_est_template.c:412: error: ‘asm’ operand has impossible
> constraints
>
> It does build if I remove -fPIC (Clue from this thread:
> http://gcc.gnu.org/ml/gcc-help/2007-04/msg00205.html
>
> however I suspect -fPIC is important so this code may need changing.

It is not strictly necessary on x86_32 but packagers seems to generally 
prefer it. FFmpeg devs don't like it since it costs performance.

It should be removed in libavcodec.pro

> There is a fix suggested in this thread, which appearsto ammount to
> including --enable-small:
> http://minimyth.org/forum/viewtopic.php?t=1739&sid=df718de1433deb42ab
>73f524dfb952c8
>
> That appears to be already the case in the ./configure (and hence -Os
> in above line). It actually also ends up with -O2 in there too, but
> removing makes no difference.

I can't see why it should make a difference. It is automatically enabled 
for your cpu. If it makes a difference it's a bug in our build system.

Janne


More information about the mythtv-users mailing list