Fix Apptainer recipe build: tiny-cuda-nn build isolation, dataclass-wizard pin - #92
Merged
Merged
Conversation
georghess#81) tiny-cuda-nn fails with "No module named 'pkg_resources'": its setup.py imports pkg_resources (gone in setuptools >= 81) and pip builds it in an isolated env with the newest setuptools, so the recipe's setuptools<70 pin never applies. Build it with --no-build-isolation, with ninja/wheel installed, and cap the compile parallelism so shared login nodes don't kill it. dataclass-wizard was unpinned and now resolves to 1.0, which removed JSONSerializable; nerfstudio and zod both import it and every ns-train died at import. Pin to <0.23.
Owner
|
lgtm, thanks for your contribution :) |
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 things I hit building the current
apptainer_recipe(Apptainer 1.4.5, on Purdue's Gilbreth cluster):tiny-cuda-nn:
ModuleNotFoundError: No module named 'pkg_resources'during "Getting requirements to build wheel". Its setup.py imports pkg_resources, which setuptools >= 81 dropped, and pip builds it in an isolated env with the newest setuptools, so thesetuptools<70pin on line 43 never reaches it.--no-build-isolation(with ninja and wheel installed) fixes it. I also capped the compile parallelism because the build got killed on a shared login node the first time around; harmless elsewhere.dataclass-wizardisn't pinned and now resolves to 1.0, which removedJSONSerializable. Bothnerfstudio/configsandzodimport it, so everyns-traindies at import. Pinned to<0.23here; a pin in pyproject would be the better home if you'd rather have it there.With both, the recipe builds end to end and SplatAD trains on PandaSet. The cu12x torch resolution mentioned in #81 didn't reproduce for me with the explicit
--extra-index-urlin place.Closes #81.