From 314991b5df514552a4e9ae98e00a57ec9b9baf46 Mon Sep 17 00:00:00 2001 From: Alon Grinberg Dana Date: Thu, 9 Jul 2026 10:17:02 +0300 Subject: [PATCH] Fix Docker build: resolve Julia sys.so not found in install_rms.sh `~/.juliaup/bin/julia` is the juliaup launcher, not the real Julia binary. When install_rms.sh sets PYTHON_JULIAPKG_EXE=$(which julia), pyjuliacall receives the launcher path and derives sys.so relative to it, yielding a non-existent `~/.juliaup/bin/../lib/julia/sys.so` and failing the build: ERROR: could not load library ".../.juliaup/bin/../lib/julia/sys.so" Prepend the real Julia BINDIR (obtained by running `julia -e "print(Sys.BINDIR)"` through the launcher) to PATH so `which julia` inside install_rms.sh resolves to the actual binary. Single-quote the inner `bash -c` so the `$(...)` is evaluated inside the activated rmg_env, not by the outer shell. Restores the previously-proposed fix from #901 (closed without merging). Its CI log confirmed this step then reached `[ Info: RMS loaded successfully!`; the follow-on setuptools blocker it exposed is already resolved on main (#904). Co-Authored-By: Claude Opus 4.8 (1M context) --- Dockerfile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6943a8476e..7abc689973 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,12 +47,18 @@ RUN micromamba create -y -v -n rmg_env python=3.11 -f /home/mambauser/Code/RMG-P RUN micromamba run -n rmg_env make -C /home/mambauser/Code/RMG-Py -j"$(nproc)" -RUN micromamba run -n rmg_env bash -c "\ +# `~/.juliaup/bin/julia` is the juliaup launcher, not the real Julia binary; pyjuliacall +# derives sys.so relative to it and looks for a non-existent path, so install_rms.sh fails. +# Prepend the real Julia BINDIR (resolved via the launcher) so `which julia` finds the actual +# binary. Single quotes keep `$(...)` from being evaluated by the outer shell before micromamba +# activates rmg_env, so `julia` resolves inside the environment. +RUN micromamba run -n rmg_env bash -c '\ + export PATH=$(julia -e "print(Sys.BINDIR)"):$PATH && \ cd /home/mambauser/Code/RMG-Py && \ export RMS_INSTALLER=continuous && \ export RMS_BRANCH=for_rmg && \ source install_rms.sh \ - " + ' WORKDIR /home/mambauser/Code/ARC RUN micromamba create -y -v -n arc_env python=3.14 -c conda-forge -c danagroup -f environment.yml && \