takluyver / pynsist

Build Windows installers for Python applications
https://pynsist.readthedocs.io/
Other
912 stars 120 forks source link

When (I think) going above 2GB for final installer, get "Internal compiler error #12345: error mmapping datablock to 32140454." #259

Open pseudotensor opened 1 year ago

pseudotensor commented 1 year ago

Love the project, using for h2oGPT: https://github.com/h2oai/h2ogpt

With torch being 4GB and some other stuff being another 1GB, my total build folder becomes order 5.5GB. The building of installler seems to nearly complete then fails like this. I know before adding another 600MB the final file was 1.9GB, so I assume going over made things fail.

I'm unable to delete any files, so can I increase the compression or otherwise make work? I have 64-bit system and bitness=64 is specified.

~~~ Running makensis ~~~
Processing config: C:\Program Files (x86)\NSIS\nsisconf.nsh
Processing script file: "build\nsis\installer.nsi" (ACP)

Internal compiler error #12345: error mmapping datablock to 32140454.

Note: you may have one or two (large) stale temporary file(s) left in your temporary directory (Generally this only happens on Windows 9x).
takluyver commented 1 year ago

It seems like this is a limitation of NSIS, the installer system that Pynsist builds on. From the documentation:

Installers can be as large as 2GB

This old forum thread and this Stackoverflow question have some suggestions of possible workarounds. Many of these probably won't work with Pynsist directly; you might want to generate the .nsi file with --no-makensis and then modify it before building it with NSIS directly.