Subject: Re: anyone compiled ffmpeg ?
To: None <joel@carnat.net>
From: None <segv@netctl.net>
List: port-sparc64
Date: 11/15/2005 13:55:12
On Tue, 15 Nov 2005 14:42:03 +0100
Joel CARNAT <joel@carnat.net> wrote:

> Hi,
> 
> I'm trying to compile multimedia/ffmpeg and get :
>  cc -O2 -O2 -pipe -mcpu=ultrasparc -mvis
> -I/usr/pkgsrc/multimedia/ffmpeg/work/.buildlink/include -O3 -Wall
> -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -D_GNU_SOURCE -c ratecontrol.c  -fPIC -DPIC -o .libs/ratecontrol.o
> {standard input}: Assembler messages:
> {standard input}:875: Error: Illegal operands: There are only 32 single
> precision f registers; [0-31]
> {standard input}:879: Error: Illegal operands: There are only 32 single
> precision f registers; [0-31]
> {standard input}:882: Error: Illegal operands: There are only 32 single
> precision f registers; [0-31]
> make[1]: *** [ratecontrol.o] Error 1
> make[1]: Leaving directory
> `/usr/pkgsrc/multimedia/ffmpeg/work/ffmpeg-0.4.8/libavcodec'
> gmake: *** [lib] Error 2
> *** Error code 2
> 
> I tried disabling any extra *FLAGS (in mk.conf) but it still fails :
>  cc -O2 -O3 -Wall -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64
> -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c ratecontrol.c  -fPIC -DPIC -o
> .libs/ratecontrol.o
>  cc -O2 -O3 -Wall -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64
> -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c ratecontrol.c -o ratecontrol.o
> >/dev/null 2>&1
> make[1]: *** [ratecontrol.o] Error 1
> make[1]: Leaving directory
> `/usr/pkgsrc/multimedia/ffmpeg/work/ffmpeg-0.4.8/libavcodec'
> gmake: *** [lib] Error 2
> *** Error code 2
> 
> 
> anyone succeeded in compiling multimedia/ffmpeg (for 3.0_BETA) ?

I think it's down to a bug in binutils. I had similar errors when compiling
NetBSD release for sparc64. They have incorporated patches into NetBSD-current
that seem to fix such problems

See my PR report:
http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=29689

Also the following line:

>  cc -O2 -O3 -Wall -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64
> -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c ratecontrol.c -o ratecontrol.o
> >/dev/null 2>&1

redirects error messages to /dev/null, so you can't see why it's failing.