Skip to content

Update to Julia v1.13 - #733

Open
Bill-Becker wants to merge 8 commits into
masterfrom
julia-1.13
Open

Bill-Becker wants to merge 8 commits into
masterfrom
julia-1.13

Conversation

@Bill-Becker

Copy link
Copy Markdown
Collaborator

This pull request updates the Julia environment and its dependencies to improve compatibility and maintainability. The most important changes include upgrading the Julia base image, updating dependency versions to resolve compatibility issues, and adding new source repositories.

Environment and Dependency Updates:

  • Upgraded the Julia base image in the Dockerfile from version 1.11.2 to 1.13.0 for improved features and compatibility.

  • Updated PROJ_jll to version 902 and removed the pin on SQLite_jll, addressing previous compatibility issues with library linking and Julia 1.13.

Source Management:

  • Added [sources] section in Project.toml to specify external repositories for GhpGhx and REopt packages, improving reproducibility and clarity of package sourcing.

Bill-Becker and others added 6 commits September 14, 2026 13:35
The julia_src environment pinned PROJ_jll = "900.0.0" as a direct
dependency. On Julia 1.13 that build fails to load:

  InitError: could not load library ".../lib/libproj.so"
  libcurl.so.4: version `CURL_4' not found (required by libproj.so)

PROJ_jll 900.100.0 requires versioned CURL_4 symbols that the libcurl
bundled with Julia 1.13 does not export. Because PROJ_jll was pinned
here directly, this environment kept resolving the broken build even
after REopt.jl relaxed its own ArchGDAL bound.

Move the bound to PROJ_jll = "902", which resolves:

  ArchGDAL    0.9.4          -> 0.10.12
  GDAL_jll    300.500.101+0  -> 304.1200.300+0
  PROJ_jll    900.100.0+0    -> 902.800.100+0
  SQLite_jll  3.48.0+0       -> 3.53.4+0

Also drop the SQLite_jll = "~3.48" pin. That pin existed only because
PROJ_jll 900.x records `DT_NEEDED libsqlite3.so.0` and SQLite_jll >=
3.51 changed its SONAME. SQLite_jll 3.53.4 still installs a
libsqlite3.so.0 symlink alongside libsqlite3.so.3.53.4, and the 902.x
libproj loads against it cleanly, so the constraint is no longer needed.

Verified in the julia:1.13.0 image from a clean depot: `using REopt`
and `using GhpGhx` succeed, find_ashrae_zone_city(39.7, -105.2) returns
"Boulder", avert_region_abbreviation(...) returns ("RM", 0.0), and a
full `docker build` of julia_src/Dockerfile completes through
precompile.jl.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Runtime, dependency, and external source changes warrant final human review.

Pull request overview

Updates the Julia environment to version 1.13 with refreshed dependencies and explicit package sources.

Changes:

  • Upgrades the Docker base image to Julia 1.13.0.
  • Updates dependency versions and the lockfile.
  • Adds Git sources for GhpGhx and REopt.
File summaries
File Description
julia_src/Project.toml Adds package sources and updates compatibility settings.
julia_src/Manifest.toml Locks the Julia 1.13 dependency environment.
julia_src/Dockerfile Uses the Julia 1.13.0 base image.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@rathod-b

Copy link
Copy Markdown
Collaborator

Just needs a changelog entry @Bill-Becker

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants