Bug#340693: unzip bug, header missing
forwarded 340693 http://www.info-zip.org/zip-bug.html thanks I've forwarded this report to the authors, including the additional explanations from Aurelien. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#340693: unzip bug, header missing
Package: unzip Version: 5.52-5 Severity: normal $ uname -a GNU/kFreeBSD gnu 5.4-1-686 #0 Sun Nov 20 17:50:29 CET 2005 i686 i386 AMD Sempron(tm) 3000+ GNU/kFreeBSD how to reproduce: $ wget http://www.braingames.getput.com/mog/downloads/mog-sources.zip $ unzip mog-sources.zip Archive: mog-sources.zip error [mog-sources.zip]: start of central directory not found; zipfile corrupt. (please check that you have transferred or created the zipfile in the appropriate BINARY mode and that you have compiled UnZip properly) after the patch: $ unzip mog-sources.zip Archive: mog-sources.zip inflating: MoGv62-sources/bitmaps.cpp inflating: MoGv62-sources/bitmaps.h inflating: MoGv62-sources/debug-report.cpp inflating: MoGv62-sources/demons.cpp Please apply this patch and also forward it to upstream: 00:51 aurel32 --- unzip-5.52.orig/unix/unxcfg.h 00:51 aurel32 +++ unzip-5.52/unix/unxcfg.h 00:51 aurel32 @@ -15,6 +15,7 @@ 00:51 aurel32 #include sys/types.h /* off_t, time_t, dev_t, ... */ 00:51 aurel32 #include sys/stat.h 00:51 aurel32 +#include unistd.h 00:51 aurel32 #ifndef COHERENT 00:51 aurel32 # include fcntl.h/* O_BINARY for open() w/o CR/LF translation */ Gürkan
Bug#340693: unzip bug, header missing
On Fri, 25 Nov 2005, Gürkan Sengün wrote: Package: unzip Version: 5.52-5 Severity: normal $ uname -a GNU/kFreeBSD gnu 5.4-1-686 #0 Sun Nov 20 17:50:29 CET 2005 i686 i386 AMD Sempron(tm) 3000+ GNU/kFreeBSD how to reproduce: $ wget http://www.braingames.getput.com/mog/downloads/mog-sources.zip $ unzip mog-sources.zip Archive: mog-sources.zip error [mog-sources.zip]: start of central directory not found; zipfile corrupt. (please check that you have transferred or created the zipfile in the appropriate BINARY mode and that you have compiled UnZip properly) after the patch: $ unzip mog-sources.zip Archive: mog-sources.zip inflating: MoGv62-sources/bitmaps.cpp inflating: MoGv62-sources/bitmaps.h inflating: MoGv62-sources/debug-report.cpp inflating: MoGv62-sources/demons.cpp Please apply this patch and also forward it to upstream: 00:51 aurel32 --- unzip-5.52.orig/unix/unxcfg.h 00:51 aurel32 +++ unzip-5.52/unix/unxcfg.h 00:51 aurel32 @@ -15,6 +15,7 @@ 00:51 aurel32 #include sys/types.h /* off_t, time_t, dev_t, ... */ 00:51 aurel32 #include sys/stat.h 00:51 aurel32 +#include unistd.h 00:51 aurel32 #ifndef COHERENT 00:51 aurel32 # include fcntl.h/* O_BINARY for open() w/o CR/LF translation */ It is not enough that you provide a patch. They will surely reject the patch, as apparently they don't want to include unistd.h unconditionally. The current code uses the __GLIBC__ macro here and there (well, sometimes in combination with __GNU__, which is redundant). It will help if you could explain why it does not work without the patch, and why it works on Linux-based systems. Also, it would help if you could tell whether this is a single .zip file that it does not work, or no .zip file works at all now, because last time I checked on GNU/kFreeBSD, it worked.
Bug#340693: unzip bug, header missing
Santiago Vila a écrit : On Fri, 25 Nov 2005, Gürkan Sengün wrote: Package: unzip Version: 5.52-5 Severity: normal $ uname -a GNU/kFreeBSD gnu 5.4-1-686 #0 Sun Nov 20 17:50:29 CET 2005 i686 i386 AMD Sempron(tm) 3000+ GNU/kFreeBSD how to reproduce: $ wget http://www.braingames.getput.com/mog/downloads/mog-sources.zip $ unzip mog-sources.zip Archive: mog-sources.zip error [mog-sources.zip]: start of central directory not found; zipfile corrupt. (please check that you have transferred or created the zipfile in the appropriate BINARY mode and that you have compiled UnZip properly) after the patch: $ unzip mog-sources.zip Archive: mog-sources.zip inflating: MoGv62-sources/bitmaps.cpp inflating: MoGv62-sources/bitmaps.h inflating: MoGv62-sources/debug-report.cpp inflating: MoGv62-sources/demons.cpp Please apply this patch and also forward it to upstream: 00:51 aurel32 --- unzip-5.52.orig/unix/unxcfg.h 00:51 aurel32 +++ unzip-5.52/unix/unxcfg.h 00:51 aurel32 @@ -15,6 +15,7 @@ 00:51 aurel32 #include sys/types.h /* off_t, time_t, dev_t, ... */ 00:51 aurel32 #include sys/stat.h 00:51 aurel32 +#include unistd.h 00:51 aurel32 #ifndef COHERENT 00:51 aurel32 # include fcntl.h/* O_BINARY for open() w/o CR/LF translation */ It is not enough that you provide a patch. They will surely reject the patch, as apparently they don't want to include unistd.h unconditionally. The current code uses the __GLIBC__ macro here and there (well, sometimes in combination with __GNU__, which is redundant). It will help if you could explain why it does not work without the patch, and why it works on Linux-based systems. The problem is that off_t is a 64-bit type on GNU/kFreeBSD, whereas it is a 32-bit type on GNU/Linux. Thus lseek takes a 64-bit argument. If you don't include unistd.h, the lseek function is not defined, and gcc assumes that it takes int (32-bit) for its arguments, which is wrong there. BTW, even on GNU/Linux, gcc warns with an implicit definition of the lseek function. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' [EMAIL PROTECTED] | [EMAIL PROTECTED] `-people.debian.org/~aurel32 | www.aurel32.net -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]