I use NIM for some times now, and until now I do updates of NIM version "by hand" (Windows).
I've tried once choosenim, which seems a great idea, but I did not get to make it work, so it was quicker for me to do the update manually.
It could be very nice if there was a way to do a proper upgrade from a current installation to the last stable version from the cli but something builtin from the available toolset included in NIM core package, forgive me if it is already there and I don't know how to do it.
Because most of the time, just an upgrade from a stable version to the last stable version is required.
May be choosenim could be this sort of tool, but not included in the core package.
I was running nim 1.4.0, so I decided to move to 1.4.6 using choosenim
It seems to work weel but in fact when I tryed to compile my software, I've got an error from gcc:
compilation terminated. Error: execution of an external compiler program 'gcc.exe -c -w -fmax-errors=3 -mno-ms-bitfields -DWIN32_LEAN_AND_MEAN -IC:Userspoirier.choosenimtoolchainsnim-1.4.6lib -I"C:UserspoirierDocumentsNIM Projectsprepare" -o C:Userspoiriernimcacheclient_dlibzip_all.c.o C:Userspoirier.nimblepkgszip-0.3.1zipprivatelibzip_all.c' failed with exit code: 1
I am a bit disapointed, I didn't have this error before when updating, and I do not know how to solve it.
This is why I am not confindent when updating nim version, each time it does not work flowlessly at the first try!
I think there is still this issue when using zlib : https://github.com/nim-lang/zip/issues/33
So I am stuck now, please help!!!
OK, before my choosenim try, I've got all in C:\nim-1.4.0 now it seems that choosenim put things in C:\Users\xxx\.choosenim\toolchains
I will try to copy missing parts from older mingw install to C:\Users\xxx\.choosenim\toolchains\mingw64, is it the right thing to do?
I like a lot the language, but having such issues when doing some update is very difficult to handle.
I do use code Nim for production use now, and I hope the language will be better known.
I am sorry but this type of issue is difficult to handle for me, I'd like so much to have time to help but I didn't have.
I've copied include/zconf.h include/zlib.h lib/libz.a and it seems to work again. Did try yet the compile part of my project but should work I will try it later.
updating compiler within the same 1.4 version list is quite a big change, may be it could be better to postpone this type of update for major update.
It could be better also to list third party software parts that are changing during this type of update, a dir diff could get the job done. Even a major update shouldn't break existing code.
Please move choosenim as part of the core package, or explain me why it is not possible.
Well I'm sorry, but the move to a different mingw wasn't untested, we tested it for weeks, we have a CI, we test plenty of 3rd party libraries and it didn't occur to me that C header files would be removed. Also the move to a different mingw also fixed existing bugs so it was justified to do it in a bugfix release...
Please move choosenim as part of the core package, or explain me why it is not possible.
Choosenim has little to do with the problem you're experiencing. It shouldn't be part of the core package because it's hardly maintained.
No worry, just a miss of luck to be the one that experienced this issue, bit it gets fixed quickly, so that's ok.
For production use, be able to do an update to the last stable version from an existing installation is a real need, because most of the time, that is what NIM users need to do, even if the tool is not choosenim (and ok it is not related to my problem)