Beamdog / nwsync

Supporting utilities for NWSync
MIT License
27 stars 8 forks source link

Dependency zip - Build issue #1

Closed WilliamDraco closed 4 years ago

WilliamDraco commented 4 years ago

The StreamSeeking error seen on windows 64-bit is a problem in the imported nim lib 'zip'. This has been identified and corrected in nim-lang/zip#35

However, the fix caused an issue for linux instead, see nim-lang/zip#39 - including potential fixes. Unfortunately no fix has been merged.

nim-lang/zip does not tag their version releases and therefore any install from nimble simply grabs the HEAD at the time. It's version has also been unchanged (0.2.1) since Mar 2017, with pull #35 only merged in Jan 2019.

It seems that the release binaries were built to work on linux/fail on win-64 because they were built using a nim-lang/zip installed prior to Jan 2019. With no version change, the newer commits were not pulled in. However, a totally fresh install will grab the new nim-lang/zip HEAD and therefore fail on linux/work on win-64.

Flagging now as an issue for anyone building manually, and potentially future release binaries in case of a fresh install. I'm unsure of options apart from fork-and-fix. I don't know types well enough to understand why any of the proposed fixes have not been merged yet.

Edit: I've confirmed that a self-build using a new nim-lang/zip results in a 64-bit binary for win10 without the zlib error, which I do receive on the release binaries.

WilliamDraco commented 4 years ago

the nim-lang/zip issues were resolved and a new version tagged correctly. This should no longer be a problem with newly downloaded versions.