Skip to content
This repository was archived by the owner on Dec 29, 2025. It is now read-only.
This repository was archived by the owner on Dec 29, 2025. It is now read-only.

[CI Broken] Dependency incompatibilities with Julia 1.12 and outdated package versions #64

Description

@ChrisRackauckas-Claude

Summary

The CI is failing on the master branch due to outdated dependency version constraints in Project.toml. The package's dependencies (CUDA, Flux, NNlib, OMEinsum) are pinned to very old versions that are incompatible with Julia 1.12 and current ecosystem packages.

Failed CI Jobs

Job Status Duration Link
Julia 1 (ubuntu-latest) ❌ Failed 20s View
Documentation ❌ Failed 20s View
Downgrade CI (alldeps, 1.10) ❌ Failed 40s View
Spell Check ❌ Failed 5s View
Julia 1.6 (ubuntu-latest) ✅ Passed 2m24s

Root Cause Analysis

Issue 1: GPUCompiler/CUDA Incompatibility (Primary)

The error message shows:

ERROR: Unsatisfiable requirements detected for package GPUCompiler [61eb1bfa]:
 GPUCompiler log:
 ├─possible versions are: 0.1.0 - 1.7.5 or uninstalled
 ├─restricted by julia compatibility requirements to versions: 1.6.0 - 1.7.5 or uninstalled
 └─restricted by compatibility requirements with CUDA [052768ef] to versions: 0.13.3 - 0.17.3 — no versions left
   └─CUDA log:
     ├─possible versions are: 0.1.0 - 5.9.5 or uninstalled
     ├─restricted to versions 3 by OperatorLearning, leaving only versions: 3.0.0 - 3.13.1

Root cause: The Project.toml specifies:

  • CUDA = "3" — but CUDA.jl v3 requires GPUCompiler versions 0.13.3 - 0.17.3
  • Julia 1.12 only supports GPUCompiler 1.6.0+
  • This creates an unsatisfiable dependency resolution

Issue 2: Outdated Dependency Versions

Current Project.toml [compat] constraints:

CUDA = "3"           # Current: 5.x
FFTW = "1"           # OK
Flux = "0.12, 0.13"  # Current: 0.14+
NNlib = "0.8"        # Current: 0.9+
OMEinsum = "0.6"     # Current: 0.9+
julia = "1.6"        # OK but 1.12+ has issues with these old deps

Issue 3: Spell Check False Positives

The typos check flagged:

  • ouptutoutput in src/FourierLayer.jl:28 (this is a real typo)
  • Missings in docs/Manifest.toml (false positive - Missings.jl is a real Julia package name)

Suggested Fix Approach

  1. Update dependency versions in Project.toml:

    [compat]
    CUDA = "5"           # or "4, 5" for broader compatibility
    Flux = "0.14"        # or "0.13, 0.14"
    NNlib = "0.9"
    OMEinsum = "0.8, 0.9"
    julia = "1.10"       # Minimum Julia 1.10 for modern CUDA support
  2. Fix the typo in src/FourierLayer.jl:28: ouptutoutput

  3. Add typos configuration to ignore package names in docs/Manifest.toml:
    Create .typos.toml:

    [files]
    extend-exclude = ["docs/Manifest.toml"]
  4. Update Manifest.toml files after updating Project.toml

Impact

  • Package cannot be installed on Julia 1.12 (latest stable release)
  • Documentation cannot be built
  • Downgrade CI fails because constraints are unsatisfiable even with older Julia versions

Related PRs/Issues

This was discovered during CI health check PR #62.

cc @ChrisRackauckas


🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions