#40154 closed defect (fixed)
libvpx: don't depend on yasm on PowerPC
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Low | Milestone: | |
Component: | ports | Version: | 2.2.99 |
Keywords: | powerpc | Cc: | ryandesign (Ryan Carsten Schmidt), larryv (Lawrence Velázquez) |
Port: | libvpx |
Description
The description tells:
Description: A modular x86/amd64 assembler supporting NASM and GAS asm syntaxes and a variety of output formats. It is licensed under the 3-clause BSD license except the nasm preprocessor which is LGPL.
so it's pretty useless on PPC hardware – except, maybe, one wants to build an universal binary. This is not the case for default libvpx (or gd2) port, so there is no reason to install it or to make standard libvpx depend on yasm.
lipo -detailed_info /opt/local/lib/libvpx.a input file /opt/local/lib/libvpx.a is not a fat file Non-fat file: /opt/local/lib/libvpx.a is architecture: ppc
Attachments (1)
Change History (15)
comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|---|
Keywords: | powerpc added; yasm gd2 PPC x86/amd64 removed |
Summary: | Why is yasm installed on PPC Tiger, Mac OS X 10.4.11? → libvpx: don't depend on yasm on PowerPC |
comment:2 Changed 11 years ago by ballapete (Peter "Pete" Dyballa)
The same happens on PPC Leopard, Mac OS X 10.5.8.
comment:3 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from macports-tickets@… to devans@… |
---|
comment:4 Changed 9 years ago by dbevans (David B. Evans)
Status: | new → assigned |
---|
While I understand the motivation behind the request, but removing yasm on PPC platforms won't do much unless a reasonable replacement that builds successfully on these platforms can be provided. Although, I am the libvpx maintainer, I don't have access to any PPC systems at this point so I must reply on those who do to help test and debug any proposed solution.
So please be patient while I come up to speed on this issue. It would be helpful to clarify exactly what works and what doesn't and how that is accomplished. The initial report here seems to imply that building without yasm works on Tiger at least, but later it is reported that nasm does not work on Leopard. A precise statement of results on the different PPC platforms using specific configurations including build logs and patches where appropriate would be helpful.
Thanks in advance for any help and thanks to ryandesign for bringing this issue to my attention.
comment:5 follow-up: 6 Changed 9 years ago by dbevans (David B. Evans)
As ryandesign has pointed out in #47907, libvpx 1.4.0 is now available.
In this version, the following PPC targets are explicitly supported
ppc32-darwin8-gcc ppc32-darwin9-gcc ppc64-darwin8-gcc ppc64-darwin9-gcc
I plan to incorporate these PPC targets into the 1.4.0 update and will post a patch here for testing prior to committing the update. I'll be doing this pretty much in the blind, so those of you who have PPC platforms available, please let me know which of these targets you can test.
For darwin10+ yasm remains the assembler preferred upstream.
Thanks again.
comment:6 follow-up: 7 Changed 9 years ago by larryv (Lawrence Velázquez)
Cc: | larryv@… added |
---|
I can test Rosetta builds on x86_64 Leopard and Snow Leopard.
comment:7 Changed 9 years ago by dbevans (David B. Evans)
Changed 9 years ago by dbevans (David B. Evans)
Attachment: | patch-libvpx-1.4.0.diff added |
---|
Proposed upgrade to libvpx-1.4.0 with yasm dependency fix
comment:8 follow-up: 12 Changed 9 years ago by dbevans (David B. Evans)
Proposed patch to upgrade libvpx to version 1.4.0 with fix for yasm dependency issue attached. See #47907 for discussion.
Would appreciate it if you could test this patch on darwin 8/9 ppc and verify that it does indeed fix the issue reported here. Note that yasm is required if an x86 target is specified so universal builds will still depend on yasm but, hopefully, non-universal builds will not.
comment:9 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
As far as I can tell, my proposed fix works, and the yasm dependency is now only added when building for an Intel arch. Committed in r137226.
comment:10 Changed 9 years ago by dbevans (David B. Evans)
Thanks for your reply, Ryan. I was hoping to get a response from the reporter of this ticket.
comment:11 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
I also built libvpx 1.4.0 with this dependency change for ppc on Tiger without yasm installed, which worked fine.
I was not able to build universal ppc i386 on Tiger, but I think that affects all ports, because the apple-gcc42 port, which all ports use to compile on Tiger, only supports either all-Intel or all-PowerPC universal builds.
comment:12 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Replying to devans@…:
Proposed patch to upgrade libvpx to version 1.4.0 with fix for yasm dependency issue attached. See #47907 for discussion.
Would appreciate it if you could test this patch on darwin 8/9 ppc and verify that it does indeed fix the issue reported here. Note that yasm is required if an x86 target is specified so universal builds will still depend on yasm but, hopefully, non-universal builds will not.
Last month I had too many other things to do, sorry! Yesterday I could successfully update libvpx
.
comment:13 Changed 7 weeks ago by ballapete (Peter "Pete" Dyballa)
libvpx
is now @1.13.1
and I do not need it on both PPC Tiger
and PPC Leopard
, so this ticket can be closed.
Sounds like a reasonable request.
libvpx will use yasm if available, and try to use nasm (which is included in OS X) otherwise. I verified that on Mountain Lion, the build fails using nasm, so yasm is definitely required there. I'll test on PowerPC and see what happens without yasm there.