Stream: helpdesk (published)

Topic: GTK not loading on 1.8.5


view this post on Zulip Phil Tomson (May 09 2023 at 19:58):

I've got an old Project.toml in a project that I was using in Julia 1.6.5, but now I'm trying to run the project on Julia-1.8.3 and things like Gtk don't compile (probably the version specified in the Project.toml isn't compatible with Julia 1.8.3). Is there a way to say that instead of using the version (UUID) specified in the Project.toml, just go ahead and load up all the latest versions of the dependencies? (what I did was manually go through and add all of the packages in the Project.toml, but I suspect there must be a better way)

view this post on Zulip Notification Bot (May 09 2023 at 20:03):

A message was moved here from #helpdesk (published) > Why is this not typestable? by Sukera.

view this post on Zulip Sukera (May 09 2023 at 20:03):

what error do you get?

view this post on Zulip Sukera (May 09 2023 at 20:03):

have you tried ]resolve and ]instantiate afterwards?

view this post on Zulip Sukera (May 09 2023 at 20:05):

Project.toml doesn't store any versions of a particular instantiation, only the package UUIDs (which identify which package is a dependency) and the compat bounds (which state which versions of a given package a project is compatible with)

view this post on Zulip Sukera (May 09 2023 at 20:05):

or simply ]up?

view this post on Zulip Phil Tomson (May 09 2023 at 20:06):

Oh, sorry, ended up in the wrong channel or something, I haven't been on here in ages...
It was a compile error of some sort. I was able to get them loaded by manually adding, I'll try the ]resolve and ]instantiate.

view this post on Zulip Phil Tomson (May 09 2023 at 20:09):

Would it be ]activate . followed by ]resolve and then `]instantiate'?

view this post on Zulip Sukera (May 09 2023 at 20:17):

yes, you'll have to activate the environment of the project

view this post on Zulip Sukera (May 09 2023 at 20:17):

don't just add all the dependencies to your main/default environment :)

view this post on Zulip Phil Tomson (May 09 2023 at 20:26):

Yeah, when I try that I get a bunch of errors like:
RROR: The following 2 direct dependencies failed to precompile:

Images [916415d5-f1e6-5110-898d-aaa5f9f070e0]

Failed to precompile Images [916415d5-f1e6-5110-898d-aaa5f9f070e0] to /home/phil/.julia/compiled/v1.8/Images/jl_TRVB3o.
ERROR: LoadError: ArgumentError: Package CompilerSupportLibraries_jll does not have Pkg in its dependencies:

view this post on Zulip Sukera (May 10 2023 at 07:07):

can you share the Project.toml and Manifest.toml for that? This shouldn't happen :thinking:

view this post on Zulip Phil Tomson (May 10 2023 at 17:28):

I'm pretty sure it has something to do with a difference in the Project.toml and Manifest.toml since an earlier version of Julia (IIRC 1.6.3 worked for this project.). I removed them and regenerated them and that seemed to work.

view this post on Zulip Mason Protter (May 10 2023 at 17:33):

Yeah, there's no gaurentees that a manifest can be re-used between julia versions

view this post on Zulip Mason Protter (May 10 2023 at 17:33):

Nowadays we even warn people if they use a manifest that was generated on a different version for this reason

view this post on Zulip Phil Tomson (May 10 2023 at 17:35):

So do you save the toml files in github (or whatever your version control is)
or do you just regen them every time you move to a new version of Julia?

view this post on Zulip Mason Protter (May 10 2023 at 17:36):

I only save the Project.toml file to github

view this post on Zulip Mason Protter (May 10 2023 at 17:36):

The Manifest is only for exact reproducibility, and in that case you want to use it with the same julia version anyways

view this post on Zulip Phil Tomson (May 10 2023 at 17:37):

ah, ok. That's what I did wrong, then.

view this post on Zulip Phil Tomson (May 10 2023 at 17:38):

I'd developed this this package on 1.6, IIRC ( a couple of years ago).

view this post on Zulip Sukera (May 11 2023 at 05:05):

it depends on what the project is for - if you develop an application, saving the Manifest.toml certainly makes sense for reproducibility. For regular packages though, I usually stick to just having Project.toml


Last updated: Nov 06 2024 at 04:40 UTC