sharp: v0.31.2: macOS x64 prebuilt binaries fail on macOS < 11 with "Symbol not found: _pthread_jit_write_protect_supported_np"
Possible install-time or require-time problem
- I have read the documentation relating to installation.
- I have ensured that the architecture and platform of Node.js used for
npm installis the same as the architecture and platform of Node.js used at runtime.
Are you using the latest version of sharp?
- I am using the latest version of
sharpas reported bynpm view sharp dist-tags.latest.
If you cannot confirm this, please upgrade to the latest version and try again before opening an issue.
If you are using another package which depends on a version of sharp that is not the latest, please open an issue against that package instead.
Hello! After updating Sharp from version 0.31.1 to version 0.31.2, some of my users can no longer run my application.
Dyld Error Message:
Symbol not found: _pthread_jit_write_protect_supported_np
Referenced from: /Applications/electron.app/Contents/Resources/app.asar.unpacked/node_modules/sharp/build/Release/../.././vendor/8.13.3/darwin-x64/lib/libvips-cpp.42.dylib
Expected in: /usr/lib/libSystem.B.dylib
I can guess that this problem is probably inside libvips (as shown in the error message), but in the installation guide you state:
Prebuilt binaries
Ready-compiled sharp and libvips binaries are provided for use on the most common platforms:
- macOS x64 (>= 10.13)
- macOS ARM64
- Linux x64 (glibc >= 2.17, musl >= 1.1.24, CPU with SSE4.2)
- Linux ARM64 (glibc >= 2.17, musl >= 1.1.24)
- Windows x64
- Windows x86
So I’m just wondering if this bug should be expected to be fixed or should the supported macOS version be higher?
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 1
- Comments: 23 (10 by maintainers)
Commits related to this issue
- temporarily remove imagetools because mac stinky see https://github.com/lovell/sharp/issues/3438 for more info, according to rolf it isn't currently being used anywhere — committed to Faithful-Resource-Pack/Website by 3vorp 2 years ago
- Downgrade to Sharp 0.31.1 because of bug in macOS Catalina See https://github.com/lovell/sharp/issues/3438 — committed to cacaodev/join-images by cacaodev a year ago
- fix: update sharp to 0.32 lovell/sharp#3438 — committed to bitfocus/companion by dnmeid a year ago
Well, as it turned out I don’t have to wait till tonight, I have access to my local machine again. Here are the steps for everyone else that came here from a Google Search, and I noticed that it’s a MacOSX specific issue. I’m on node
v16.17.1, running onMacOS Mojave 10.14.6.npm uninstall sharpandnpm install sharp@0.31.1And, they’re back again working as intended.
Thanks,
Also happend on MacOS 10.15.7
v0.32.0 now available with prebuilt binaries that contains a patched orc for macOS 10.13+ support.
For macOS 10 support you’ll currently need to temporarily pin sharp to v0.31.1 or earlier.
macOS 10 reached end-of-life in September this year, hence CI providers removing support for it, hence the unfortunate situation where we weren’t able to test using it.
Hopefully the fixes and checks now put in place will allow sharp to re-introduce support for the documented macOS 10.13+ from the next release onwards, which is well beyond Apple’s official support, and should allow those using e.g. older hardware to continue to benefit from it.
The next release of the prebuilt binaries will include the upstream patch added to orc a couple of weeks ago (via commit https://github.com/lovell/sharp-libvips/commit/d3adcca3cb4c8cb9024ae263e2fe8d01c251eb6d ) that provides both compile and runtime checks, which is much more comprehensive than our original quick fix. These will be made available as part of sharp v0.32.0.
l literally just scrapped my whole computer HD and started with a fresh install of Ventura from mojave… took me a solid 2 days to get everything in order.
Now sharp supports… LOL. Anyways I guess it was for the best
FYI: Make sure there is only one sharp package inside
<your-project-dir>/node_modules/**/. Addwhen needed.
thanks @neonexus. i wasn’t sure v31.1 was an option in my case because of #3384, but pinning electron to v19 works for now. cheers 😃
Upstream issue: https://gitlab.freedesktop.org/gstreamer/orc/-/issues/44 (I deliberately didn’t open a PR there because I don’t have access to iOS devices).