Opened 7 years ago

Closed 7 years ago

#55124 closed defect (fixed)

ffmpeg @3.4_0 does not build on 10.5.8 PPC

Reported by: udbraumann Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: leopard powerpc Cc: jeremyhu@…
Port: ffmpeg

Description

While upgrading ffmpeg from 3.3.4_1 to 3.4_0 building stops with this error:

...
:info:build libavcodec/ppc/hevcdsp.c: In function ‘transform4x4’:
:info:build libavcodec/ppc/hevcdsp.c:60: error: argument 1 must be a 5-bit signed literal
:info:build {standard input}:75:non-relocatable subtraction expression, "_ff_hevc_idct_4x4_10_altivec" minus "L00000000001$pb"
:info:build {standard input}:75:symbol: "_ff_hevc_idct_4x4_10_altivec" can't be undefined in a subtraction expression
:info:build {standard input}:74:non-relocatable subtraction expression, "_ff_hevc_idct_4x4_10_altivec" minus "L00000000001$pb"
:info:build {standard input}:74:symbol: "_ff_hevc_idct_4x4_10_altivec" can't be undefined in a subtraction expression
:info:build {standard input}:65:non-relocatable subtraction expression, "_ff_hevc_idct_4x4_8_altivec" minus "L00000000001$pb"
:info:build {standard input}:65:symbol: "_ff_hevc_idct_4x4_8_altivec" can't be undefined in a subtraction expression
:info:build {standard input}:64:non-relocatable subtraction expression, "_ff_hevc_idct_4x4_8_altivec" minus "L00000000001$pb"
:info:build {standard input}:64:symbol: "_ff_hevc_idct_4x4_8_altivec" can't be undefined in a subtraction expression
:info:build gmake: *** [ffbuild/common.mak:60: libavcodec/ppc/hevcdsp.o] Error 1
...

Hope someone of you has experiences with AltiVec™ ...

Attachments (1)

main.log.gz (57.3 KB) - added by udbraumann 7 years ago.

Download all attachments as: .zip

Change History (7)

Changed 7 years ago by udbraumann

Attachment: main.log.gz added

comment:1 Changed 7 years ago by Schamschula (Marius Schamschula)

Cc: devans@… removed
Owner: set to dbevans
Status: newassigned

comment:2 Changed 7 years ago by kencu (Ken)

Looks like the default compiler gcc42 on 10.5.8 PPC doesn't have the chops to build this any more. It built through with gcc6 without any trouble, though.

$ port -v installed ffmpeg
The following ports are currently installed:
  ffmpeg @3.4_0+gpl2 (active) platform='darwin 9' archs='ppc' date='2017-10-19T17:56:50-0700'

you can do this manually for now sudo port -v upgrade ffmpeg configure.compiler=macports-gcc-6 or similarly to install it.

We'll need to come up with a suitable compiler blacklist to make this work, blacklisting at least gcc42 on PPC, and as the only compiler I'd suggest is gcc6, blacklist all gcc compilers < gcc6.

comment:3 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)

IIRC, there's a configure option to just disable altivec in ffmpeg. That might be the path of least resistance (maybe conditional on compiler).

comment:4 in reply to:  2 Changed 7 years ago by udbraumann

Replying to kencu:

Looks like the default compiler gcc42 on 10.5.8 PPC doesn't have the chops to build this any more. It built through with gcc6 without any trouble, though.

Thanks, gcc6 worked for me as well (but maybe also gcc5 would have worked as well):

$ sudo port installed ffmpeg
The following ports are currently installed:
  ffmpeg @3.4_0+gpl2+nonfree+x11 (active)

comment:5 Changed 7 years ago by kencu (Ken)

I think we might try to keep the Altivec if we can -- that old PPC processor needs all the help it can get :>

I'll write up something shortly for this. gcc5 might work - but nobody should be using that now anyway to build things on PPC except for pdftk - so we'll force everyone up to gcc6 or greater.

comment:6 Changed 7 years ago by kencu (Ken)

Resolution: fixed
Status: assignedclosed

In e1f1b6b20678fed08e81f8a65ea0062f59a1f64c/macports-ports:

ffmpeg: force gcc6 on PPC

closes: #55124

Note: See TracTickets for help on using tickets.