broke compilation of nodejs-mobile for iOS from a x64 macBook
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 155
- Forks
- 101
- Avg merge
- 6d 2h
- Merged PRs (30d)
- 4
Description
TL;DR this commit broke compilation of nodejs-mobile for iOS from an x64 macBook. See PR https://github.com/nodejs-mobile/nodejs-mobile/pull/9
(I'm not sure if it's good practice to comment on old PRs, so feel free to tell me to move this discussion elsewhere.)
I maintain nodejs-mobile lately, and I'm updating our fork from Node 12.x to Node 16.x. Since we're compiling node.js for iOS, we want the arch to be arm64, but the host clang has flags like __amd64__ and this mixed with the iPhoneOS SDK headers ends up causing an Unsupported architecture compilation error.
Maybe a solution would be to patch this gyp-next script to detect whether we're running in arm64 darwin (such checks are common throughout the codebase, I've noticed) and then use the new logic. Else, use the old logic.
What do you think?
Originally posted by @staltz in https://github.com/nodejs/gyp-next/issues/78#issuecomment-1375664549
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the gyp-next architecture checks and the changes affecting compilation for nodejs-mobile, then compare the behavior described in nodejs-mobile PR #9. Reproduce the iOS build from an x64 macOS host and inspect how host clang flags interact with the iPhoneOS SDK headers. Done means the nodejs-mobile iOS build compiles successfully with the intended arm64 target.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, node.js, python
- Domain
- build-system, compilers, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100