nodejs / unofficial-builds

Unofficial binaries for Node.js
https://unofficial-builds.nodejs.org
221 stars 46 forks source link

Build v20.12.0 missing/failed #126

Closed fredvb closed 3 months ago

fredvb commented 3 months ago

I'm not sure if someone has noticed, so I'm creating an issue for this.

The folder for version 20.12.0 is available in the download folder, but it's empty.

Looking at the build logs, the build failed around not finding sys/random.h

Can someone address this so that we can get the most recent version?

Thanks

shipujin commented 3 months ago

File presence. https://unofficial-builds.nodejs.org/download/release/v20.12.0/

Best regards

rvagg commented 3 months ago

Build failures:

Something changed with a cares upgrade I guess and these recipes need dependencies included on their Dockerfiles. The out of space is a bit of a concern though.

Anyone want to help figure this all out? Not sure I can afford the time.

@nodejs/build has anyone got some hints and anyone want to help add dependencies here?

richardlau commented 3 months ago

Something changed with a cares upgrade I guess and these recipes need dependencies included on their Dockerfiles.

Refs: https://github.com/nodejs/node/issues/52223 TL;DR it's not an issue for the official builds as since Node.js 18 glibc 2.28 has been the minimum supported version of glibc (sys/random.h was added in glibc 2.25).

If compiling against an older glibc you may be able to get going by commenting out the HAVE_SYS_RANDOM_H definition in deps/cares/config/linux/ares_config.h): https://github.com/nodejs/node/blob/6d2d3f17ba96353ea76147d95b6106bc4ff587d4/deps/cares/config/linux/ares_config.h#L332.

richardlau commented 3 months ago
$ ssh unofficial-builds df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.9G     0  7.9G   0% /dev
tmpfs           1.6G  972K  1.6G   1% /run
/dev/vda1        97G   89G  8.7G  92% /
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/vda15      105M  7.6M   97M   8% /boot/efi
/dev/sda        992G   69G  874G   8% /mnt/unofficial_builds
/dev/loop0       41M   41M     0 100% /snap/snapd/20671
/dev/loop1       64M   64M     0 100% /snap/core20/2182
/dev/loop2       46M   46M     0 100% /snap/certbot/3643
/dev/loop3       40M   40M     0 100% /snap/snapd/21184
tmpfs           1.6G     0  1.6G   0% /run/user/0
$ ssh unofficial-builds df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        97G   89G  8.7G  92% /
$
rvagg commented 3 months ago

OK, I guess the glibc needs to be bumped in some of these Dockerfiles and x64-glibc-217 needs some other creative solution or be killed.

I don't have time for this right now, so unless someone else does, this is going to have to sit broken until I magically end up with the time and interest. Sorry folks, "unofficial" for a reason.

scosol commented 3 months ago

I'm fixing this for x64-glibc-217- PR: https://github.com/nodejs/unofficial-builds/pull/127

cl4udiu5 commented 3 months ago

Could someone please help with "node-v20.12.1-linux-armv6l". Tried to update on my old Homebridge installation on a RaspPi 1 an saw that this is not available.

jwalton commented 3 months ago

Thanks for the fix @scosol! I was just starting to dig into this problem, and then was scratching my head wondering why this successfully built for me locally but didn't build here. ;)

rvagg commented 3 months ago

Trying new per-recipe queue feature from #116 to rebuild all of these to see what happens after @scosol's fixes:

unofficial-builds/bin/queue-push.sh -v v20.12.0 -r armv6l -r x64-debug -r x64-glibc-217 -r x64-pointer-compression -r x64-usdt -r x86

🤞

rvagg commented 3 months ago

We have more there now but there's work to do.

https://unofficial-builds.nodejs.org/logs/202404060520-v20.12.0/

The debug builds are still failing with out-of-space errors, I think because they use so much space in the container itself which is using root which doesn't have as much space to offer.

usdt build fails because apparently there's no dtrace to configure, was it removed at some point?

And dist-indexer is still failing. Either I have the npm exec command wrong or still have a too-old npm installed in there.

Will have to look at this later when I have time. Tho I wouldn't mind input on the failing builds and I think x86 is not included, is it buildable still? I can't keep track.

richardlau commented 3 months ago

usdt build fails because apparently there's no dtrace to configure, was it removed at some point?

Yes, in Node.js 19 via https://github.com/nodejs/node/pull/43652.

AppleTechy commented 3 months ago

@rvagg Did you want a separate issue opened for the builds missing from v20.12.1? I am looking to have the compile re-ran targeting v21.12.1 for archs that now build with #129 merged.

AppleTechy commented 3 months ago

And dist-indexer is still failing. Either I have the npm exec command wrong or still have a too-old npm installed in there.

I think the command order is just incorrect. At least on npm 10.5.0 ( I didn't see NPM version in the linked build logs) , you have to do npm exec nodejs-dist-indexer@${dist_indexer_version} -y... rather than the current npm exec -y nodejs-dist-indexer@${dist_indexer_version} which fails on npm v10.5.0, with the "unknown command" error.

scosol commented 3 months ago

usdt build fails because apparently there's no dtrace to configure, was it removed at some point?

Yes, in Node.js 19 via nodejs/node#43652.

I believe that this is the correct assessment: https://github.com/nodejs/node/pull/43652#issuecomment-1172860153 Anyone wanting dtrace should/will instead use this instead of the static hooks: https://www.npmjs.com/package/dtrace-provider With that, I think the dtrace target should be disabled in these build scripts based on the node major version being >=19

https://github.com/nodejs/unofficial-builds/pull/133

rvagg commented 3 months ago

@AppleTechy you mean v20.12.1? I don't see a v21.12.1. I'll trigger builds now, keep an eye on that directory

rvagg commented 3 months ago

re dist-indexer, I think the problem is that I was doing npm --exec rather than npm exec. Fixed (hopefully) in https://github.com/nodejs/unofficial-builds/pull/134

I'm still trying to adapt from npx muscle memory for some of these things, and this change was originally intended to force a specific version of nodejs-dist-indexer rather than latest so we get some security guarantees now that nodejs-dist-indexer has release-on-merge enabled.

rvagg commented 3 months ago

https://unofficial-builds.nodejs.org/download/release/v20.12.1/ now has the same files as v20.12.0, and an x86 too as a bonus.

https://unofficial-builds.nodejs.org/download/release/index.tab also updated, so dist-indexer obviously working properly now.