Opened 3 years ago
Closed 17 months ago
#64675 closed enhancement (fixed)
libvpx @1.11.0: builds for PPC, update ffmpeg accordingly (also perhaps remove disabling of zimg and x265)
Reported by: | barracuda156 | Owned by: | mascguy (Christopher Nielsen) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | powerpc, leopard, tiger | Cc: | |
Port: | libvpx, ffmpeg |
Description (last modified by barracuda156)
I open a new ticket referring from here: https://trac.macports.org/ticket/64653
So far I have been able to fix libvpx
1.5.0 and 1.6.1 to build for PowerPC.
36-47:~ svacchanda$ port -v installed libvpx The following ports are currently installed: libvpx @1.6.1_0 (active) requested_variants='-universal' platform='darwin 9' archs='ppc' date='2022-02-16T21:07:00+0800'
44-49:~ svacchanda$ port -v installed libvpx The following ports are currently installed: libvpx @1.6.1_0 (active) requested_variants='' platform='darwin 8' archs='ppc' date='2022-02-16T22:09:12+0800'
It is quite probable later versions will build too, even though starting from 1.7.0 identical fixes fail to work (possibly introduction of powerpc64le there messes things up).
I will still try to fix the latest libvpx
for PowerPC and update here once/if that succeeds.
ffmpeg
port file can be updated, as now it has:
# as of 1.6.0 libvpx only supports darwin 10 or later if {${os.major} < 10} { depends_lib-delete path:lib/pkgconfig/vpx.pc:libvpx configure.args-replace --enable-libvpx --disable-libvpx }
However 1.6.1 already builds on 10.5.8 and 10.4.11 (and 10.6 PPC too).
Change History (17)
comment:1 Changed 3 years ago by barracuda156
Description: | modified (diff) |
---|---|
Keywords: | tiger added |
comment:2 Changed 3 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:3 Changed 3 years ago by barracuda156
comment:4 Changed 3 years ago by barracuda156
I have built it on Leopard for ppc32 target:
36-47:~ svacchanda$ port -v installed libvpx The following ports are currently installed: libvpx @1.6.1_0 requested_variants='-universal' platform='darwin 9' archs='ppc' date='2022-02-16T21:07:00+0800' libvpx @1.11.0_1 (active) requested_variants='' platform='darwin 9' archs='ppc' date='2022-02-19T01:12:05+0800'
Cannot test it right now because pango
fails which I need to build ffmpeg
: https://trac.macports.org/ticket/64690
comment:5 follow-up: 10 Changed 3 years ago by barracuda156
After more testing, I can sum up current state of things:
- PowerPC targets are broken for recent versions of
libvpx
. I can't make them work and probably won't try further. They do work on libvpx 1.6.1 though, which may be good enough (in particular, ffmpeg port file refers specifically to 1.6.1).
- The latest version of libvpx still can be built for PowerPC (at least ppc32, I cannot test ppc64 at the moment since some needed dependencies don't build for it), if generic-gnu target is used. It appears functional. I have rebuilt ffmpeg with it and was able to encode a webm video.
- There is a hack to pass darwin- and ppc-specific flags to compiler by adding them under
generic-gnu
target inconfigure.sh
. I dunno if that does more good than bad or if it's a good idea at all. But at least it works, and resulting libvpx is functional.
36-47% port -v installed libvpx The following ports are currently installed: libvpx @1.5.0_0 requested_variants='' platform='darwin 10' archs='ppc' date='2022-02-15T17:21:42+0800' libvpx @1.6.1_0 requested_variants='' platform='darwin 10' archs='ppc' date='2022-02-15T19:15:51+0800' libvpx @1.11.0_0 requested_variants='' platform='darwin 10' archs='ppc' date='2022-02-17T19:46:03+0800' libvpx @1.11.0_1 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2022-02-19T04:03:08+0800' 36-47% port -v installed ffmpeg The following ports are currently installed: ffmpeg @4.4.1_1+gpl2 requested_variants='+gpl2' platform='darwin 10' archs='ppc' date='2022-02-15T18:07:25+0800' ffmpeg @4.4.1_1+gpl2+gpl3+nonfree (active) requested_variants='+gpl2+gpl3+nonfree' platform='darwin 10' archs='ppc' date='2022-02-19T04:48:23+0800'
I made several patches (some of which may be redundant, since initially I tried to make ppc targets work) and some changes in port files. At this point I would appreciate if somebody is interested to review and test. I am no expert here, and honestly don't want to spend more time on this. If anyone wants me to test libvpx in some way, I am ready to, but I will need a specific instruction on what to do. So far I only tested encoding, at that worked.
Some extra details are in this thread: https://trac.macports.org/ticket/64653
- S. I also don't understand why
ffmpeg
portfile disableszimg
andx265
for ppc systems. I have them built for ppc:
36-47% port -v installed x265 The following ports are currently installed: x265 @3.4_0 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2021-12-11T21:39:50+0800' 36-47% port -v installed zimg The following ports are currently installed: zimg @3.0.3_0 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2022-01-28T20:40:51+0800' 36-47% port -v installed libsdl2 The following ports are currently installed: libsdl2 @2.0.3_0 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2022-02-14T20:01:16+0800'
libsdl2
also builds, even though an older version.
comment:6 Changed 3 years ago by barracuda156
Summary: | fix libvpx for PowerPC and update ffmpeg accordingly → livpx @1.11.0 has built for PowerPC: update ffmpeg accordingly (also perhaps remove disabling of zimg and x265) |
---|
comment:7 Changed 2 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy removed |
---|---|
Owner: | set to mascguy |
Status: | new → assigned |
Summary: | livpx @1.11.0 has built for PowerPC: update ffmpeg accordingly (also perhaps remove disabling of zimg and x265) → libvpx @1.11.0: builds for PPC, update ffmpeg accordingly (also perhaps remove disabling of zimg and x265) |
comment:8 Changed 2 years ago by Christopher Nielsen <mascguy@…>
comment:9 Changed 2 years ago by Christopher Nielsen <mascguy@…>
comment:10 follow-up: 11 Changed 2 years ago by mascguy (Christopher Nielsen)
Replying to barracuda156:
I also don't understand why
ffmpeg
portfile disableszimg
andx265
for ppc systems.
There has been significant evolution over the past few years, relative to toolchains, etc. Thus allowing these ports to build across-the-board now.
So it was simply an oversight, and glad you brought it up. Thanks for identifying this Sergey!
comment:11 Changed 2 years ago by barracuda156
Replying to mascguy:
There has been significant evolution over the past few years, relative to toolchains, etc. Thus allowing these ports to build across-the-board now.
Great, thank you!
comment:12 Changed 20 months ago by barracuda156
What is still due:
- Disable
libsdl2
for Rosetta until fixed. - Enable
aom
for 10.6. - Enable
dav1d
for 10.6 ppc/Rosetta (i.e., remove blacklist ofppc
). - Enable
svt-av1
for 10.6.
comment:13 follow-up: 14 Changed 18 months ago by Christopher Nielsen <mascguy@…>
comment:14 follow-up: 15 Changed 17 months ago by barracuda156
Replying to Christopher Nielsen <mascguy@…>:
In 3d22814a8a87d9c48931e8b37c870a8143f32cf7/macports-ports (master):
We do not have Rust on ppc, so this change breaks both Rosetta and 10.6 ppc.
comment:15 follow-up: 16 Changed 17 months ago by mascguy (Christopher Nielsen)
Replying to barracuda156:
Replying to Christopher Nielsen <mascguy@…>:
In 3d22814a8a87d9c48931e8b37c870a8143f32cf7/macports-ports (master):
We do not have Rust on ppc, so this change breaks both Rosetta and 10.6 ppc.
Fixed in commit: https://github.com/macports/macports-ports/commit/818da5dea9fa4f356bf0cf00577d0a90d1b43c83
comment:16 Changed 17 months ago by barracuda156
Replying to mascguy:
Replying to barracuda156:
Replying to Christopher Nielsen <mascguy@…>:
In 3d22814a8a87d9c48931e8b37c870a8143f32cf7/macports-ports (master):
We do not have Rust on ppc, so this change breaks both Rosetta and 10.6 ppc.
Fixed in commit: https://github.com/macports/macports-ports/commit/818da5dea9fa4f356bf0cf00577d0a90d1b43c83
Thank you! That was fast.
comment:17 Changed 17 months ago by mascguy (Christopher Nielsen)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
I believe this has all been covered, closing as fixed.
There is some success towards this end. I was able to build the latest version of libvpx for generic-gnu target, rebuild ffmpeg with it and verify it actually can encode a webm video file.
At the moment ppc-specific targets remain broken.