| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
Tried a test build, but that failed due to the issue being addressed by #63006. I'll either need that to land and rebase this, or create another branch with that plus this to test. |
Sorry, something went wrong.
|
Trying with another branch with this PR and #63006: |
Sorry, something went wrong.
|
Didn't work. |
Sorry, something went wrong.
21:12:48 Compiling stable_deref_trait v1.2.1 21:12:48 error[E0463]: can't find crate for `core` 21:12:48 | 21:12:48 = note: the `x86_64-apple-darwin` target may not be installed 21:12:48 = help: consider downloading the target with `rustup target add x86_64-apple-darwin` 21:12:48 21:12:48 For more information about this error, try `rustc --explain E0463`. 21:12:48 error: could not compile `stable_deref_trait` (lib) due to 1 previous error 21:12:48 warning: build failed, waiting for other jobs to finish... |
Sorry, something went wrong.
21:12:48 Compiling stable_deref_trait v1.2.1 21:12:48 error[E0463]: can't find crate for `core` 21:12:48 | 21:12:48 = note: the `x86_64-apple-darwin` target may not be installed 21:12:48 = help: consider downloading the target with `rustup target add x86_64-apple-darwin` 21:12:48 21:12:48 For more information about this error, try `rustc --explain E0463`. 21:12:48 error: could not compile `stable_deref_trait` (lib) due to 1 previous error 21:12:48 warning: build failed, waiting for other jobs to finish... So this suggests we need to add the x64 macOS rust target to the VMs similar to the arm64 Windows targets for the Windows machines in nodejs/build#4285. Further test builds have also errored with 12:19:39 clang++: error: no such file or directory: '/Users/admin/build/ws/out/Release/obj/gen/release/libnode_crates.a' 12:19:39 make[2]: *** [/Users/admin/build/ws/out/Release/mksnapshot] Error 1 and that appears to be because if a target is set it changes the directory that the compiled library is written to, which was accounted for in #61806. However this PR isn't adapting the Windows solution because the way the pkg is currently compiled, under Rosetta the host_arch is x64 so it's not going to be as easy to detect that we are cross-compiling. |
Sorry, something went wrong.
When we build the macOS pkg, we build Node.js twice (on arm64): - Once for arm64 (native) - Once for x64, using a combination of Rosetta 2 and compiler flags before combining both into a universal binary. For the x64 case, pass target flag to `rustc` so that the binary is built for the correct target architecture. Signed-off-by: Richard Lau <richard.lau@ibm.com>
Sorry, something went wrong.
Sorry, something went wrong.
|
Latest build from this branch with the addition of the x64 rust target succeeded at https://ci-release.nodejs.org/job/iojs+release/nodes=macos15-release-pkg/11740 and I've verified that temporal works in both architectures on the universal binary within the package :-) |
Sorry, something went wrong.
|
Marking this ready for review. |
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM although Memo to self; I'd like to look in the future at whether we could use STATIC_LIB_PREFIX/SUFFIX instead of hard coding it in here as that could simplify the logic (Maybe @StefanStojanovic knows?)
Sorry, something went wrong.
There is almost certainly room to streamline the logic across all platforms, but I've been just focussing on getting something to work with the minimal number of changes (to try to avoid breaking something else). As you say, we can revisit later on. |
Sorry, something went wrong.
|
Fast-track has been requested by @RafaelGSS. Please 👍 to approve. |
Sorry, something went wrong.
When we build the macOS pkg, we build Node.js twice (on arm64): - Once for arm64 (native) - Once for x64, using a combination of Rosetta 2 and compiler flags before combining both into a universal binary. For the x64 case, pass target flag to `rustc` so that the binary is built for the correct target architecture. Signed-off-by: Richard Lau <richard.lau@ibm.com> PR-URL: #63015 Reviewed-By: Stewart X Addison <sxa@redhat.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
| Back | FazBrowse Home | New Git URL |
When we build the macOS pkg, we build Node.js twice (on arm64):
before combining both into a universal binary.
For the x64 case, pass target flag to rustc so that the binary is built for the correct target architecture.
This is a "blind" attempt to address pkg build failures in the Node.js release CI -- I'm not a macOS user, nor do I have access to a macOS environment outside of the Node.js CI, so opening as a draft to test out.
It's quite possible that even if this is the "correct" fix, we'll need x64 rustc libraries installed on the release macOS VMs (CI run will indicate).