Quote:
Originally Posted by Tinkster
In the short term, it is possible to improve Zip and UnZip's capabilities slightly on certain Linux systems (and probably other Unix-like systems) by recompiling with the -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 options.
Tink
|
Hello Tinkster,
Thank you for this post. I'm on a system that cannot handle these large files and I tried to compile unzip 5.51 with the options you provided.
In a newbie to Make'ing and I used the following:
export CFLAGS="-DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
export LOCAL_UNZIP="-DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
As I wasn't sure which one was needed.
Make seemed to detect the flags when building the code:
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 unzip.c
gcc -Di386 -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x assembler-with-cpp -c -o crc_gcc.o crc_i386.S
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 crctab.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 crypt.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 envargs.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 explode.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 extract.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 fileio.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 globals.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 inflate.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 list.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 match.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 process.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ttyio.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 unreduce.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 unshrink.c
gcc -c -O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 zipinfo.c
However the large file would still not unzip:
need PK compat. v4.5 (can do v2.1)
I altered the options to this:
export CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
export LOCAL_UNZIP="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
and recompiled but still no luck.
Other info:
Linux myserver 2.6.9-67.0.15.ELhugemem #1 SMP Tue Apr 22 14:01:33 EDT 2008 i686
/home type ext3 (rw)
> unzip -v
UnZip 5.51 of 22 May 2004, by Info-ZIP. Maintained by C. Spieler.
Compiled with gcc 3.4.6 20060404 (Red Hat 3.4.6-9) for Unix (Linux ELF) on Nov 11 2011.
UnZip special compilation options:
ASM_CRC
COPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported)
LZW_CLEAN (PKZIP/Zip 1.x unshrinking method not supported)
SET_DIR_ATTRIB
TIMESTAMP
USE_EF_UT_TIME
USE_DEFLATE64 (PKZIP 4.x Deflate64(tm) supported)
VMS_TEXT_CONV
[decryption, version 2.9 of 05 May 2000]
UnZip and ZipInfo environment options:
UNZIP: [none]
UNZIPOPT: [none]
ZIPINFO: [none]
ZIPINFOOPT: [none]
I'm just trying to narrow down the problem. I have unzip 6 in another directory, but it has the same issue. Could this be an operating system level issue?
Many thanks for your help :-)