Hi all I also posted this question on the stackoverflow
I am having an interesting issue with the Package manager system and wondering if its related to the way my Project.toml is set up. The issue is that when I call Pkg.develop
with and without a path to a project in .julia/dev
two different Manifest.toml
are instantiated. One seems to have an error where Pkg
is not properly creating a weakdeps
section. Here is my julia info
Julia Version 1.9.2
Commit e4ee485e909 (2023-07-05 09:39 UTC)
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 32 × Intel(R) Xeon(R) Gold 6244 CPU @ 3.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-14.0.6 (ORCJIT, cascadelake)
Threads: 1 on 32 virtual cores
Environment:
LD_LIBRARY_PATH = /mnt/sw/nix/store/wxp5xscxcqq0l1nlrv8k136qs5wqaln6-vscode-1.73.1/lib:/mnt/sw/nix/store/hayjz1l94cb2ky37bhcv71aygjzq7fci-openblas-0.3.21/lib:/cm/shared/apps/slurm/current/lib64:/run/opengl-driver/lib
Here is the project.toml
name = "NDTensors"
uuid = "23ae76d9-e61a-49c4-8f12-3f1a16adf9cf"
authors = ["Matthew Fishman <mfishman@flatironinstitute.org>"]
version = "0.2.0"
[deps]
somedeps = "UUID"
[compat]
somedeps = "version#"
[weakdeps]
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
[extensions]
NDTensorCUDA = "CUDA"
The issue happens when I try to dev my project so I have the folder .julia/dev/NDTensors
and cd
to .julia/dev
. When I run this command $julia --project=temp -e 'using Pkg; Pkg.develop(path="./NDTensors")'
or this $julia --project=temp -e 'using Pkg; Pkg.develop(path="NDTensors")'
I get this error
Resolving package versions...
ERROR: `NDTensors=23ae76d9-e61a-49c4-8f12-3f1a16adf9cf` depends on `CUDA=052768ef-5323-5732-b1bb-66c8b64840ba`, but no such entry exists in the manifest.
and Pkg has created a manifest (temp/Manifest.toml) that looks like this
[[deps.NDTensors]]
path = "../NDTensors"
uuid = "23ae76d9-e61a-49c4-8f12-3f1a16adf9cf"
version = "0.2.0"
[deps.NDTensors.deps]
somedeps = "UUID"
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
which looks like Pkg has incorrectly put my weakdeps in deps. However if I run this command $julia --project=temp -e 'using Pkg; Pkg.develop("NDTensors")
Pkg generates this manifest
[[deps.NDTensors]]
deps = ["somedeps"]
path = "/home/.julia/dev/NDTensors"
uuid = "23ae76d9-e61a-49c4-8f12-3f1a16adf9cf"
version = "0.2.0"
[deps.NDTensors.extensions]
NDTensorCUDA = "CUDA"
[deps.NDTensors.weakdeps]
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
Can someone explain whats going on here? Also if I use Pkg.develop("NDTensors")
do I have to worry that Pkg is grabbing the repo from github instead of using the one in the path (I do see that path is correct in the second Manifest I just want to verify)