Closed kaushalmodi closed 1 year ago
hmm, faststreams already a dependancy installed by serialization package. it also in nimble.lock
file. Also there is no where in the CI faststreams must be installed manually, I'm curious to what really happened here.
I'm curious to what really happened here.
I'm using nimble
to install packages. Does the CI use that, or something else?
snippet from CI
nimble install -y --depsOnly
nimble install -y stint
nimble install -y unittest2
rm -f nimble.lock
both stint and unittest2 are test only deps, but rm -f nimble.lock
might contribute to this discrepancy.
when trying to compile my test program, with import toml_serialization
specified, i got:
/home/itwrx/.nimble/pkgs/toml_serialization-#master/toml_serialization.nim(15, 21) Error: undeclared identifier: 'Toml'
using master right this second, but 0.2.4
also had the same issue.
then, after reinstalling faststreams
(and likely nim-toml-serialization
), i was getting:
/home/itwrx/.nimble/pkgs/faststreams-0.3.0/faststreams/inputs.nim(484, 33) Error: undeclared identifier: 'baseAddr'
reinstalled faststreams
again. this time I noticed that chronos
and unittest2
were not already installed, so i re/installed those. upon trying to compile my program i got:
/home/itwrx/.nimble/pkgs/toml_serialization-#master/toml_serialization.nim(15, 21) Error: undeclared identifier: 'Toml'
realizing it's clearly some issue with deps not being installed properly, or something, i looked at the nimble file for this package and reinstalled serialization
. it was already installed, but i overwrote it anyways. now, i don't get any compile errors due to toml_serialization deps.
something is going on with nimble and dependencies.
you should remember one thing when using status libraries, we seldom update the version number, we often rely on commit hash. on the other hand, nimble only install libraries with newer version or tag number, which will lead to confusion and newer deps not downloaded.
you should remember one thing when using status libraries, we seldom update the version number, we often rely on commit hash.
I noticed that (in a few different status repos), and i don't understand why, nor what to do about it. What are potential down stream project devs, and/or official lang package manager software, supposed to understand from this state?
on the other hand, nimble only install libraries with newer version or tag number, which will lead to confusion and newer deps not downloaded.
I wondered about that too, but this project's readme says i can just use nimble...
this should already fixed by removing the nimble.lock file.
Hello,
I am trying out this package to convert TOML files to Nim objects and I was successful after fixing a minor installation glitch.
In order to run
Toml.decode
, I need to doIf I don't install
faststreams
, I get this error:Nim version is installed from
devel
:Suggested fix
Can
nimble install toml_serialization
installfaststreams
as a dependency?