Windows Install Instructions Incomplete/Outdated
Issue: I use Windows 64-bit and wanted to build this cool project locally. I followed the instructions which were pretty simple and straight forward, but still hit some hiccups that made me need to go outside of what was provided in the documentation to get everything set up.
Two primary issues I hit:
- Vague package install requirements regarding 32-bit vs 64-bit
- The
INSTALL.mddocument only includes 32-bit instructions for Windows, but LibreSprite did not seem to be limited to 32 bit and the instructions are never really explicit that they are assuming 32-bit, just mentions of MinGW32.
- The
- Seemingly incomplete instructions to build a fully functioning executable
- If I launch the executable through windows file explorer as-is after
ninja install, I receive an error stating I'm missing DLLs that were installed via pacman and accessible throughPATHand the executable exits. - If I run
libresprite.exe --shell, the program crashes unless you include-DUSE_V8_SANDBOX=ONwhen runningcmake
- If I launch the executable through windows file explorer as-is after
It appears that LibreSprite is available on both Intel and AMD architecture for both 32-bit and 64-bit platforms, so I think a more ideal state for the first issue of vagueness would be to include 32-bit/64-bit variations of the packages for the different possible architectures depending on the user's platform.
As for the first subsection regarding possible incompleteness, I noticed that the github workflow for windows runs package_win.js as one of it's final steps. This step copies over all of the DLLs to where the LibreSprite executable is. Is it expected for users to do this if they want to build and run on windows? If so, I think it should be included in the documentation.
For the second subsection, as a user it feels confusing to offer a flag for the executable that will cause the program to crash if a seemingly undocumented flag isn't included during compilation. I believe either the shell flag should not be included on builds that don't include -DUSE_V8_SANDBOX=ON or the flag should be included as part of the compilation process by default.
These were just some notes I had when trying to get a working build, any and all feedback is welcome.
Source: LibreSprite/LibreSprite