Download raw body.
Help with porting Node.js 20 to OpenBSD 7.7
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
>
Help with porting Node.js 20 to OpenBSD 7.7