Node: Compilation Fails for 7.4.0 on OpenBSD 6.0

Created on 20 Jan 2017  Â·  20Comments  Â·  Source: nodejs/node

  • Version: 7.4.0
  • Platform: OpenBSD athena.digislacker.com 6.0 GENERIC.MP#146 amd64
  • Subsystem: v8

Per BUILDING.md I have made sure to install the required "libexecinfo". CXX has been defined as /usr/local/bin/eg++, which is version "4.9.4" from the OpenBSD ports tree.

I've run ./configure which outputs:

adam@athena (node-v7.4.0): ./configure
creating ./icu_config.gypi
* Using ICU in deps/icu-small
Using version-specific floating patch tools/icu/patches/58/source/i18n/digitlst.cpp
creating ./icu_config.gypi
{ 'target_defaults': { 'cflags': [],
                       'default_configuration': 'Release',
                       'defines': [],
                       'include_dirs': [],
                       'libraries': []},
  'variables': { 'asan': 0,
                 'coverage': 'false',
                 'debug_devtools': 'node',
                 'force_dynamic_crt': 0,
                 'gas_version': '2.17',
                 'host_arch': 'x64',
                 'icu_data_file': 'icudt58l.dat',
                 'icu_data_in': '../../deps/icu-small/source/data/in/icudt58l.dat',
                 'icu_endianness': 'l',
                 'icu_gyp_path': 'tools/icu/icu-generic.gyp',
                 'icu_locales': 'en,root',
                 'icu_path': 'deps/icu-small',
                 'icu_small': 'true',
                 'icu_ver_major': '58',
                 'node_byteorder': 'little',
                 'node_enable_d8': 'false',
                 'node_enable_v8_vtunejit': 'false',
                 'node_install_npm': 'true',
                 'node_module_version': 51,
                 'node_no_browser_globals': 'false',
                 'node_prefix': '/usr/local',
                 'node_release_urlbase': '',
                 'node_shared': 'false',
                 'node_shared_cares': 'false',
                 'node_shared_http_parser': 'false',
                 'node_shared_libuv': 'false',
                 'node_shared_openssl': 'false',
                 'node_shared_zlib': 'false',
                 'node_tag': '',
                 'node_use_bundled_v8': 'true',
                 'node_use_dtrace': 'false',
                 'node_use_etw': 'false',
                 'node_use_lttng': 'false',
                 'node_use_openssl': 'true',
                 'node_use_perfctr': 'false',
                 'node_use_v8_platform': 'true',
                 'openssl_fips': '',
                 'openssl_no_asm': 0,
                 'shlib_suffix': 'so.51',
                 'target_arch': 'x64',
                 'v8_enable_gdbjit': 0,
                 'v8_enable_i18n_support': 1,
                 'v8_inspector': 'true',
                 'v8_no_strict_aliasing': 1,
                 'v8_optimized_debug': 0,
                 'v8_random_seed': 0,
                 'v8_use_snapshot': 'true',
                 'want_separate_host_toolset': 0,
                 'want_separate_host_toolset_mkpeephole': 0}}
creating ./config.gypi
creating ./config.mk
adam@athena (node-v7.4.0): 

I run "gmake" to compile. Everything seems to be fine until the following:

  /usr/local/bin/eg++ '-DV8_TARGET_ARCH_X64' '-DENABLE_DISASSEMBLER' '-DV8_I18N_SUPPORT' -I../deps/v8  -pthread -Wall -Wextra -Wno-unused-parameter -m64 -fno-strict-aliasing -I/usr/local/include -fdata-sections -ffunction-sections -O3 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /home/adam/src/node-v7.4.0/out/Release/.deps//home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/platform/platform-posix.o.d.raw   -c -o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/platform/platform-posix.o ../deps/v8/src/base/platform/platform-posix.cc
  rm -f /home/adam/src/node-v7.4.0/out/Release/obj.target/deps/v8/src/libv8_libbase.a && ar crs /home/adam/src/node-v7.4.0/out/Release/obj.target/deps/v8/src/libv8_libbase.a /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/accounting-allocator.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/atomicops_internals_x86_gcc.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/bits.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/cpu.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/division-by-constant.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/debug/stack_trace.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/file-utils.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/functional.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/ieee754.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/logging.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/once.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/platform/time.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/platform/condition-variable.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/platform/mutex.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/platform/semaphore.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/sys-info.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/utils/random-number-generator.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/platform/platform-openbsd.o /home/adam/src/node-v7.4.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/platform/platform-posix.o
  /usr/local/bin/eg++ '-DV8_TARGET_ARCH_X64' '-DENABLE_DISASSEMBLER' '-DV8_I18N_SUPPORT' -I../deps/v8  -pthread -Wall -Wextra -Wno-unused-parameter -m64 -fno-strict-aliasing -I/usr/local/include -fdata-sections -ffunction-sections -O3 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /home/adam/src/node-v7.4.0/out/Release/.deps//home/adam/src/node-v7.4.0/out/Release/obj.target/mkpeephole/deps/v8/src/interpreter/bytecodes.o.d.raw   -c -o /home/adam/src/node-v7.4.0/out/Release/obj.target/mkpeephole/deps/v8/src/interpreter/bytecodes.o ../deps/v8/src/interpreter/bytecodes.cc
  /usr/local/bin/eg++ '-DV8_TARGET_ARCH_X64' '-DENABLE_DISASSEMBLER' '-DV8_I18N_SUPPORT' -I../deps/v8  -pthread -Wall -Wextra -Wno-unused-parameter -m64 -fno-strict-aliasing -I/usr/local/include -fdata-sections -ffunction-sections -O3 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /home/adam/src/node-v7.4.0/out/Release/.deps//home/adam/src/node-v7.4.0/out/Release/obj.target/mkpeephole/deps/v8/src/interpreter/mkpeephole.o.d.raw   -c -o /home/adam/src/node-v7.4.0/out/Release/obj.target/mkpeephole/deps/v8/src/interpreter/mkpeephole.o ../deps/v8/src/interpreter/mkpeephole.cc
  /usr/local/bin/eg++ -pthread -rdynamic -m64 -Wl,-z,wxneeded  -o /home/adam/src/node-v7.4.0/out/Release/mkpeephole -Wl,--start-group /home/adam/src/node-v7.4.0/out/Release/obj.target/mkpeephole/deps/v8/src/interpreter/bytecodes.o /home/adam/src/node-v7.4.0/out/Release/obj.target/mkpeephole/deps/v8/src/interpreter/mkpeephole.o /home/adam/src/node-v7.4.0/out/Release/obj.target/deps/v8/src/libv8_libbase.a -Wl,--end-group -L/usr/local/lib -lexecinfo
/home/adam/src/node-v7.4.0/out/Release/obj.target/deps/v8/src/libv8_libbase.a(logging.o): In function `V8_Fatal':
logging.cc:(.text.V8_Fatal+0xf2): undefined reference to `v8::base::debug::StackTrace::StackTrace()'
logging.cc:(.text.V8_Fatal+0xfa): undefined reference to `v8::base::debug::StackTrace::Print() const'
logging.cc:(.text.V8_Fatal+0x10b): undefined reference to `v8::base::debug::DisableSignalStackDump()'
collect2: error: ld returned 1 exit status
gmake[1]: *** [deps/v8/src/mkpeephole.target.mk:130: /home/adam/src/node-v7.4.0/out/Release/mkpeephole] Error 1
gmake[1]: Leaving directory '/home/adam/src/node-v7.4.0/out'
gmake: *** [Makefile:73: node] Error 2
adam@athena (node-v7.4.0):
build

Most helpful comment

You get the permission denied stuff because you are building node outside of a wxallowed mount. If you clone the node repo to /usr/local/build/node or similar (inside /usr/local) it should get past that part.

If you see weird "permission denied" errors, check dmesg:

/home/qbit/dev/node/out/Release/icupkg(992): W^X binary outside wxallowed mountpoint

All 20 comments

/cc @nodejs/v8 @nodejs/build

Does this patch fix it?

diff --git a/deps/v8/src/v8.gyp b/deps/v8/src/v8.gyp
index 1adb2fe..698e687 100644
--- a/deps/v8/src/v8.gyp
+++ b/deps/v8/src/v8.gyp
@@ -1917,16 +1917,17 @@
           }
         ],
         ['OS=="openbsd"', {
             'link_settings': {
               'libraries': [
                 '-L/usr/local/lib -lexecinfo',
             ]},
             'sources': [
+              'base/debug/stack_trace_posix.cc',
               'base/platform/platform-openbsd.cc',
               'base/platform/platform-posix.cc'
             ],
           }
         ],
         ['OS=="netbsd"', {
             'link_settings': {
               'libraries': [

The patch fixes that problem.

Off to t-shoot some other things - like why it seems g++ is hardcoded in
places rather than following CXX, and why I get "permission denied" running
things in the node-v7.4.0/out/Release/ directory.

Thanks for your help.

Regards,

-Adam

On Fri, Jan 20, 2017 at 12:16 AM, Ben Noordhuis notifications@github.com
wrote:

Does this patch fix it?

diff --git a/deps/v8/src/v8.gyp b/deps/v8/src/v8.gyp
index 1adb2fe..698e687 100644--- a/deps/v8/src/v8.gyp+++ b/deps/v8/src/v8.gyp@@ -1917,16 +1917,17 @@
}
],
['OS=="openbsd"', {
'link_settings': {
'libraries': [
'-L/usr/local/lib -lexecinfo',
]},
'sources': [+ 'base/debug/stack_trace_posix.cc',
'base/platform/platform-openbsd.cc',
'base/platform/platform-posix.cc'
],
}
],
['OS=="netbsd"', {
'link_settings': {
'libraries': [

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nodejs/node/issues/10904#issuecomment-274005439, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIEmBFZpqtiRi4ZwoDuJoPuwpCadYErdks5rUG16gaJpZM4LowM6
.

@AdamNewman please point to where g++ is hardcoded, if you find any places. We pass clang++ to CXX as compiler on for instance FreeBSD which works fine.

Presently that is just speculation. On my last pass through after incorporating the patch you sent I started to encounter "-std=gnu++0x" errors, even though I'd set CXX to eg++ and CC set to egcc. After crudely symlinking /usr/local/bin/eg++ to /usr/bin/g++ to temporarily replace 4.2.1 with 4.9.4, things went fine... for a while. =)

Here is where things stop when I don't symlink:

g++ '-DU_COMMON_IMPLEMENTATION=1' '-DU_I18N_IMPLEMENTATION=1' '-DU_IO_IMPLEMENTATION=1' '-DU_TOOLUTIL_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-D_CRT_SECURE_NO_DEPRECATE=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DUCONFIG_NO_REGULAR_EXPRESSIONS=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=0' '-DUCONFIG_NO_BREAK_ITERATION=0' '-DUCONFIG_NO_LEGACY_CONVERSION=1' -I../deps/icu-small/source/common -I../deps/icu-small/source/i18n -I../deps/icu-small/source/io -I../deps/icu-small/source/tools/toolutil -pthread -Wall -Wextra -Wno-unused-parameter -m64 -Wno-deprecated-declarations -O3 -fno-omit-frame-pointer -fno-exceptions -std=gnu++0x -frtti -MMD -MF /home/adam/src/node-v7.4.0/out/Release/.deps//home/adam/src/node-v7.4.0/out/Release/obj.host/icutools/deps/icu-small/source/tools/toolutil/collationinfo.o.d.raw -c -o /home/adam/src/node-v7.4.0/out/Release/obj.host/icutools/deps/icu-small/source/tools/toolutil/collationinfo.o ../deps/icu-small/source/tools/toolutil/collationinfo.cpp
cc1plus: error: unrecognized command line option "-std=gnu++0x"
gmake[1]: * [tools/icu/icutools.host.mk:525: /home/adam/src/node-v7.4.0/out/Release/obj.host/icutools/deps/icu-small/source/tools/toolutil/collationinfo.o] Error 1
gmake[1]: Leaving directory '/home/adam/src/node-v7.4.0/out'
gmake: *
[Makefile:73: node] Error 2
adam@zero (node-v7.4.0):

Cheers,

-Adam

On Jan 20, 2017, at 11:01 AM, Johan Bergström notifications@github.com wrote:

@AdamNewman https://github.com/AdamNewman please point to where g++ is hardcoded, if you find any places. We pass clang++ to CXX as compiler on for instance FreeBSD which works fine.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/nodejs/node/issues/10904#issuecomment-274151750, or mute the thread https://github.com/notifications/unsubscribe-auth/AIEmBAhyeFpPELX-zrCpWmImiNlmKD2pks5rUQSHgaJpZM4LowM6.

Try building with make CXX=eg++ CXX.host=eg++ CXX.target=eg++. You may have to override LINK that way as well.

That seems to fix that issue. Now I am down to this:

eg++ '-DUCONFIG_NO_SERVICE=1' '-DUCONFIG_NO_REGULAR_EXPRESSIONS=1'
'-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=0'
'-DUCONFIG_NO_BREAK_ITERATION=0' '-DUCONFIG_NO_LEGACY_CONVERSION=1'
-I../deps/icu-small/source/common -I../deps/icu-small/source/i18n
-I../deps/icu-small/source/io -I../deps/icu-small/source/tools/toolutil
-pthread -Wall -Wextra -Wno-unused-parameter -m64 -O3
-fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF
/home/adam/src/node-v7.4.0/out/Release/.deps//home/adam/src/node-v7.4.0/out/Release/obj.host/iculslocs/tools/icu/no-op.o.d.raw
-c -o
/home/adam/src/node-v7.4.0/out/Release/obj.host/iculslocs/tools/icu/no-op.o
../tools/icu/no-op.cc
eg++ -pthread -rdynamic -m64 -Wl,-z,wxneeded -o
/home/adam/src/node-v7.4.0/out/Release/iculslocs -Wl,--start-group
/home/adam/src/node-v7.4.0/out/Release/obj.host/iculslocs/tools/icu/iculslocs.o
/home/adam/src/node-v7.4.0/out/Release/obj.host/iculslocs/tools/icu/no-op.o
/home/adam/src/node-v7.4.0/out/Release/obj.host/tools/icu/libicutools.a
-Wl,--end-group
/home/adam/src/node-v7.4.0/out/Release/obj.host/tools/icu/libicutools.a(putil.o):
In function uprv_getDefaultLocaleID_58': putil.cpp:(.text+0x1bb7): warning: warning: strcat() is almost always misused, please use strlcat() /home/adam/src/node-v7.4.0/out/Release/obj.host/tools/icu/libicutools.a(uloc.o): In functionuloc_acceptLanguageFromHTTP_58':
uloc.cpp:(.text+0x45fa): warning: warning: sprintf() is often misused,
please use snprintf()
/home/adam/src/node-v7.4.0/out/Release/obj.host/tools/icu/libicutools.a(uresbund.o):
In function ures_getFunctionalEquivalent_58': uresbund.cpp:(.text+0x8e86): warning: warning: stpcpy() is dangerous; do not use it /home/adam/src/node-v7.4.0/out/Release/obj.host/tools/icu/libicutools.a(putil.o): In functionu_setDataDirectory_58':
putil.cpp:(.text+0x154f): warning: warning: strcpy() is almost always
misused, please use strlcpy()

LD_LIBRARY_PATH=/home/adam/src/node-v7.4.0/out/Release/lib.host:/home/adam/src/node-v7.4.0/out/Release/lib.target:$LD_LIBRARY_PATH;
export LD_LIBRARY_PATH; cd ../tools/icu; mkdir -p
/home/adam/src/node-v7.4.0/out/Release/obj/gen/icutmp; python icutrim.py -P
"/home/adam/src/node-v7.4.0/out/Release" -D
../../deps/icu-small/source/data/in/icudt58l.dat --delete-tmp -T
"/home/adam/src/node-v7.4.0/out/Release/obj/gen/icutmp" -F icu_small.json
-O icudt58l.dat -v -L en,root
Options: {'verbose': 1, 'filterfile': 'icu_small.json', 'toolpath':
'/home/adam/src/node-v7.4.0/out/Release', 'deltmpdir': 1, 'outfile':
'icudt58l.dat', 'datfile':
'../../deps/icu-small/source/data/in/icudt58l.dat', 'locales': 'en,root',
'endian': 'little', 'tmpdir':
'/home/adam/src/node-v7.4.0/out/Release/obj/gen/icutmp'}
icu_small.json: icutrim.py config: Trim down ICU to just a certain locale
set, needed for node.js use.
sh: /home/adam/src/node-v7.4.0/out/Release/icupkg: Permission denied
FAILED: /home/adam/src/node-v7.4.0/out/Release/icupkg -tl
../../deps/icu-small/source/data/in/icudt58l.dat
/home/adam/src/node-v7.4.0/out/Release/obj/gen/icutmp/icudt58l.dat
gmake[1]: * [tools/icu/icudata.target.mk:13:
/home/adam/src/node-v7.4.0/out/Release/obj/gen/icutmp/icudt58l.dat] Error 1
gmake[1]: Leaving directory '/home/adam/src/node-v7.4.0/out'
gmake: *
[Makefile:73: node] Error 2
adam@athena (node-v7.4.0):

Thanks for your help.

Regards,

-Adam

On Sat, Jan 21, 2017 at 9:56 AM, Ben Noordhuis notifications@github.com
wrote:

Try building with make CXX=eg++ CXX.host=eg++ CXX.target=eg++. You may
have to override LINK that way as well.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nodejs/node/issues/10904#issuecomment-274277058, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIEmBCe0j-wOh0MipONGwd8uj-ws40o5ks5rUka2gaJpZM4LowM6
.

What does file out/Release/icupkg print? Does it have the execute bit set?

Things in that directory all share that problem:

-bash: ./icupkg: Permission denied
-bash: ./mkpeephole: Permission denied
-bash: ./genrb: Permission denied
-bash: ./genccode: Permission denied
[adam@athena ~/src/node-v7.4.0/out/Release]:

total 35216
drwxr-xr-x 6 adam adam 512B Jan 22 15:03 .
drwxr-xr-x 5 adam adam 512B Jan 22 14:36 ..
drwxr-xr-x 3 adam adam 512B Jan 22 14:36 .deps
-rwxr-xr-x 1 adam adam 3.7M Jan 22 15:03 genccode
-rwxr-xr-x 1 adam adam 5.7M Jan 22 15:03 genrb
-rwxr-xr-x 1 adam adam 4.6M Jan 22 15:03 iculslocs
-rwxr-xr-x 1 adam adam 3.8M Jan 22 15:03 icupkg
-rwxr-xr-x 1 adam adam 187K Jan 22 15:00 mkpeephole
drwxr-xr-x 3 adam adam 512B Jan 22 14:48 obj
drwxr-xr-x 8 adam adam 512B Jan 22 15:03 obj.host
drwxr-xr-x 13 adam adam 512B Jan 22 15:00 obj.target

On Sun, Jan 22, 2017 at 3:17 AM, Ben Noordhuis notifications@github.com
wrote:

What does file out/Release/icupkg print? Does it have the execute bit set?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nodejs/node/issues/10904#issuecomment-274324751, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIEmBPbIzq3-0QG8Fnbm5v-zDDgcmCwtks5rUzrdgaJpZM4LowM6
.

What does file(1) print for those files?

facepalm. I'm sorry.

out/Release/icupkg: ELF 64-bit LSB shared object, x86-64, version 1

On Sun, Jan 22, 2017 at 9:50 PM, Ben Noordhuis notifications@github.com
wrote:

What does file(1) print for those files?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nodejs/node/issues/10904#issuecomment-274405774, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIEmBKY0lJLhyYRPZ2RV6r8WkSbReQDOks5rVD-ugaJpZM4LowM6
.

Hum, seems to match your system's uname. Not sure why it's not working then. File system mounted noexec, an exec whitelist/blacklist policy, something like that?

Yeah, it looks totally fine to me as well.

The system is pretty vanilla - no added layers beyond the default, which locally is fairly permissive.

If you'd like, I can replicate the problem in a VM and send that to you or put it somewhere that you could grab it. It would be relatively small, probably about ~1-2G.

-Adam

On Jan 22, 2017, at 10:37 PM, Ben Noordhuis notifications@github.com wrote:

Hum, seems to match your system's uname. Not sure why it's not working then. File system mounted noexec, an exec whitelist/blacklist policy, something like that?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/nodejs/node/issues/10904#issuecomment-274411114, or mute the thread https://github.com/notifications/unsubscribe-auth/AIEmBOzarXwILOgf9h-Z49wXaUUxHAbIks5rVEqkgaJpZM4LowM6.

@AdamNewman Will you update the node port for OpenBSD, so it's available for everyone, It only has version 6.x, right now

This issue has been inactive for sufficiently long that it seems like perhaps it should be closed. Feel free to re-open (or leave a comment requesting that it be re-opened) if you disagree. I'm just tidying up and not acting on a super-strong opinion or anything like that.

I'm trying to compile 8.4.0 on OpenBSD and am running into all kinds of problems too. Should I create a new issue or continue to discuss here?

@matheusanmo New issue unless you have a strong suspicion that you are facing exactly the same issue as described here. Thanks!

Same problem here on OpenBSD 6.1. Trying to build after checking out v9.3.0, and it keeps dying whenever it attempts to run out/Release/icupkg while citing the same "Permission denied" error reported earlier.

Since this affects both OpenBSD 6.0 and 6.1, I'm wondering if this doesn't have anything to do with pledge(2), which was introduced in OpenBSD 5.9. But other than that, I'm at a loss as to what might be going on here. 😓

You get the permission denied stuff because you are building node outside of a wxallowed mount. If you clone the node repo to /usr/local/build/node or similar (inside /usr/local) it should get past that part.

If you see weird "permission denied" errors, check dmesg:

/home/qbit/dev/node/out/Release/icupkg(992): W^X binary outside wxallowed mountpoint

You get the permission denied stuff because you are building node outside of a wxallowed mount.

Oh shit, that would explain everything. :sweat_smile: Thank you!

(I originally picked the /home partition because it had the most disk space. Me and my bright ideas...)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

akdor1154 picture akdor1154  Â·  3Comments

stevenvachon picture stevenvachon  Â·  3Comments

filipesilvaa picture filipesilvaa  Â·  3Comments

willnwhite picture willnwhite  Â·  3Comments

danielstaleiny picture danielstaleiny  Â·  3Comments