Skip to content

Instantly share code, notes, and snippets.

@rhee-elten
Last active March 19, 2024 04:37
Show Gist options
  • Save rhee-elten/c26e5894c7e5df3f4d362a69558b2d4e to your computer and use it in GitHub Desktop.
Save rhee-elten/c26e5894c7e5df3f4d362a69558b2d4e to your computer and use it in GitHub Desktop.
fix LD_LIBRARY_PATH for conda and WSL
:
set -x
CONDA_PREFIX=${CONDA_PREFIX-$1}
save_LD_LIBRARY_PATH="$(echo LD_LIBRARY_PATH__$(echo $CONDA_DEFAULT_ENV | tr .- __))"
## find libdevice for XLA_FLAGS ## workaround for error: "libdevice not found at ./libdevice.10.bc"
if test -f $CONDA_PREFIX/lib/libdevice.*.bc
then
libdevice_dir="$CONDA_PREFIX/lib"
else
site_dir="$(python -c 'import site; print(site.getsitepackages()[0])')"
libdevice_path="$(find "$site_dir" -name libdevice.*.bc)"
if test ! -z "$libdevice_path"
then
libdevice_dir="$(dirname "$libdevice_path")"
fi
libdevice_path=
site_dir=
fi
if test ! -z "$libdevice_dir"
then
set_xla_flags="XLA_FLAGS=--xla_gpu_cuda_data_dir=""'""$libdevice_dir""'"
fi
libdevice_dir=
mkdir -p "$CONDA_PREFIX"/etc/conda/activate.d
cat <<EEE > "$CONDA_PREFIX"/etc/conda/activate.d/env_vars.sh
set -x
$save_LD_LIBRARY_PATH="\$LD_LIBRARY_PATH"
test -d /usr/lib/wsl/lib && LD_LIBRARY_PATH="/usr/lib/wsl/lib:\$LD_LIBRARY_PATH"
LD_LIBRARY_PATH="\$CONDA_PREFIX/lib:\$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH
$set_xla_flags
test -z "XLA_FLAGS" || export XLA_FLAGS
set +x
EEE
mkdir -p "$CONDA_PREFIX"/etc/conda/deactivate.d
cat <<EEE > "$CONDA_PREFIX"/etc/conda/deactivate.d/env_vars.sh
set -x
LD_LIBRARY_PATH="\$$save_LD_LIBRARY_PATH"
unset $save_LD_LIBRARY_PATH
test -z "\$$LD_LIBRARY_PATH" && unset LD_LIBRARY_PATH
unset XLA_FLAGS
set +x
EEE
set +x
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment