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 <email@example.com>"] 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. 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)