disruptek / atoz

Amazon Web Services (AWS) APIs in Nim
MIT License
48 stars 5 forks source link

install fails - "Cannot satisfy the dependency on npeg 0.27.0 and npeg 1.2.2" #12

Closed refacktor closed 1 month ago

refacktor commented 2 months ago

Steps to reproduce

  1. Start with empty-ish project, nim version 2.0.4
  2. nimble install atoz

Expected result:

Actual result:

Downloading https://github.com/disruptek/atoz using git
  Verifying dependencies for atoz@2626.4.0
 Installing sigv4@>= 1.3.0 & < 2.0.0
Downloading https://github.com/disruptek/sigv4 using git
  Verifying dependencies for sigv4@1.4.1
 Installing https://github.com/jangko/nimSHA2@< 1.0.0
Downloading https://github.com/jangko/nimSHA2 using git
   Warning: The package has no tagged releases, downloading HEAD instead.
  Verifying dependencies for nimSHA2@0.1.1
 Installing nimSHA2@0.1.1
  Success:  nimSHA2 installed successfully.
 Installing https://github.com/disruptek/balls@>= 3.0.0 & < 4.0.0
Downloading https://github.com/disruptek/balls using git
   Warning: Package 'balls' has an incorrect structure. It should contain a single directory hierarchy for source files, named 'ballspkg', but file 'runner.nim' is in a directory named 'balls' instead. This will be an error in the future.
      Hint: If 'balls' contains source files for building 'balls', rename it to 'ballspkg'. Otherwise, prevent its installation by adding `skipDirs = @["balls"]` to the .nimble file.
  Verifying dependencies for balls@3.9.12
 Installing https://github.com/disruptek/grok@>= 0.5.0 & < 1.0.0
Downloading https://github.com/disruptek/grok using git
  Verifying dependencies for grok@0.6.4
 Installing grok@0.6.4
  Success:  grok installed successfully.
 Installing https://github.com/disruptek/ups@< 1.0.0
Downloading https://github.com/disruptek/ups using git
  Verifying dependencies for ups@0.4.0
 Installing npeg@>= 0.23.2 & < 2.0.0
Downloading https://github.com/zevv/npeg using git
  Verifying dependencies for npeg@1.2.2
 Installing npeg@1.2.2
  Success:  npeg installed successfully.
 Installing ups@0.4.0
  Success:  ups installed successfully.
 Installing balls@3.9.12
   Building balls/balls.exe using c backend
C:\Users\user\AppData\Local\Temp\nimble_12636\githubcom_disruptekballs_3.0.0_4.0.0\balls\semaphores.nim(20, 1) Warning: A custom '=destroy' hook which takes a 'var T' parameter is deprecated; it should take a 'T' parameter [Deprecated]
  Success:  balls installed successfully.
 Installing sigv4@1.4.1
  Success:  sigv4 installed successfully.
 Installing https://github.com/disruptek/rest@>= 1.0.0
Downloading https://github.com/disruptek/rest using git
  Verifying dependencies for rest@1.0.5
 Installing foreach@>= 1.0.0
Downloading https://github.com/disruptek/foreach using git
  Verifying dependencies for foreach@1.0.2
 Installing foreach@1.0.2
  Success:  foreach installed successfully.
 Installing rest@1.0.5
  Success:  rest installed successfully.
 Installing https://github.com/disruptek/openapi@>= 3.3.0 & < 4.0.0
Downloading https://github.com/disruptek/openapi using git
  Verifying dependencies for openapi@3.3.1
 Installing npeg@< 1.0.0
Downloading https://github.com/zevv/npeg using git
  Verifying dependencies for npeg@0.27.0
 Installing npeg@0.27.0
  Success:  npeg installed successfully.
     Info:  Dependency on foreach@>= 1.0.1 & < 2.0.0 already satisfied
  Verifying dependencies for foreach@1.0.2
 Installing https://github.com/disruptek/rest.git@>= 1.0.3 & < 2.0.0
Downloading https://github.com/disruptek/rest.git using git
  Verifying dependencies for rest@1.0.5
     Info:  Dependency on foreach@>= 1.0.0 already satisfied
  Verifying dependencies for foreach@1.0.2
 Installing rest@1.0.5
  Warning:  A package "rest@1.0.5" with checksum "154d8e5cede954d1dfd51c38b54239617e905a5a" already exists the the cache.
 Installing openapi@3.3.1
  Success:  openapi installed successfully.
     Info:  Dependency on npeg@>= 0.22.2 & < 1.0.0 already satisfied
  Verifying dependencies for npeg@0.27.0
       Tip: 156 messages have been suppressed, use --verbose to show them.
nimble.nim(79)           checkSatisfied

    **Error:  Cannot satisfy the dependency on npeg 0.27.0 and npeg 1.2.2**
disruptek commented 1 month ago

Sorry for the late reply. I pushed 2626.4.1 to open the npeg version range; please give that a try.

michele-comitini commented 1 month ago

If one has not previously installed npeg@0.27.0 before it fails too. because balls->ups depends on npeg@<2.0.0 resulting in npeg@1.2.2 being installed.

refacktor commented 1 month ago

OP reporting back. I updated my nimble file to requires "atoz == 2626.4.1". That still failed so I added requires "npeg == 0.27.0" per comment from @michele-comitini I suspected the npeg 1.2.2 is already cached somewhere so I also did a nimble uninstall -i npeg And... I got past the install issue, thank you!!

There is a new problem now but I don't know if I'm just doing something wrong, I'll open a new Issue depending on how that turns out: \.nimble\pkgs2\atoz-2626.4.1-ff0e0daf22a489a82c2804e53843526e3cf0be41\atoz\s3_20060301.nim(248, 11) Error: the special identifier '_' is ignored in declarations and cannot be used