From: Martin Ivanov Subject: Re: Help with porting Node.js 20 to OpenBSD 7.7 To: Martin Ivanov , ports@openbsd.org Date: Wed, 28 May 2025 01:41:21 +0300 Hello Stuart, thank you very much for your helpfulness. I followed your instructions and came quite a step forward. But now I am stuck at the following error: ld.lld: error: stray --end-group c++: error: linker command failed with exit code 1 (use -v to see invocation) gmake[1]: *** [overlapped-checker.target.mk:134: /usr/obj/ports/node-20.18.2/node-v20.18.2/out/Release/overlapped-checker] Error 1 The complete error message is below. Any suggestions will be appreciated. Best regards, Martin -------------------------------------------------------------------------------------- cc -o /usr/obj/ports/node-20.18.2/node-v20.18.2/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/cmp_mock_srv.o ../deps/openssl/openssl/apps/lib/cmp_mock_srv.c '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_API_COMPAT=0x10100001L' '-DNDEBUG' '-DOPENSSL_USE_NODELETE' '-DL_ENDIAN' '-DOPENSSL_BUILDING_OPENSSL' '-DAES_ASM' '-DBSAES_ASM' '-DCMLL_ASM' '-DECP_NISTZ256_ASM' '-DGHASH_ASM' '-DKECCAK1600_ASM' '-DMD5_ASM' '-DOPENSSL_BN_ASM_GF2m' '-DOPENSSL_BN_ASM_MONT' '-DOPENSSL_BN_ASM_MONT5' '-DOPENSSL_CPUID_OBJ' '-DOPENSSL_IA32_SSE2' '-DPADLOCK_ASM' '-DPOLY1305_ASM' '-DRC4_ASM' '-DSHA1_ASM' '-DSHA256_ASM' '-DSHA512_ASM' '-DVPAES_ASM' '-DWHIRLPOOL_ASM' '-DX25519_ASM' '-DOPENSSL_PIC' '-DOPENSSLDIR="/etc/ssl"' '-DENGINESDIR="/dev/null"' '-DTERMIOS' -I../deps/openssl/openssl/apps/include -I/usr/local/include -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/openssl/crypto/ec/curve448/arch_32 -I../deps/openssl/openssl/providers/common/include -I../deps/openssl/openssl/providers/implementations/include -I../deps/openssl/config -I../deps/openssl/config/archs/linux-x86_64/asm/include -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto/include -I../deps/openssl/config/archs/linux-x86_64/asm_avx2/include -I../deps/openssl/config/archs/linux-x86_64/asm_avx2 -pthread -Wall -Wextra -Wno-unused-parameter -Wa,--noexecstack -Wall -O3 -pthread -m64 -Wall -O3 -Wno-missing-field-initializers -I/usr/local/include -m64 -fno-omit-frame-pointer -MMD -MF /usr/obj/ports/node-20.18.2/node-v20.18.2/out/Release/.deps//usr/obj/ports/node-20.18.2/node-v20.18.2/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/cmp_mock_srv.o.d.raw -O2 -pipe -c ld.lld: error: stray --end-group c++: error: linker command failed with exit code 1 (use -v to see invocation) gmake[1]: *** [overlapped-checker.target.mk:134: /usr/obj/ports/node-20.18.2/node-v20.18.2/out/Release/overlapped-checker] Error 1 gmake[1]: *** Waiting for unfinished jobs.... rm 1220881f73d137aa5ecdd16be3158ba788b8464a.intermediate gmake: *** [Makefile:135: node] Error 2 *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:3069 '/usr/obj/ports/node-20.18.2/.build_done': @cd /usr/obj/ports/node-20.18.2/n...) *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2241 '/usr/packages/amd64/all/node-20.18.2v0.tgz': @cd /usr/ports/lang/node20 && ...) *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2733 '_internal-package': @case X${_DEPENDS_CACHE} in X) _DEPENDS_CACHE=$( mktem...) *** Error 2 in /usr/ports/lang/node20 (/usr/ports/infrastructure/mk/ bsd.port.mk:2712 'package': @lock=node-20.18.2v0; export _LOCKS_HELD=" ...) Am Di., 27. Mai 2025 um 11:50 Uhr schrieb Stuart Henderson < stu@spacehopper.org>: > If you need the older version I would get a CVS checkout of the > OPENBSD_7_7 ports tree (see the faq), then > > cd /usr/ports/lang > cp -r node node20 > cd node20 > cvs up -r OPENBSD_7_6 -Pd > make prepare FETCH_PACKAGES= > make package > > (or e.g. "make package MAKE_JOBS=4" to use multiple cores to speed up > the build) > > this is not "supported" but will likely work with no or minimal changes > to the port. > > On 2025/05/25 12:29, Martin Ivanov wrote: > > Hello, > > > > I'm trying to build Node.js 20 on OpenBSD 7.7 (uname -a: OpenBSD > marto.OpenBSD 7.7 GENERIC.MP# > > 625 amd64). > > > > I noticed that Node.js 20 was available in the ports tree for OpenBSD > 7.6, but it no longer > > appears to be available for 7.7. I would prefer not to downgrade the OS > just to get access to > > this specific Node version. > > > > Before I spend too much time trying to patch things manually, I wanted > to ask: > > - Is there any known reason Node.js 20 was dropped from the 7.7 ports? > > - Would it be feasible to port it forward from the 7.6 tree? > > - If so, are there known blockers or incompatibilities I should be aware > of? > > > > I tried building it manually using gmake and NVM’s cached source, but > ran into issues with GYP > > and missing or problematic flags (e.g., `ldl`, `lcrypt`, `lrt`), and > patching around them > > hasn’t been successful so far. > > > > Any advice or pointers would be greatly appreciated. > > > > Thank you, > > Marto >