[HWORKS-2991][APPEND][HWORKS-3040] Correct conda-era docs claims, and document installing a compiler - #639
Merged
robzor92 merged 2 commits intoAug 26, 2026
Conversation
robzor92
force-pushed
the
HWORKS-3040-document-compiler-removal
branch
from
August 26, 2026 08:30
6385ad1 to
073a67b
Compare
robzor92
force-pushed
the
HWORKS-3040-document-compiler-removal
branch
3 times, most recently
from
August 26, 2026 10:09
1c9f354 to
ac00560
Compare
robzor92
force-pushed
the
HWORKS-3040-document-compiler-removal
branch
4 times, most recently
from
August 26, 2026 12:11
ca180a6 to
709cfb7
Compare
robzor92
force-pushed
the
HWORKS-3040-document-compiler-removal
branch
from
August 26, 2026 12:16
709cfb7 to
c19379f
Compare
…a era HWORKS-2991 replaced Miniconda with a uv virtualenv in the base images, and the backend followed: conda-channel, .egg and environment.yml installs are refused, a conda-channel search is refused too, and package listings and the dependency check now read uv's output. The install guide already carries the warning about the retired sources; two claims elsewhere still described the conda world. - The concepts page listed conda channels as a source you can install from. - The environment-history guide said the per-version YAML file is there so you can restore an older environment. Importing an environment.yml is no longer supported and the history API is read-only (getAll and getEnvironmentDelta, with no restore endpoint), so the file is a record and nothing more. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
docker-images#926 removes build-essential and the -dev packages that pull in the Linux kernel headers from the base images, so a library published only as a source distribution can no longer be built during a library install. Documents that, and the workaround: install the compiler, build the library and purge the compiler again in one custom-command script, so the environment does not end up carrying the headers either. The example installs with uv, and the quoted failure is uv's, since that is what the environment build runs. Verified end to end on a cluster whose python-feature-pipeline base image was replaced with one built from #926. Installing thriftpy2==0.5.2 from the library API fails with "No such file or directory: 'cc'"; running this script as a custom command then succeeds, and the resulting environment image has thriftpy2 with its compiled extensions, no gcc, no build-essential and no linux-libc-dev. Also corrects the artifact path variable, which is BUILD_DIR and not BUILD_PATH; nothing sets BUILD_PATH. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
robzor92
force-pushed
the
HWORKS-3040-document-compiler-removal
branch
from
August 26, 2026 12:19
c19379f to
bd2ca02
Compare
jimdowling
approved these changes
Aug 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two commits.
[HWORKS-2991][APPEND] Two docs claims left over from the conda era
The uv migration is already documented — the retired conda /
.egg/environment.ymlinstalls inpython_install.md, and export-is-not-an-import inpython_env_export.md. Two claims elsewhere were missed:concepts/dev/inside.mdstill listed conda channels as a source you can install dependencies from. The backend refuses that install, and refuses a conda-channel search too.environment_history.mdsaid the per-version YAML file is kept "so that if you want to restore an older environment you can use it". Importing anenvironment.ymlis no longer supported and the history API is read-only (getAll/getEnvironmentDelta, no restore endpoint), so the file is a record and nothing more.HWORKS-3040 Installing a compiler
Documentation for docker-images#926, which removes
build-essentialand the-devpackages that pull in the kernel headers from the base images. Asked for on Slack as the condition for merging it: document the compiler issue, with a custom commands example for installing one.One new section: which environments have a compiler and why the others do not, what the failure looks like, and a script that installs one, builds the library and purges it again so the environment does not end up carrying the kernel headers either. Plus when not to purge — more installs to follow, a
-devpackage that owns a shared library the wheel loads, or the PyTorch and Ray environments, which use their compiler at runtime.Also
BUILD_PATH→BUILD_DIRin the artifacts bullet: the generated Dockerfile setsBUILD_DIR, and nothing setsBUILD_PATH.Verified end to end on a cluster
The
python-feature-pipelinebase image in a cluster's registry was replaced with one built from docker-images#926 (gcc,cc,build-essentialandlinux-libc-devall absent, confirmed from animagePullPolicy: Alwayspod), and a project environment was cloned from it.thriftpy2==0.5.2from the library API fails. The environment build log ends witherror: [Errno 2] No such file or directory: 'cc', under uv's× Failed to buildframing — the environment build installs with uv, so that is the error quoted here rather than pip's..1withthriftpy2 0.5.2,cython 3.3.0andply 3.11installed.gcc, nocc, nobuild-essential,linux-libc-devuninstalled, whilethriftpy2imports and its compiledcpython-312-x86_64-linux-gnu.soextensions are present and load.hopsworks,pandasandpsycopg2still import, and/etc/sudoers.dholds onlyREADME, so thesudogrant really is build-scoped as documented.The script exactly as written here was also run verbatim as
yarnapp, with the same/etc/sudoers.d/yarnappgrant the build creates, and exits 0 with the same end state.markdownlint-cli2is clean. Backports tobranch-5.0/branch-4.8are owed whenever #926 is backported, and not before.🤖 Generated with Claude Code