You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
broke compilation of nodejs-mobile for iOS from a x64 macBook #184
(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.
changed the title [-]TL;DR this commit broke compilation of [nodejs-mobile](https://github.com/nodejs-mobile/nodejs-mobile) for iOS from an x64 macBoo[/-][+] broke compilation of [nodejs-mobile](https://github.com/nodejs-mobile/nodejs-mobile) for iOS from an x64 macBoo[/+]on Jan 10, 2023
changed the title [-] broke compilation of [nodejs-mobile](https://github.com/nodejs-mobile/nodejs-mobile) for iOS from an x64 macBoo[/-][+] broke compilation of nodejs-mobile for iOS from an x64 macBook[/+]on Jan 10, 2023
changed the title [-] broke compilation of nodejs-mobile for iOS from an x64 macBook[/-][+] broke compilation of nodejs-mobile for iOS from a x64 macBook[/+]on Jan 10, 2023
Similar issue building on a x64 macBook using "nodejs-mobile-react-native": "16.17.4" for an iPhone simulator (iOS target 15). I'm using node version v16.15.1 . So I can't run "nodejs-mobile-react-native" on an iOS simulator.
I'm reporting the error below:
ld: warning: ignoring file /Users/simone.corsato/git/SwingMobile/node_modules/nodejs-mobile-react-native/ios/NodeMobile.framework/NodeMobile, building for iOS Simulator-x86_64 but attempting to link with file built for iOS-arm64
Undefined symbols for architecture x86_64:
"_napi_call_function", referenced from:
Channel::invokeNodeListener(char*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_close_handle_scope", referenced from:
Channel::invokeNodeListener(char*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_coerce_to_string", referenced from:
Method_SendMessage(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_create_reference", referenced from:
Method_RegisterChannel(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_create_string_utf8", referenced from:
Method_GetDataDir(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Channel::invokeNodeListener(char*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_define_properties", referenced from:
Init(napi_env__*, napi_value__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_get_cb_info", referenced from:
Method_RegisterChannel(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Method_SendMessage(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_get_global", referenced from:
Channel::invokeNodeListener(char*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_get_last_error_info", referenced from:
Method_RegisterChannel(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Method_SendMessage(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Method_GetDataDir(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Init(napi_env__*, napi_value__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_get_reference_value", referenced from:
Channel::invokeNodeListener(char*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_get_value_string_utf8", referenced from:
Method_RegisterChannel(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Method_SendMessage(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_is_exception_pending", referenced from:
Method_RegisterChannel(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Method_SendMessage(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Method_GetDataDir(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Init(napi_env__*, napi_value__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_module_register", referenced from:
_register_rn_bridge() in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_open_handle_scope", referenced from:
Channel::invokeNodeListener(char*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_throw_error", referenced from:
Method_RegisterChannel(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Channel::setNapiRefs(napi_env__*&, napi_ref__*&) in libnodejs-mobile-react-native.a(rn-bridge.o)
Method_SendMessage(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Method_GetDataDir(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Init(napi_env__*, napi_value__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_napi_typeof", referenced from:
Method_RegisterChannel(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
Method_SendMessage(napi_env__*, napi_callback_info__*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_node_start", referenced from:
-[NodeRunner startEngineWithArguments::] in libnodejs-mobile-react-native.a(NodeRunner.o)
"_uv_async_init", referenced from:
Channel::setNapiRefs(napi_env__*&, napi_ref__*&) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_uv_async_send", referenced from:
Channel::flushQueue() in libnodejs-mobile-react-native.a(rn-bridge.o)
Channel::setNapiRefs(napi_env__*&, napi_ref__*&) in libnodejs-mobile-react-native.a(rn-bridge.o)
Channel::queueMessage(char*) in libnodejs-mobile-react-native.a(rn-bridge.o)
"_uv_default_loop", referenced from:
Channel::setNapiRefs(napi_env__*&, napi_ref__*&) in libnodejs-mobile-react-native.a(rn-bridge.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Activity
[-]TL;DR this commit broke compilation of [nodejs-mobile](https://github.com/nodejs-mobile/nodejs-mobile) for iOS from an x64 macBoo[/-][+] broke compilation of [nodejs-mobile](https://github.com/nodejs-mobile/nodejs-mobile) for iOS from an x64 macBoo[/+]gengjiawen commentedon Jan 10, 2023
cc @MarshallOfSound @rvagg
[-] broke compilation of [nodejs-mobile](https://github.com/nodejs-mobile/nodejs-mobile) for iOS from an x64 macBoo[/-][+] broke compilation of nodejs-mobile for iOS from an x64 macBook[/+][-] broke compilation of nodejs-mobile for iOS from an x64 macBook[/-][+] broke compilation of nodejs-mobile for iOS from a x64 macBook[/+]simonecorsato commentedon Feb 14, 2023
Similar issue building on a x64 macBook using "nodejs-mobile-react-native": "16.17.4" for an iPhone simulator (iOS target 15). I'm using node version v16.15.1 . So I can't run "nodejs-mobile-react-native" on an iOS simulator.
I'm reporting the error below: