The -D_FILE_OFFSET_BITS=64 parameter is missing from the cflags of the build. This creates a 32bit unzip which fails with a stupid error (no such file xxx.zip - man that's dumb) if the file exceeds 2GB. Adding this define allows files > 2GB to be unzipped. Reproducible: Always Steps to Reproduce: 1. Unzip a file >2gb 2. Be amazed about the stupid error message telling you the file doesn't exist (it DOES! Really!) Actual Results: I recompiled unzip using the above flag. Expected Results: At LEAST report the actual error which was "I cannot unzip files that are >2GB" but preferably just unzip the thing.
if you put this into your CFLAGS does it work ? -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
(In reply to comment #1) I only added -D_FILE_OFFSET_BITS=64 and that was enough. I added it to the original unzip 5.52 Makefile and recompiled; after that unzipping worked ok.
fixed in cvs, thanks