I'm working on a game where I use paszlib to compress the save files. This works fine on the Windows and Linux setups I've tested it on myself, but a user reported that the game crashed whenever he tried to load a saved file. Some testing revealed that the archives created on his system (Ubuntu 12.04 64-bit) with paszlib are empty -- that is, the zip file is only 122 bytes (which I assume is header information), and when it's uncompressed, the resulting file is 0 bytes.

Here's the relevant code:

Code:
PROCEDURE EncodeSaveFile(Const FileName : String);
VAR Zip : TZipper;
BEGIN
   Zip := TZipper.Create;
   Zip.FileName := 'saves/' + FileName + '.zip';
   Zip.Entries.AddFileEntry('saves/' + FileName + '.dat', 'saves/' + FileName + '.dat');
   Zip.ZipAllFiles;
   Zip.Free;
END;
Some game data files (for example level and map files) are already compressed, and these seem to decompress fine, as the user has no problem playing a level. I'm completely stumped as to what's causing the issue with compression but not decompression. Any ideas?