Skip to content

Conversation

@richardlau
Copy link
Member

Node.js 16 has raised the minimum version of some of the build toolchain (Python 3.6+ is now required and gcc/g++ 8) and the existing recipe for armv6l fails to build Node.js 16 as it doesn't have a new enough version of Python: https://unofficial-builds.nodejs.org/logs/202104220522-v16.0.0/armv6l.log

Moved the existing recipe to armv6l-old and added a should-build.sh script to stop it running on Node.js 16 and later. Add a new armv6l recipe, based on the existing arm6vl recipe, but using Ubuntu 18.04 and gcc/g++ 8 to match what we're using for the official armv7l builds.

@richardlau
Copy link
Member Author

@rvagg
Copy link
Member

rvagg commented May 3, 2021

I think old is going to become a problem into the future and we should be more specific. I think something like pre16 (or something along those lines) would be a better differentiator and will scale as we have to do more of this.
Otherwise this LGTM I think, it'd be good to test it out on old and new once merged to verify.

richardlau added 2 commits May 3, 2021 13:46
In preparation for a new recipe to build armv6l binaries for Node.js 16
and later, rename the existing recipe and add a should-build.sh script
to stop it running for Node.js 16 and later.
Based on the existing arm6vl recipe, but using Ubuntu 18.04 and
gcc/g++ 8 to match what we're using for the official armv7l builds.
@richardlau
Copy link
Member Author

Renamed the "old" recipe to armv6l-pre16.

Copy link
Member

@rvagg rvagg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

give it a go I suppose

@richardlau richardlau merged commit 0d49da5 into nodejs:master May 4, 2021
@richardlau
Copy link
Member Author

I queued v15.10.0-rc.0 as a pre-16 build and it's currently running: https://unofficial-builds.nodejs.org/logs/202105041004-v15.10.0-rc.0/
There should be a new 16 release later today (nodejs/node#38522).

@richardlau richardlau mentioned this pull request May 4, 2021
@richardlau
Copy link
Member Author

Oops, missed that build.sh has a list of recipes to build that needs to be updated: #34

@richardlau
Copy link
Member Author

16.1.0 build on the new recipe failed due to a missing package -- added the fix to #34:
https://unofficial-builds.nodejs.org/logs/202105041543-v16.1.0/armv6l.log

python3 ./configure \
	--prefix=/ \
	--dest-cpu=arm \
	--tag= \
	--release-urlbase=https://unofficial-builds.nodejs.org/download/release/ \
	 --download=all --with-intl=full-icu
Traceback (most recent call last):
  File "./configure", line 18, in <module>
    from distutils.spawn import find_executable
ModuleNotFoundError: No module named 'distutils.spawn'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants