mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-02-17 13:35:35 +00:00
[BUG] CCX on apple silicon #625
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @NilsIrl on GitHub (Mar 29, 2021).
CCExtractor version:
19da837232On apple silicon (M1), ccextractor doesn't compile.
@NauSakaguchi commented on GitHub (Mar 30, 2021):
I added -DPNG_ARM_NEON_OPT=0 flag to build.command file.
BLD_FLAGS="-DPNG_ARM_NEON_OPT=0 -std=gnu99 -Wno-write-strings -Wno-pointer-sign -DGPAC_CONFIG_DARWIN -D_FILE_OFFSET_BITS=64 -DVERSION_FILE_PRESENT -Dfopen64=fopen -Dopen64=open -Dlseek64=lseek -DFT2_BUILD_LIBRARY -DGPAC_DISABLE_VTT -DGPAC_DISABLE_OD_DUMP"19da837232/mac/build.command (L3)It is explained here:
dbe3e0c43e/pngpriv.h (L126-L128)It works for me. So I think you can set the flag if you just want to compile ccextractor. However, the flag turns off the ARM NEON optimization.
Since The latest update of libpng is on March 3, 2019 (M1 is released in 2020 though), it might need to update. How do you think?
@schoeps commented on GitHub (Apr 2, 2021):
I think it would be generally great if ccextractor would rely on system libraries then this problem would disappear. There is some more discussion at homebrew on this: https://github.com/Homebrew/homebrew-core/pull/72218
@cfsmp3 commented on GitHub (Apr 2, 2021):
The reason for having vendored stuff is pretty much Windows.
@schoeps commented on GitHub (Apr 2, 2021):
I understand but for other OS (Mac, Linux) it would be great to supply an install script that tries to use the system libs. Homebrew seems willing to kick the formula because of this (by the way: sorry, for derailing the original post but it seemed to fit here).
@cfsmp3 commented on GitHub (Apr 3, 2021):
Why, what do we get for the effort at this point? The versions we're using are testing with our code, and being realistic we're not keeping up with changes on our dependencies.
We have to be pragmatic here (by that I mean who is going to do and maintain the changes)
@schoeps commented on GitHub (Apr 3, 2021):
The Gentoo linux distribution has assembled a collection of arguments:
https://wiki.gentoo.org/wiki/Why_not_bundle_dependencies.
@cfsmp3 commented on GitHub (May 2, 2021):
https://www.youtube.com/watch?v=Pzl1B7nB9Kc
@schoeps commented on GitHub (May 3, 2021):
Interesting! I watched the video and I tend to agree (from the perspective of a proprietary software vendor). I am not sure if this should apply for software like ccextractor... but on the other hand, I am not with the dependency police.
Posting this video implicitly suggests that homebrew should remove ccextractor from its packaging, right? This is also what the homebrew maintainers suggested anyway and this is also fine for me. I have no strong opinion here. I know how to fix and compile code from source if I need to. So, I prefer to not "waste my life" (quote from the video!) any further :)
@cfsmp3 commented on GitHub (May 3, 2021):
I don't use a Mac or homebrew so I don't know. But I think distributions enforcing compilation / linking options over the convenience of developers and users (and the maintainer themselves!) is a very bad idea. There's nothing wrong with a binary having small static libraries embedded if they do what they are supposed to do.
Let's not make our lives (and our users) lives harder for the sake of some philosophy.
@bbgdzxng1 commented on GitHub (Jun 21, 2021):
Just tested on 0.89 using brew and looks like there are still some challenges, pretty much as expected. But I thought I would give it a try with homebrew 0.89 anyway.
On the assumption that the issue is the aforementioned
-DPNG_ARM_NEON_OPT=0, does anyone know how the brew script https://github.com/Homebrew/homebrew-core/blob/master/Formula/ccextractor.rb can be modified to disable neon? Or is this an upstream issue with libpng? Please excuse my ignorance - I'm just a user, not a dev.@alebcay commented on GitHub (Jul 13, 2021):
FYI @bbgdzxng1
ccextractor0.89 is now available on Homebrew for Apple Silicon - justbrew install ccextractor.@cfsmp3 commented on GitHub (Jul 14, 2021):
Closing since it seems to be done already
@bbgdzxng1 commented on GitHub (Jul 21, 2021):
brew is working nicely on 0.90 for me now. At release, 0.89 did not install through brew, but perhaps someone updated the brewfile. Anyway, 0.90 is working really well on M1 Silicon. Thankyou all, especially @alebcay.