Node: build: default building of master is broken on Windows without NASM

Created on 10 Apr 2018  路  6Comments  路  Source: nodejs/node

https://github.com/nodejs/node/blob/master/BUILDING.md#windows-1 states:

Optional (for OpenSSL assembler modules): the NetWide Assembler, if not installed in the default location it needs to be manually added to PATH.

But vcbuild test just aborts without NASM:

j:\temp\node-master>vcbuild test
Looking for Python 2.x
Looking for NASM
Could not find NASM, it will not be used.

j:\temp\node-master>

See also: https://github.com/nodejs/node/blob/master/BUILDING.md#openssl-asm-support

build windows

Most helpful comment

What about making nasm mandatory and adding a no-asm switch to vcbuild.bat (and updating the error message to tell the user about the switch)?

A no-asm build causes pretty steep performance regressions so it should arguably be opt-in rather than quietly falling back on that.

All 6 comments

cc @nodejs/build @nodejs/platform-windows

This is a question/issue for @shigeki and @joaocgreis and comes in as a result of the openssl 1.1.0 upgrade. Perhaps it's simply an matter of removing "Optional" from the docs?

I missed to check vcbuild.bat without nasm. It can be fallbacked to openssl_no_asm:1 in configure in case that nasm is not installed. I'm going to fix this.

What about making nasm mandatory and adding a no-asm switch to vcbuild.bat (and updating the error message to tell the user about the switch)?

A no-asm build causes pretty steep performance regressions so it should arguably be opt-in rather than quietly falling back on that.

I have no preference to fallback automatically with no-asm build or to opt-in.
I made PR for the latter in https://github.com/nodejs/node/pull/19943.

The same issue exist in the assembler version check on UNIX and Mac. I will submit a new issue for it.

Was this page helpful?
0 / 5 - 0 ratings