mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
addon targets. openssl-binding, openssl-get-ssl-ctx, openssl-providers, and zlib-binding all exclude their sources on IBM i because the platform ships OpenSSL and zlib as system libraries. The binding.gyp condition leaves the target with no sources but still of type 'loadable_module', which causes gyp to generate a full solink_module COPY rule in the generated Makefile. With gcc-12, the compiler exits 1 on empty input so gmake stops at the link step and build_addons.py skips the addon non fatally. With clang-21, the compiler exits 0 on empty input and writes no output file. The linker driver then runs llvm-nm internally as a post-link step to generate the .exp symbol export file, finds no output and aborts with: llvm-nm: error: a.out: No such file or directory The fix is to declare the target as type 'none' when on IBM i. The gyp make generator produces only a touch-stamp rule for 'none' targets no solink_module, no COPY, no .node output is ever expected. build_addons.py sees exit 0 and run-ci continues. Signed-off-by: Abdirahim Musse <33973272+abmusse@users.noreply.github.com> PR-URL: https://github.com/nodejs/node/pull/65545 Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Stewart X Addison <sxa@redhat.com>