fix/mlx-c-0.6.0-metal-toolchain-compat: mlx-c submodule URL is malformed (missing ssh://) #4

Closed
opened 2026-08-14 21:49:19 +00:00 by peterswimm · 1 comment
Owner

On branch fix/mlx-c-0.6.0-metal-toolchain-compat (rev 072ac2eb04effcce66149a9f58714c85f5d10d0b), .gitmodules points the mlx-sys/src/mlx-c submodule at:

[submodule "mlx-sys/src/mlx-c"]
	path = mlx-sys/src/mlx-c
	url = git@git.toilville.dev:2222/Toilville/mlx-c.git

This is malformed — missing the ssh:// scheme, and mixing SCP-style : syntax with an explicit port, which SCP syntax doesn't support. Any consumer trying to update this submodule (e.g. cargo resolving the mlx-rs git dependency from toilville_rituals) fails immediately with:

error: failed to load source for dependency `mlx-rs`
Caused by:
  unable to update ssh://git@git.toilville.dev:2222/Toilville/mlx-rs-mirror.git?rev=072ac2eb04effcce66149a9f58714c85f5d10d0b
Caused by:
  failed to update submodule `mlx-sys/src/mlx-c`
Caused by:
  invalid url `git@git.toilville.dev:2222/Toilville/mlx-c.git`: relative URL without a base; try using `ssh://git@git.toilville.dev/2222/Toilville/mlx-c.git` instead

For comparison, the main/pre-fix rev (0799d7960f6078d0e79f7a99d0e210ead0082fc1) has a working (public GitHub) URL for this submodule:

url = https://github.com/ml-explore/mlx-c.git

This branch was mid-migration to a private Toilville mirror of mlx-c and the URL was never corrected to valid ssh:// syntax. This blocks ever reaching the actual Metal-toolchain-compat verification this branch exists for — see linked issue on toilville_rituals (the consumer repo) for the underlying Metal 4.1/Xcode 27 compile errors this branch is meant to fix.

Fix: correct .gitmodules to url = ssh://git@git.toilville.dev:2222/Toilville/mlx-c.git (or whatever the correct current path to the private mirror is), then re-verify the branch actually resolves the Metal compiler errors in toilville_rituals's cargo check --features mlx-inference — untested until now since this bug blocked ever reaching that step.

On branch `fix/mlx-c-0.6.0-metal-toolchain-compat` (rev `072ac2eb04effcce66149a9f58714c85f5d10d0b`), `.gitmodules` points the `mlx-sys/src/mlx-c` submodule at: ``` [submodule "mlx-sys/src/mlx-c"] path = mlx-sys/src/mlx-c url = git@git.toilville.dev:2222/Toilville/mlx-c.git ``` This is malformed — missing the `ssh://` scheme, and mixing SCP-style `:` syntax with an explicit port, which SCP syntax doesn't support. Any consumer trying to update this submodule (e.g. cargo resolving the `mlx-rs` git dependency from toilville_rituals) fails immediately with: ``` error: failed to load source for dependency `mlx-rs` Caused by: unable to update ssh://git@git.toilville.dev:2222/Toilville/mlx-rs-mirror.git?rev=072ac2eb04effcce66149a9f58714c85f5d10d0b Caused by: failed to update submodule `mlx-sys/src/mlx-c` Caused by: invalid url `git@git.toilville.dev:2222/Toilville/mlx-c.git`: relative URL without a base; try using `ssh://git@git.toilville.dev/2222/Toilville/mlx-c.git` instead ``` For comparison, the `main`/pre-fix rev (`0799d7960f6078d0e79f7a99d0e210ead0082fc1`) has a working (public GitHub) URL for this submodule: ``` url = https://github.com/ml-explore/mlx-c.git ``` This branch was mid-migration to a private Toilville mirror of mlx-c and the URL was never corrected to valid `ssh://` syntax. This blocks ever reaching the actual Metal-toolchain-compat verification this branch exists for — see linked issue on toilville_rituals (the consumer repo) for the underlying Metal 4.1/Xcode 27 compile errors this branch is meant to fix. **Fix:** correct `.gitmodules` to `url = ssh://git@git.toilville.dev:2222/Toilville/mlx-c.git` (or whatever the correct current path to the private mirror is), then re-verify the branch actually resolves the Metal compiler errors in toilville_rituals's `cargo check --features mlx-inference` — untested until now since this bug blocked ever reaching that step.
Author
Owner

Fixed on main: commit 215add5 ("fix(mlx-c): use ssh:// submodule URL — scp-style syntax cannot carry a port"), merged via PR #3. Verified .gitmodules now reads url = ssh://git@git.toilville.dev:2222/Toilville/mlx-c.git. The source branch (fix/mlx-c-0.6.0-metal-toolchain-compat) is deleted post-merge.

The remaining ask in this issue ("re-verify the branch resolves the Metal 4.1/Xcode 27 compile errors") belongs to the linked toilville_rituals issue, which is still open — closing this one as the malformed-URL bug it was filed for is resolved.

Fixed on main: commit 215add5 ("fix(mlx-c): use ssh:// submodule URL — scp-style syntax cannot carry a port"), merged via PR #3. Verified `.gitmodules` now reads `url = ssh://git@git.toilville.dev:2222/Toilville/mlx-c.git`. The source branch (fix/mlx-c-0.6.0-metal-toolchain-compat) is deleted post-merge. The remaining ask in this issue ("re-verify the branch resolves the Metal 4.1/Xcode 27 compile errors") belongs to the linked toilville_rituals issue, which is still open — closing this one as the malformed-URL bug it was filed for is resolved.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Toilville/mlx-rs-mirror#4
No description provided.