StefanSalewski / gintro

High level GObject-Introspection based GTK3/GTK4 bindings for Nim language
MIT License
293 stars 20 forks source link

fails to install on linux mint. #225

Open ghost opened 11 months ago

ghost commented 11 months ago
/tmp/gintrosalewski/gen.nim(1462, 27) Error: type mismatch: got 'seq[string]' for 'split(hhh, {' ', '\t', '\v', '\r', '\n', '\f'}, -1)' but expected 'tuple'
stack trace: (most recent call last)
/tmp/nimblecache-452779866/nimscriptapi_3023278911.nim(222, 29)
/tmp/nimble_118760/githubcom_StefanSalewskigintrogit/gintro.nimble(77, 7) installBefore
/tmp/nimble_118760/githubcom_StefanSalewskigintrogit/gintro.nimble(62, 7) prep
/home/faisal/.choosenim/toolchains/nim-2.0.0/lib/system/nimscript.nim(265, 7) exec
/home/faisal/.choosenim/toolchains/nim-2.0.0/lib/system/nimscript.nim(265, 7) Error: unhandled exception: FAILED: nim c gen.nim [OSError]
nimscriptwrapper.nim(160) execScript

    Error:  Exception raised during nimble script execution
     Info:  Nimble data file "/home/faisal/.nimble/nimbledata2.json" has been saved.
StefanSalewski commented 11 months ago

We had rumors for such an error type since a half year already for latest devel compiler. Assigning the result of split(), which is a seq of strings, to a tuple of strings, which was working fine for eight years, was suddenly broken.

I don't know if they fixed it for recent Nim 2.0, or will fix it later. Maybe they did it intentionally to block gintro. But should be no problem, I have still a working old install for the case that I should do some Nim again in next winter, and I think we have no other Gintro users currently. There are enough other GUI packages, e.g. the owekettle which is also GTK4 based, Fidget based GUIs, or maybe the new one recently mentioned in a forum post, see https://forum.nim-lang.org/t/10301. If you think you really need gintro, and they will not fix it, you may fork gintro and fix it yourself. Should be very easy, you would have to search in gen.nim for locations, where split results are assigned to string tuples, and then store it somehow in a temporary variable. Of course there may be a few locations, perhaps in other related files also.