Skip to content

Commit

Permalink
www/node16: Remove DTrace support to fix build with upcoming binutils…
Browse files Browse the repository at this point in the history
… 2.41

* With binutils 2.41 build fails as following.
      LD_LIBRARY_PATH=/wrkdirs/usr/ports/www/node16/work/node-v16.20.1/out/Release/lib.host:/wrkdirs/usr/ports/www/node16/work/node-v16.20.1/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../.; mkdir -p /wrkdirs/usr/ports/www/node16/work/node-v16.20.1/out/Release/obj.target/libnode/src; dtrace -64 "-I/wrkdirs/usr/ports/www/node16/work/node-v16.20.1/out/Release/obj/gen" -Isrc -C -G -s src/v8ustack.d -o "/wrkdirs/usr/ports/www/node16/work/node-v16.20.1/out/Release/obj.target/libnode/src/node_dtrace_ustack.o"
    dtrace: failed to compile script src/v8ustack.d: line 1: failed to resolve V8DBG_SMITAG: Unknown variable name
* This is because behaviour of objdump has changes with binutils 2.41. [1][2]
* On upstream DTrace support itself has been removed with Node.js 19.x.
* There is a pull request that says it fixes build error. [3]  I tried
  it but unfortunately it doesn't work as is expected.
* Upstream suggests me to remove DTrace support. [4]

Reference:	nodejs/node#49991 (comment) [1]
Reference:	https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0a3137ce4c4b38ee8 [2]
Reference:	nodejs/node#49992 [3]
Reference:	nodejs/node#49992 (comment) [4]
  • Loading branch information
Yasuhiro Kimura authored and Yasuhiro Kimura committed Nov 10, 2023
1 parent aa47b85 commit c235184
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 21 deletions.
23 changes: 3 additions & 20 deletions www/node16/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PORTNAME= node
DISTVERSIONPREFIX= v
DISTVERSION= 16.20.1
PORTREVISION?= 1
PORTREVISION?= 2
CATEGORIES= www
MASTER_SITES= https://nodejs.org/dist/v${DISTVERSION}/
PKGNAMESUFFIX= 16
Expand Down Expand Up @@ -63,19 +63,8 @@ CONFLICTS_INSTALL= node[0-9][0-9]
REINPLACE_ARGS= -i ''
PORTSCOUT= limit:^16\.

OPTIONS_DEFINE= BUNDLED_SSL COREPACK DOCS DTRACE NLS
OPTIONS_DEFAULT= COREPACK DTRACE

.if !exists(/usr/sbin/dtrace)
OPTIONS_EXCLUDE+= DTRACE
.endif

OPTIONS_EXCLUDE_aarch64= DTRACE
# dt_modtext:/usr/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(820): arm not implemented
OPTIONS_EXCLUDE_armv6= DTRACE
OPTIONS_EXCLUDE_armv7= DTRACE
OPTIONS_EXCLUDE_powerpc64= DTRACE
OPTIONS_EXCLUDE_powerpc64le= DTRACE
OPTIONS_DEFINE= BUNDLED_SSL COREPACK DOCS NLS
OPTIONS_DEFAULT= COREPACK

OPTIONS_SUB= yes

Expand All @@ -89,8 +78,6 @@ BUNDLED_SSL_CONFIGURE_OFF= --openssl-use-def-ca-store \

COREPACK_CONFIGURE_OFF= --without-corepack

DTRACE_CONFIGURE_ON= --with-dtrace

NLS_BUILD_DEPENDS= icu>=69.1:devel/icu
NLS_LIB_DEPENDS= libicui18n.so:devel/icu
NLS_CONFIGURE_ON= --with-intl=system-icu
Expand Down Expand Up @@ -133,8 +120,4 @@ post-install:
${RM} -rf ${STAGEDIR}${PREFIX}/share/systemtap
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/node

post-install-DTRACE-on:
${MKDIR} ${STAGEDIR}${PREFIX}/lib/dtrace
${INSTALL_DATA} ${WRKSRC}/out/Release/node.d ${STAGEDIR}${PREFIX}/lib/dtrace

.include <bsd.port.post.mk>
1 change: 0 additions & 1 deletion www/node16/pkg-plist
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,6 @@ include/node/v8-profiler.h
include/node/v8-version.h
include/node/v8.h
include/node/v8config.h
%%DTRACE%%lib/dtrace/node.d
%%COREPACK%%lib/node_modules/corepack/CHANGELOG.md
%%COREPACK%%lib/node_modules/corepack/LICENSE.md
%%COREPACK%%lib/node_modules/corepack/README.md
Expand Down

0 comments on commit c235184

Please sign in to comment.