From a27c409f20f57673161bdea4a93ba12b2973a044 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Wed, 21 Sep 2016 17:49:02 -0400 Subject: [PATCH] nodejs: Do not use a shared libuv Using a shared libuv for node does not work when dlopen():ing shared libraries in node packages which uses libuv symbols without linking to libuv explicitly, as the Android linker does not use linked libraries on dlopen() to resolve symbols due to historical reasons. Fixes #462. --- packages/nodejs/build.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/nodejs/build.sh b/packages/nodejs/build.sh index e58a3176f..97f1137d1 100644 --- a/packages/nodejs/build.sh +++ b/packages/nodejs/build.sh @@ -1,8 +1,12 @@ TERMUX_PKG_HOMEPAGE=http://nodejs.org/ TERMUX_PKG_DESCRIPTION="Platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications" TERMUX_PKG_VERSION=6.6.0 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=https://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_DEPENDS="openssl, libuv, c-ares" +# Note that we do not use a shared libuv to avoid an issue with the Android +# linker, which does not use symbols of linked shared libraries when resolving +# symbols on dlopen(). See https://github.com/termux/termux-packages/issues/462. +TERMUX_PKG_DEPENDS="openssl, c-ares" TERMUX_PKG_RM_AFTER_INSTALL="lib/node_modules/npm/html lib/node_modules/npm/make.bat share/systemtap lib/dtrace" TERMUX_PKG_BUILD_IN_SRC=yes @@ -33,7 +37,7 @@ termux_step_configure () { --prefix=$TERMUX_PREFIX \ --dest-cpu=$DEST_CPU \ --dest-os=android \ - --shared-openssl --shared-zlib --shared-libuv --shared-cares \ + --shared-openssl --shared-zlib --shared-cares \ --without-snapshot \ --without-intl \ --without-inspector \