# Package compiles only after "instantiate" but after a "resolve" that apparently doesn't change anything

**URL:** <https://discourse.julialang.org/t/package-compiles-only-after-instantiate-but-after-a-resolve-that-apparently-doesnt-change-anything/131582>\
**Category:** General Usage\
**Created:** [August 13, 2025, 1:53pm UTC](https://discourse.julialang.org/t/package-compiles-only-after-instantiate-but-after-a-resolve-that-apparently-doesnt-change-anything/131582 "2025-08-13T13:53:53Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [August 13, 2025, 1:53pm UTC](https://discourse.julialang.org/t/package-compiles-only-after-instantiate-but-after-a-resolve-that-apparently-doesnt-change-anything/131582/1 "2025-08-13T13:53:53Z")

</div>

Ok, this happens often when I add a new dependency to a package I am developing.  
My issue is that the sequence I need to go is to make an `istantiate`, `resolve`, `istantiate`, but the message on `resolve` looks like this resolve didn’t do anything, but indeed it is essential for the second “instantiate” to work. Not super clear… :

```julia-auto
[...]
ERROR: The following 1 direct dependency failed to precompile:

GenFSM 

Failed to precompile GenFSM [652e9e7b-025e-40fa-a37d-3dffc9b6d7c7] to "/home/lobianco/.julia/compiled/v1.11/GenFSM/jl_hTmEoD".
ERROR: LoadError: ArgumentError: Package GenFSM does not have Tables in its dependencies:
- You may have a partially installed environment. Try `Pkg.instantiate()`
  to ensure all packages in the environment are installed.
- Or, if you have GenFSM checked out for development and have
  added Tables as a dependency but haven't updated your primary
  environment's manifest file, try `Pkg.resolve()`.
- Otherwise you may need to report an issue with GenFSM
Stacktrace:
[...]

(code) pkg> instantiate # this errors..
Precompiling project...
  ✗ GenFSM
  0 dependencies successfully precompiled in 5 seconds. 465 already precompiled.
  1 dependency errored.
  For a report of the errors see `julia> err`. To retry use `pkg> precompile`

(code) pkg> instantiate # this continue to error..
Precompiling project...
  ✗ GenFSM
  0 dependencies successfully precompiled in 4 seconds. 465 already precompiled.
  1 dependency errored.
  For a report of the errors see `julia> err`. To retry use `pkg> precompile`

(code) pkg> resolve # the output leads to think it didn't do anything...
  No Changes to `~/CloudFiles/beta-lorraine-sync/Documents/papers/genfsm_res1/code/Project.toml`
  No Changes to `~/CloudFiles/beta-lorraine-sync/Documents/papers/genfsm_res1/code/Manifest.toml`

(code) pkg> instantiate # but now instantiate works!
Precompiling project...
  1 dependency successfully precompiled in 13 seconds. 465 already precompiled.
  1 dependency had output during precompilation:
┌ GenFSM
│ CondaPkg Found dependencies: /home/lobianco/.julia/packages/PythonCall/WMWY0/

[...]

│ ✔ The default environment has been installed.

```

---

<div class="post-metadata">

**Author:** ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)\
**Post date:** [August 13, 2025, 2:16pm UTC](https://discourse.julialang.org/t/package-compiles-only-after-instantiate-but-after-a-resolve-that-apparently-doesnt-change-anything/131582/2 "2025-08-13T14:16:32Z")

</div>

Are you using Revise?

---

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [August 13, 2025, 2:17pm UTC](https://discourse.julialang.org/t/package-compiles-only-after-instantiate-but-after-a-resolve-that-apparently-doesnt-change-anything/131582/3 "2025-08-13T14:17:06Z")

</div>

yes

---

<div class="post-metadata">

**Author:** ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)\
**Post date:** [August 13, 2025, 2:29pm UTC](https://discourse.julialang.org/t/package-compiles-only-after-instantiate-but-after-a-resolve-that-apparently-doesnt-change-anything/131582/4 "2025-08-13T14:29:08Z")

</div>

I suspect that’s the cause here, but unfortunately that’s all I got.

---

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [August 13, 2025, 2:47pm UTC](https://discourse.julialang.org/t/package-compiles-only-after-instantiate-but-after-a-resolve-that-apparently-doesnt-change-anything/131582/5 "2025-08-13T14:47:23Z")

</div>

Out of curiosity, what `resolve` may do other than (non) changing Manifest and Project.toml ?

---

<div class="post-metadata">

**Author:** ![ffevotte](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ffevotte/32/6587_2.png) [@ffevotte](https://discourse.julialang.org/u/ffevotte)\
**Post date:** [August 14, 2025, 8:40am UTC](https://discourse.julialang.org/t/package-compiles-only-after-instantiate-but-after-a-resolve-that-apparently-doesnt-change-anything/131582/6 "2025-08-14T08:40:58Z")

</div>

Could it be that `Tables`, the dependency you added to `GenFSM`, was already part of your environment as a (potentially indirect) dependency of something else?

I’m no real expert, but I _think_ in this case `Pkg.resolve` would only have to check that the `Tables` version, as already present in the previously resolved environment, is compatible with the bounds set by `GenFSM`. If it is, I think it would simply update the `project_hash` in `Manifest.toml` and do nothing else.

Could that be a plausible explanation for the situation you observe?

---

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [August 14, 2025, 9:14am UTC](https://discourse.julialang.org/t/package-compiles-only-after-instantiate-but-after-a-resolve-that-apparently-doesnt-change-anything/131582/7 "2025-08-14T09:14:48Z")

</div>

> [@ffevotte](#):
>
> Could it be that `Tables`, the dependency you added to `GenFSM`, was already part of your environment as a (potentially indirect) dependency of something else?

Yes, this is my situation

> [@ffevotte](#):
>
> I’m no real expert, but I _think_ in this case `Pkg.resolve` would only have to check that the `Tables` version, as already present in the previously resolved environment, is compatible with the bounds set by `GenFSM`. If it is, I think it would simply update the `project_hash` in `Manifest.toml` and do nothing else.
> 
> Could that be a plausible explanation for the situation you observe?

Yes, could be, but in that case the message “No Changes” would be misleadning…

---

<div class="post-metadata">

**Author:** ![ericphanson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ericphanson/32/215186_2.png) [@ericphanson](https://discourse.julialang.org/u/ericphanson)\
**Post date:** [August 14, 2025, 9:44am UTC](https://discourse.julialang.org/t/package-compiles-only-after-instantiate-but-after-a-resolve-that-apparently-doesnt-change-anything/131582/8 "2025-08-14T09:44:17Z")

</div>

> [@sylvaticus](#):
>
> “No Changes” would be misleadning

It is misleading, but the wording will be more accurate in 1.12: [Tweak wording to make "no changes" message more accurate by ericphanson · Pull Request #3806 · JuliaLang/Pkg.jl · GitHub](https://github.com/JuliaLang/Pkg.jl/pull/3806)
