Skip to content

Cannot use on Apple Silicon due to incompatible binary dependencies in upstream packages #2196

@jimmcslim

Description

@jimmcslim

Environment details

  • OS: macOS Monterey 12.6.1 (running on an Apple M1 Pro)
  • Node.js version: 18.16.0
  • npm version: 9.5.1
  • @google-cloud/storage version: 6.10.1

Steps to reproduce

  1. Attempt to use this library on an Apple Silicon machine using a version of Node.js compiled for the ARM architecture.
  2. Observe a runtime error from dyld Missing symbol.

@google-cloud/storage is dependent upon hash-stream-validation, which in turn is dependent upon node-fast-crc32c. However the binary dependencies of node-fast-crc32c are NOT compatible with the M1/ARM architecture.

There is this PR for node-fast-crc32c which would resolve this issue, however it is long stalled.

Similarly there is this issue on hash-stream-validation requesting that this library also attempt to solve the problem... acknowledging that the upstream dependency appears to no longer be developed... however this issue also appears to have stalled.

I'm reminded of this XKCD sketch - I certainly hope Google might consider reimplementing the functionality of these packages into your code base, and also consider including Apple Silicon in your CI/CD pipeline to ensure a positive developer experience.

Thanks!

Metadata

Metadata

Assignees

Labels

api: storageIssues related to the googleapis/nodejs-storage API.needs more infoThis issue needs more information from the customer to proceed.priority: p2Moderately-important priority. Fix may not be included in next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions