Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: MythTV: Users

GCC 4.1 & 4.3 fails to build Mythtv svn trunk

 

 

MythTV users RSS feed   Index | Next | Previous | View Threaded


starz909 at yahoo

Jun 1, 2009, 2:56 PM

Post #1 of 4 (1310 views)
Permalink
GCC 4.1 & 4.3 fails to build Mythtv svn trunk

Hello again everyone,

I decided to experiment with lastest mythtv-0.22 trunk repo, so I attempted to build it with both Gentoo's hard-masked alpha ebuild (mythtv-0.22_alpha19054), and then with dragon-ebuild's version that pulls from the latest svn.

Both compiles fail with this error (this is regardless of whether I have "x264" in my USE flags):
______________________
gcc -c -pipe -march=athlon-xp -fomit-frame-pointer -O3 -DNDEBUG -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -fasm -std=c99 -pthread -g -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -funit-at-a-time -Wwrite-strings -fno-math-errno -w -D_REENTRANT -DPIC -fPIC -Di386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_AV_CONFIG_H -D_LARGEFILE_SOURCE -DHAVE_XVMC -I/usr/share/qt4/mkspecs/linux-g++ -I. -I.. -I../.. -I. -o dsputil_mmx.o i386/dsputil_mmx.c
i386/h264dsp_mmx.c: In function 'put_h264_qpel4_h_lowpass_3dnow':
i386/h264dsp_mmx.c:1891: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
make[2]: *** [dsputil_mmx.o] Error 1
-------------------------

Searches for this error return pages 3-4 years old, so I think it's a problem with either the ebuild files I'm using or my system settings.

There were hints that it had to do with gcc and certain cflags passed to it, so I upgraded from gcc 4.1 to 4.3 - same problem. Some suggested that the problem lay in the "-fPIC" flag, but the source code seems to assign all the gcc flags automatically.

If someone could point me in the right direction to solve this, that would be fantastic. Last mythtv build that worked for me was 'mythtv-0.21_p19961-r2'.

My system specs are:
CPU: 32bit Athlon-XP 3000+
RAM: 2GB
GCC-4.3.2-r3
Gentoo Linux



_______________________________________________
mythtv-users mailing list
mythtv-users [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users


jyavenard at gmail

Jun 1, 2009, 3:41 PM

Post #2 of 4 (1241 views)
Permalink
Re: GCC 4.1 & 4.3 fails to build Mythtv svn trunk [In reply to]

Hi

2009/6/2 Sam Logen <starz909 [at] yahoo>:
> gcc -c -pipe -march=athlon-xp -fomit-frame-pointer -O3 -DNDEBUG -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -fasm -std=c99 -pthread -g -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -funit-at-a-time -Wwrite-strings -fno-math-errno -w -D_REENTRANT -DPIC -fPIC -Di386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_AV_CONFIG_H -D_LARGEFILE_SOURCE -DHAVE_XVMC -I/usr/share/qt4/mkspecs/linux-g++ -I. -I.. -I../.. -I. -o dsputil_mmx.o i386/dsputil_mmx.c
> i386/h264dsp_mmx.c: In function 'put_h264_qpel4_h_lowpass_3dnow':
> i386/h264dsp_mmx.c:1891: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
> make[2]: *** [dsputil_mmx.o] Error 1
> -------------------------

I had this error yesterday trying to compile ffmpeg.

The issue was with -DPIC -fPIC

The configure line started was:
CFLAGS="-g -O2 -fPIC -DPIC" ./configure --compile-type=debug
--prefix=/usr --enable-lirc --enable-audio-alsa --enable-audio-oss
--enable-audio-jack --enable-dvb --enable-ivtv --enable-firewire
--enable-joystick-menu --enable-opengl-vsync --with-bindings=perl
--enable-opengl-video --enable-ffmpeg-pthreads --enable-vdpau
--enable-xvmc --enable-xvmc-vld --enable-xvmc-pro
--enable-glx-procaddrarb --enable-libfaad --enable-libfaac
--enable-libmp3lame --enable-libxvid --enable-libfftw3 --enable-hdpvr

I changed it to:
./configure --compile-type=debug --prefix=/usr --enable-lirc
--enable-audio-alsa --enable-audio-oss --enable-audio-jack
--enable-dvb --enable-ivtv --enable-firewire --enable-joystick-menu
--enable-opengl-vsync --with-bindings=perl --enable-opengl-video
--enable-ffmpeg-pthreads --enable-vdpau --enable-xvmc
--enable-xvmc-vld --enable-xvmc-pro --enable-glx-procaddrarb
--enable-libfaad --enable-libfaac --enable-libmp3lame --enable-libxvid
--enable-libfftw3 --enable-hdpvr

and it compiled just fine after that.
_______________________________________________
mythtv-users mailing list
mythtv-users [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users


starz909 at yahoo

Jun 1, 2009, 4:19 PM

Post #3 of 4 (1241 views)
Permalink
Re: GCC 4.1 & 4.3 fails to build Mythtv svn trunk [In reply to]

--- On Mon, 6/1/09, Jean-Yves Avenard <jyavenard [at] gmail> wrote:

> From: Jean-Yves Avenard <jyavenard [at] gmail>
> Subject: Re: [mythtv-users] GCC 4.1 & 4.3 fails to build Mythtv svn trunk
> To: "Discussion about mythtv" <mythtv-users [at] mythtv>
> Date: Monday, June 1, 2009, 3:41 PM
> Hi
>
> 2009/6/2 Sam Logen <starz909 [at] yahoo>:
> > gcc -c -pipe -march=athlon-xp -fomit-frame-pointer -O3
> -DNDEBUG -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -fasm
> -std=c99 -pthread -g -Wall -Wno-switch
> -Wdisabled-optimization -Wpointer-arith -Wredundant-decls
> -Wno-pointer-sign -Wcast-qual -funit-at-a-time
> -Wwrite-strings -fno-math-errno -w -D_REENTRANT -DPIC -fPIC
> -Di386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
> -DHAVE_AV_CONFIG_H -D_LARGEFILE_SOURCE -DHAVE_XVMC
> -I/usr/share/qt4/mkspecs/linux-g++ -I. -I.. -I../.. -I. -o
> dsputil_mmx.o i386/dsputil_mmx.c
> > i386/h264dsp_mmx.c: In function
> 'put_h264_qpel4_h_lowpass_3dnow':
> > i386/h264dsp_mmx.c:1891: error: can't find a register
> in class 'GENERAL_REGS' while reloading 'asm'
> > make[2]: *** [dsputil_mmx.o] Error 1
> > -------------------------
>
> I had this error yesterday trying to compile ffmpeg.
>
> The issue was with -DPIC -fPIC
>
> The configure line started was:
> CFLAGS="-g -O2 -fPIC -DPIC" ./configure
> --compile-type=debug
> --prefix=/usr --enable-lirc --enable-audio-alsa
> --enable-audio-oss
> --enable-audio-jack --enable-dvb --enable-ivtv
> --enable-firewire
> --enable-joystick-menu --enable-opengl-vsync
> --with-bindings=perl
> --enable-opengl-video --enable-ffmpeg-pthreads
> --enable-vdpau
> --enable-xvmc --enable-xvmc-vld --enable-xvmc-pro
> --enable-glx-procaddrarb --enable-libfaad --enable-libfaac
> --enable-libmp3lame --enable-libxvid --enable-libfftw3
> --enable-hdpvr
>
> I changed it to:
> ./configure --compile-type=debug --prefix=/usr
> --enable-lirc
> --enable-audio-alsa --enable-audio-oss --enable-audio-jack
> --enable-dvb --enable-ivtv --enable-firewire
> --enable-joystick-menu
> --enable-opengl-vsync --with-bindings=perl
> --enable-opengl-video
> --enable-ffmpeg-pthreads --enable-vdpau 
> --enable-xvmc
> --enable-xvmc-vld --enable-xvmc-pro
> --enable-glx-procaddrarb
> --enable-libfaad --enable-libfaac --enable-libmp3lame
> --enable-libxvid
> --enable-libfftw3 --enable-hdpvr
>
> and it compiled just fine after that.

So is it something that should be fixed upstream with mythtv, or with ffmpeg?

It's my understanding that mythtv uses internal ffmpeg libraries instead of linking to ffmpeg libs in the system, so would it be detrimental to the entire mythtv build to omit these flags, just so that the ffmpeg libraries will compile correctly?



_______________________________________________
mythtv-users mailing list
mythtv-users [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users


starz909 at yahoo

Jun 1, 2009, 4:51 PM

Post #4 of 4 (1235 views)
Permalink
Re: GCC 4.1 & 4.3 fails to build Mythtv svn trunk [In reply to]

--- On Mon, 6/1/09, Jean-Yves Avenard <jyavenard [at] gmail> wrote:

> From: Jean-Yves Avenard <jyavenard [at] gmail>
> Subject: Re: [mythtv-users] GCC 4.1 & 4.3 fails to build Mythtv svn trunk
> To: "Sam Logen" <starz909 [at] yahoo>
> Date: Monday, June 1, 2009, 4:25 PM
> 2009/6/2 Sam Logen <starz909 [at] yahoo>:
> > So is it something that should be fixed upstream with
> mythtv, or with ffmpeg?
> >
> > It's my understanding that mythtv uses internal ffmpeg
> libraries instead of linking to ffmpeg libs in the system,
> so would it be detrimental to the entire mythtv build to
> omit these flags, just so that the ffmpeg libraries will
> compile correctly?
>
> there's nothing to fix in either mythtv or ffmpeg, it's all
> due to the
> compilation option you are using.
>
> Using -DPIC -fPIC was often used for compiling mythtv 0.21.
> SInce they
> updated to a more recent ffmpeg, which uses more mmx code
> (i386
> assembly), those options don't work anymore.
>
> Looks to me that you're using the same option you used for
> 0.21, but with trunk
> Just don't pass those two options to configure... and it
> will compile
>

Well I just bypassed the ebuild and issued the appropriate './configure' string directly to the svn source. Now the makefiles do not have either of those two cflag options. So now it's down to hunting where in my ebuild file it's telling the script to add the fPIC and DPIC flags.

Thanks for the assistance!
Sam



_______________________________________________
mythtv-users mailing list
mythtv-users [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users

MythTV users RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.