Make a node 18 pre-compiled binary available
Closed this issue · 10 comments
Hello,
As node 18 is now in LTS since october, do you know if there is plan to make this binary precompiled for by any chance ?
Using alpine as base image make it difficult to built this on my own.
#8 42.64 npm ERR! node-pre-gyp WARN Hit error response status 404 Not Found on https://supabase-public-artifacts-bucket.s3.amazonaws.com/libpg-query-node/queryparser-v13.3.0-node-v108-linux-x64.tar.gz
Thanks
Hey just to clarify, the build is working, but it takes longer?
As far as pre-compiles @darora can potentially let us know about pushing to the supabase bucket.
Yes the build is working fine.
But as i am using the image node:18-alpine for my web container, node-gyp requires to add g++ make python3 bash git in my multi-stage docker builder image.
Node.js 20 is now LTS since 24 Oct 2023, so I guess also doing Node.js v20 as well would be good
cc @darora
On Fedora Silverblue 39 in a Node.js 20 toolbox, building libpg-query-node (transitive dependency of @supabase/postgres-meta) from source during npm install fails, complaining about conflicting strchrnul return types const char * and char * in postgres source and system header:
npm ERR! node-pre-gyp WARN Hit error response status 404 Not Found on https://supabase-public-artifacts-bucket.s3.amazonaws.com/libpg-query-node/queryparser-v13.3.1-node-v115-linux-x64.tar.gz
...
npm ERR! src/postgres/src_port_snprintf.c:374:1: помилка: конфліктуючі типи для «strchrnul»; маємо «const char *(const char *, int)»
npm ERR! 374 | strchrnul(const char *s, int c)
npm ERR! | ^~~~~~~~~
npm ERR! У файлі, включеному з ./src/postgres/include/c.h:61,
npm ERR! з src/postgres/src_port_snprintf.c:62:
npm ERR! /usr/include/string.h:286:14: примітка: попереднє оголошення «strchrnul» з типом «char *(const char *, int)»
npm ERR! 286 | extern char *strchrnul (const char *__s, int __c)
npm ERR! | ^~~~~~~~~
npm ERR! make[1]: *** [Makefile:171: src/postgres/src_port_snprintf.o] Помилка 1
npm ERR! make: *** [queryparser.target.mk:13: libpg_query/include/pg_query.h] Помилка 1
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules_20/npm/node_modules/node-gyp/lib/build.js:203:23)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:514:28)
npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:294:12)
npm ERR! gyp ERR! System Linux 6.5.6-300.fc39.x86_64
...
npm ERR! gyp ERR! node -v v20.8.1
npm ERR! gyp ERR! node-gyp -v v9.4.0
A new pre-compiled binary wouldn't solve the build issue but could help work around it.
Bumping this issue as well. We're excited about a massive memory leak in Jest that is fixed by upgrading to Node 20
But we can't compile this from source on Node 20 and would appreciate a precompiled binary ❤️ @darora
If there's anything I can do to help get the precompiled binary uploaded let me know.
I was able to get the Linux version building on a Digital Ocean Droplet after making some changes
I can also separately compile a Mac ARM version on this machine, but not on the Droplet. If someone gave me the creds I could upload this version into supabase.
I'll take a look at having the node20 binaries published over the next week or so. Node18 binaries have been available since Jan 2023.
Have published binaries for Node20 for linux/amd64, linux/arm64, darwin/arm64.