-
Notifications
You must be signed in to change notification settings - Fork 25
Node glibc workaround
Nate Coraor edited this page Jan 23, 2023
·
2 revisions
2023-01-22
We're still on EL7, which ships with GLIBC 2.17. Upstream node binaries are not compatible with that version (https://github.com/nodejs/node/issues/43246), but node built by conda-forge is.
I've manually installed conda-forge node, then used that node with nodeenv from galaxy's virtualenv.
On cvmfs0-psu1:
wget https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh
bash Mambaforge-Linux-x86_64.sh -b
~/mambaforge/bin/mamba install nodejs=18.12.1
cd ~/mambaforge/bin/
# nodeenv needs nodejs to be on PATH smh
ln -s node nodejs
source /cvmfs/test.galaxyproject.org/venv/bin/activate
cvmfs_server transaction test.galaxyproject.org
PATH=~/mambaforge/bin/:$PATH nodeenv --node=system -p
cvmfs_server publish -a galaxy_23.0_dev_0 -m 'manually installed node 18.12.1 from conda-forge' test.galaxyproject.org
publish the snapshot back from galaxy-04, login to test, activate virtualenv and check that node version starts as expected.
On galaxy04:
cvmfs_server transaction main.galaxyproject.org
/cvmfs/main.galaxyproject.org/deps/_conda/bin/conda create -n _galaxy_node_ --override-channels --strict-channel-priority -c conda-forge -c defaults nodejs=18.12.1
ln -s node /cvmfs/main.galaxyproject.org/deps/_conda/envs/_galaxy_node_/bin/nodejs
PATH=/cvmfs/main.galaxyproject.org/deps/_conda/envs/_galaxy_node_/bin:$PATH /cvmfs/main.galaxyproject.org/venv/bin/nodeenv --node=system -p
cvmfs_server publish -a galaxy_23.0_dev_0 -m 'manually installed node 18.12.1 from conda-forge' main.galaxyproject.org