Skip to content

Unsatisfiable requirements detected for package ModelingToolkit, compatibility issue in the BaseModelica.jl CI workflow #266

Closed

Description

@JKRT

Description
Currently BaseModelica.jl fails on master due to a compatibility issue (https://github.com/OpenModelica/OpenModelicaLibraryTesting/actions/runs/21692216451/job/62554444959)

  Unsatisfiable requirements detected for package ModelingToolkit [961ee093]:
   - restricted to versions 11 by BaseModelica [a17d5099] (fixed to v1.4.0)
   - restricted to versions 10 by TestBaseModelica [bba3f925] (fixed to v0.1.0)

Solution
Update the Project.toml file to fix the dependencies

Activity

  1. self-assigned this
    on Feb 11, 2026
  2. JKRT commented on Feb 11, 2026

    @JKRT
    MemberAuthor

    I'll attempt to solve this issue quickly

  3. JKRT commented on Feb 11, 2026

    @JKRT
    MemberAuthor

    Solved in PR #268

  4. linked a pull request that will close this issueUpdate MTK from 10 to 11 #268on Feb 11, 2026
  5. AnHeuermann commented on Feb 12, 2026

    @AnHeuermann
    Member

    The Jenkins test job is still struggling:

    + stdbuf -oL -eL time ./test.py --ompython_omhome=/usr --basemodelica-mtk-import --no-julia-sys-image --extraflags= --extrasimflags= --branch=basemodelica_jl_master --output=libraries.openmodelica.org:/var/www/libraries.openmodelica.org/branches/basemodelica_jl_master/ --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries/ --jobs=0 configs/basemodelica.json
    branch: basemodelica_jl_master, n_jobs: 16
    Removing temporary files, etc to the best ability of the script
    Start OMC version
    /var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelica/OMCompiler/build/bin/omc OMCompiler v1.27.0-dev.103+gb898cf3469 /usr/share/doc/omc/testmodels/dygraph-combined.js
    No OMSimulator
    Julia executable: /usr/bin/julia
    Updating Julia package TestBaseModelica.jl
    Traceback (most recent call last):
      File "/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelicaLibraryTesting/./test.py", line 324, in <module>
        basemodelica.precompile_testbaesmodelica(julia_sysimage)
      File "/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelicaLibraryTesting/basemodelica.py", line 39, in precompile_testbaesmodelica
        jl.seval('import Pkg;'
      File "/home/hudson/saved_omc/libraries/.julia/packages/PythonCall/mkWc2/src/JlWrap/module.jl", line 27, in seval
        return self._jl_callmethod($(pyjl_methodnum(pyjlmodule_seval)), expr)
    juliacall.JuliaError: Unsatisfiable requirements detected for package ModelingToolkit [961ee093]:
     ModelingToolkit [961ee093] log:
     ├─possible versions are: 0.0.1 - 11.9.1 or uninstalled
     ├─restricted to versions 10 by BaseModelica [a17d5099], leaving only versions: 10.0.0 - 10.32.1
     │ └─BaseModelica [a17d5099] log:
     │   ├─possible versions are: 1.3.0 or uninstalled
     │   └─BaseModelica [a17d5099] is fixed to version 1.3.0
     └─restricted to versions 11 by TestBaseModelica [bba3f925] — no versions left
       └─TestBaseModelica [bba3f925] log:
         ├─possible versions are: 0.1.0 or uninstalled
         ├─restricted to versions * by project [6c29ce71], leaving only versions: 0.1.0
         │ └─project [6c29ce71] log:
         │   ├─possible versions are: 0.0.0 or uninstalled
         │   └─project [6c29ce71] is fixed to version 0.0.0
         └─TestBaseModelica [bba3f925] is fixed to version 0.1.0
  6. AnHeuermann commented on Feb 12, 2026

    @AnHeuermann
    Member

    I update Julia on the test server to v1.12.5. I update the Manifest.toml to one generated with the same Julia version.
    I'm not sure what's the issue here. Maybe we need to update BaseModleica.jl before running any other stuff like Pkg.add("PackageCompiler"). I hope this works for now, but these scripts are a hot mess.

  7. linked a pull request that will close this issueRemove TestBaseModelica Manifest #270on Feb 12, 2026
  8. AnHeuermann commented on Feb 12, 2026

    @AnHeuermann
    Member

    It did not, so let's nuke Manifest.toml altogether. Who needs reproducibility anyway.

  9. JKRT commented on Feb 12, 2026

    @JKRT
    MemberAuthor

    Hmm, I suppose I can check it out again

  10. AnHeuermann commented on Feb 13, 2026

    @AnHeuermann
    Member

    The issue was the juliacall package. It's a Python package that brings a Julia installation itself. While the installed version of Julia is v1.12.5 it requires an older version which is incompatible with the installed Julia SSL package. Therefore we see

    [juliapkg] Found dependencies: /home/hudson/saved_omc/libraries/.local/lib/python3.10/site-packages/juliacall/juliapkg.json
    [juliapkg] Found dependencies: /home/hudson/saved_omc/libraries/.local/lib/python3.10/site-packages/juliapkg/juliapkg.json
    [juliapkg] Locating Julia ~1.9, ^1.10.3
    [juliapkg] Using Julia 1.12.5 at /usr/bin/julia
    [juliapkg] Using Julia project at /home/hudson/saved_omc/libraries/.julia/environments/pyjuliapkg
    [juliapkg] Writing Project.toml:
               | [deps]
               | PythonCall = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d"
               | OpenSSL_jll = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
               | 
               | [compat]
               | PythonCall = "=0.9.28"
               | OpenSSL_jll = "~3.0"
    [juliapkg] Installing packages:
               | import Pkg
               | Pkg.Registry.update()
               | Pkg.add([
               |   Pkg.PackageSpec(name="PythonCall", uuid="6099a3de-0909-46bc-b1f4-468b9a2dfc0d"),
               |   Pkg.PackageSpec(name="OpenSSL_jll", uuid="458c3c95-2e84-50aa-8efc-19380b2a3a95"),
               | ])
               | Pkg.resolve()
               | Pkg.precompile()
    

    I update juliacall (now it needs 1.10.3 - 1.11) and purged already installed / compiled Julia packages. Now I can run

    >>> from juliacall import Main as jl
  11. AnHeuermann commented on Feb 13, 2026

    @AnHeuermann
    Member

    We really really need to containerize these tests.

  12. cbu-hw commented on Feb 16, 2026

    @cbu-hw

    We really really need to containerize these tests.

    👍
    If you're restructuring, I'd appreciate if OpenModelicaLibraryTesting can remain "generically" usable for testing packages, without optional Julia etc. (Right now I'm on a really old version, I'll have to do another attempt at updating at some point)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions