mirror of
https://github.com/lancedb/lancedb.git
synced 2025-12-27 23:12:58 +00:00
Building with Node 16 produced this error: ``` npm ERR! code ENOENT npm ERR! syscall chmod npm ERR! path /io/nodejs/node_modules/apache-arrow-15/bin/arrow2csv.cjs npm ERR! errno -2 npm ERR! enoent ENOENT: no such file or directory, chmod '/io/nodejs/node_modules/apache-arrow-15/bin/arrow2csv.cjs' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent ``` [CI Failure](https://github.com/lancedb/lancedb/actions/runs/10117131772/job/27981475770). This looks like it is https://github.com/apache/arrow/issues/43341 Upgrading to Node 18 makes this goes away. Since Node 18 requires glibc >= 2_28, we had to upgrade the manylinux version we are using. This is fine since we already state a minimum Node version of 18. This also upgrades the openssl version we bundle, as well as consolidates the build files.
26 lines
550 B
Bash
Executable File
26 lines
550 B
Bash
Executable File
#!/bin/bash
|
|
# Builds openssl from source so we can statically link to it
|
|
|
|
# this is to avoid the error we get with the system installation:
|
|
# /usr/bin/ld: <library>: version node not found for symbol SSLeay@@OPENSSL_1.0.1
|
|
# /usr/bin/ld: failed to set dynamic section sizes: Bad value
|
|
set -e
|
|
|
|
git clone -b OpenSSL_1_1_1v \
|
|
--single-branch \
|
|
https://github.com/openssl/openssl.git
|
|
|
|
pushd openssl
|
|
|
|
if [[ $1 == x86_64* ]]; then
|
|
ARCH=linux-x86_64
|
|
else
|
|
# gnu target
|
|
ARCH=linux-aarch64
|
|
fi
|
|
|
|
./Configure no-shared $ARCH
|
|
|
|
make
|
|
|
|
make install |