Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wontfix] choosenim 0.16.0 works but nothing before 0.16.0 works, eg error: "Version 0.15.0 does not exist" #66

Closed
timotheecour opened this issue Jul 2, 2018 · 6 comments

Comments

@timotheecour
Copy link
Contributor

timotheecour commented Jul 2, 2018

choosenim 0.16.0 works but nothing before 0.16.0 works, eg: Version 0.15.0 does not exist

This makes it really hard to find regressions (eg I'm trying to find when iterator composition worked, cf nim-lang/Nim#8188 and https://github.com/def-/nim-iterutils/issues/4)

choosenim 0.15.0

Downloading Nim 0.15.0 from nim-lang.org
[#                                                 ] 0mb 0kb/s
       Tip: 1 messages have been suppressed, use --verbose to show them.
     Error: choosenim.nim(206)       choosenim
        ... choosenim.nim(187)       performAction
        ... choosenim.nim(89)        choose
        ... choosenim.nim(72)        chooseVersion
        ... choosenim.nim(34)        installVersion
        ... download.nim(252)        download
        ... Version 0.15.0 does not exist.

I also tried:
choosenim '#v0.15.0'
(after removing /Users/timothee/.choosenim/downloads/master.tar.gz as a workaround for caching issue I just mentioned in #65, to avoid a potentially wrong cache hit: "Info: /Users/timothee/.choosenim/downloads/master.tar.gz already downloaded")

Downloading Nim v0.15.0 from GitHub
      Info: /Users/timothee/.choosenim/downloads/v0.15.0.tar.gz already downloaded
 Extracting v0.15.0.tar.gz
   Building Nim #v0.15.0
   Warning: Building from latest C sources. They may not be compatible with the Nim version you have chosen to install.
Downloading Nim C sources from GitHub
[##################################################] 100.0% 0kb/s
 Extracting master.tar.gz
   Building C sources
   Building koch
 Exception: choosenim.nim(206)       choosenim
        ... choosenim.nim(187)       performAction
        ... choosenim.nim(89)        choose
        ... choosenim.nim(72)        chooseVersion
        ... choosenim.nim(46)        installVersion
        ... builder.nim(91)          build
        ... builder.nim(43)          buildCompiler
        ... utils.nim(19)            doCmdRaw
        ... Execution failed with exit code 1
        ... Command: ./bin/nim c koch
        ... Output: Hint: used config file '/Users/timothee/.choosenim/toolchains/nim-#v0.15.0/config/nim.cfg' [Conf]
        ... Hint: used config file '/Users/timothee/.config/nim.cfg' [Conf]
        ... Hint: used config file 'koch.nim.cfg' [Conf]
        ... Hint: system [Processing]
        ... lib/system.nim(392, 27) Error: type mismatch: got <type int>
        ... but expected one of:
        ... proc high[T](x: T): T
        ... expression: high(int)
   Cleaning failed build
     Error: choosenim.nim(206)       choosenim
        ... choosenim.nim(187)       performAction
        ... choosenim.nim(89)        choose
        ... choosenim.nim(72)        chooseVersion
        ... choosenim.nim(46)        installVersion
        ... builder.nim(100)         build
        ... Build failed
@timotheecour timotheecour changed the title choosenim 0.16.0 works but nothing before 0.16.0 works, eg: Version 0.15.0 does not exist choosenim 0.16.0 works but nothing before 0.16.0 works, eg error: "Version 0.15.0 does not exist" Jul 2, 2018
@timotheecour
Copy link
Contributor Author

timotheecour commented Jul 2, 2018

here's my workaround to build 0.9.4 (which I used to show that nim-lang/Nim#8188 was a regression):

git clone -b 'v0.9.4' --single-branch --depth 1 https://github.com/nim-lang/Nim Nim5 && cd Nim5
git clone -b 'v0.9.4' --single-branch --depth 1 https://github.com/nim-lang/csources.git
(cd csources && sh build.sh && cd ..)
./bin/nimrod --version
Nimrod Compiler Version 0.9.4 (2014-04-21) [MacOSX: amd64]
Copyright (c) 2006-2014 by Andreas Rumpf
./koch boot -d:release
=> builds compiler/nimrod

./koch tools # that ones doens't work; probably was introduced later

@genotrance
Copy link
Collaborator

Choosenim attempts to detect nimble as part of the install and it isn't included in older versions of the compiler/koch. We could improve that portion of the code but given there's many csources versions missing on github, it might not help as much. (18 nim releases but only 7 csources)

As far as missing csources tags are concerned, I had an idea but it's unclear if it would work. I didn't do any additional work on this since I didn't expect many to want to build such old versions of the compiler.

@timotheecour
Copy link
Contributor Author

As far as missing csources tags are concerned, I had an idea but it's unclear if it would work. I didn't do any additional work on this since I didn't expect many to want to build such old versions of the compiler.

@genotrance this would be useful to track down regressions and find offending commit via git bisect, which was my original motivation for this bug (to help with nim-lang/Nim#8188 which is an important regression)

@dom96
Copy link
Owner

dom96 commented Jul 3, 2018

I think this is a pretty niche use case, it would be nice if choosenim supported it but I would prefer to omit the additional complexity that would creep in as a result.

@genotrance
Copy link
Collaborator

I propose closing this considering choosenim works well for the last 3 years worth of releases.

@timotheecour timotheecour changed the title choosenim 0.16.0 works but nothing before 0.16.0 works, eg error: "Version 0.15.0 does not exist" [wontfix] choosenim 0.16.0 works but nothing before 0.16.0 works, eg error: "Version 0.15.0 does not exist" Jan 14, 2020
@timotheecour
Copy link
Contributor Author

closing as wontfix; we can reopen if need comes up again; biggest use case would be a regression introduced before 0.16.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants