fix(setuptools): wrapper path compatibility with scikit-build (classic)#1295
Open
henryiii wants to merge 2 commits into
Open
fix(setuptools): wrapper path compatibility with scikit-build (classic)#1295henryiii wants to merge 2 commits into
henryiii wants to merge 2 commits into
Conversation
Assisted-by: Copilot:GPT-5.4 Signed-off-by: Henry Schreiner <henryfs@princeton.edu>
Signed-off-by: Henry Schreiner <henryfs@princeton.edu>
Collaborator
Author
|
And here's the report: 🤖 report
TL;DRThe SDists are identical, but the wheels have very different internal layouts. SDist (
|
| What | Where in the zip |
|---|---|
Data files (include/, lib/cmake/, share/) |
taichi-1.8.0.data/data/... |
Compiled Python extension (taichi_python*.so) |
taichi/_lib/core/... |
C API library (libtaichi_c_api.so) |
taichi/_lib/c_api/lib/... |
Runtime bitcode (.bc files) |
taichi/_lib/runtime/... |
| Pure Python sources | taichi/... |
dist_skbc/*.whl (scikit-build-core)
| What | Where in the zip |
|---|---|
Data files (include/, lib/cmake/, share/) |
At the root of the zip (include/..., lib/..., share/...) |
Compiled Python extension (taichi_python*.so) |
python/taichi/_lib/core/... |
C API library (libtaichi_c_api.so) |
python/taichi/_lib/c_api/... |
Runtime bitcode (.bc files) |
python/taichi/_lib/runtime/... |
| Pure Python sources | taichi/... (but missing the compiled .so/.bc subdirectories) |
What this means
The dist_skb wheel is correctly structured:
- Data files are inside
.data/data/so pip installs them to proper system-ish locations (e.g.sys.prefix/include/). - Compiled extensions/libraries live inside the
taichi/package directory, soimport taichican find them at runtime.
The dist_skbc wheel appears broken:
- Data files at the zip root will land in
site-packages/include/andsite-packages/lib/, not insys.prefix/. - Compiled extensions under
python/taichi/_lib/...will be installed tosite-packages/python/taichi/_lib/..., notsite-packages/taichi/_lib/.... The pure-Pythontaichipackage in the wheel does not contain those.so/.bcfiles, so Taichi won't be able to load them at runtime.
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.
I tried swapping this out on taichi-dev/taichi, and got differing wheels. I had Kimi-K2.6 prepare a report of the differences, then fed that into GPT 5.4. I made this wrapper-only. I was using #1285 as well (that's why I picked that repo).
I set up a docker build for Taichi, since it doesn't support modern LLVM or even ARM Linux.
Dockerfile
I even got a docker-compose, since I asked Kimi-K2.6 to make sure Ollama could be reached (didn't use it yet):
docker-compose.yml:
README.md
Taichi Development Container
A Docker setup for working interactively on the Taichi project.
What's included
build-essential,curl,llvm,git)Prerequisites
Quick Start
Using Docker Compose
Build and start the container:
If you want to run the container in the background and drop into a shell on demand:
docker compose up --build -d docker exec -it taichi-dev bashUsing Docker directly
Connecting to Ollama
The container is configured to reach Ollama running on your host machine.
http://host.docker.internal:11434(automatically set viaOLLAMA_HOST).host.docker.internaldoes not resolve, uncomment thenetwork_mode: hostline indocker-compose.ymland usehttp://localhost:11434instead.Environment Variables
OLLAMA_HOSTBuild
Run:
You need
DOCKER_DEFAULT_PLATFORM=linux/amd64 docker compose up --build -dto get Intel. You need to check out Taichi in this directory, and it will be mounted. venv does show up on host too, unfortunately. Useuv build --wheelto build wheels for comparison.🤖 Assisted-by: Copilot:GPT-5.4