unzip-lzfse icon indicating copy to clipboard operation
unzip-lzfse copied to clipboard

make -f unix/Makefile all 发生错误 MACOS 10.15.7

Open WHDevLab opened this issue 4 years ago • 1 comments

bogon:unzip-lzfse qp$ make -f unix/Makefile all

Attempting "make generic" now. If this fails for some reason, type "make help" and/or "make list" for suggestions.

eval /Applications/Xcode.app/Contents/Developer/usr/bin/make -f unix/Makefile unzips ACONF_DEP=flags cat flags cc -c -I. -Ibzip2 -DUNIX -O3 -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DUTF8_MAYBE_NATIVE -DNO_FCHMOD -DNO_FCHOWN -DNO_LCHOWN -DNO_NL_LANGINFO -DNO_LCHMOD -DZMEM -DNO_DIR -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -D_MBCS -DUSE_LZFSE -I/usr/local/include unix/unix.c In file included from unix/unix.c:31: In file included from ./unzip.h:718: ./unzpriv.h:1288:11: warning: 'memcpy' macro redefined [-Wmacro-redefined]

define memcpy(dest,src,len) bcopy(src,dest,len)

      ^

/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/secure/_string.h:62:9: note: previous definition is here #define memcpy(dest, ...)
^ unix/unix.c:132:14: error: typedef redefinition with different types ('FILE' (aka 'struct __sFILE') vs 'struct DIR') typedef FILE DIR; ^ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/dirent.h:84:3: note: previous definition is here } DIR; ^ unix/unix.c:136:2: error: expected ';' after struct } DIR ^ unix/unix.c:137:4: error: expected ';' after top level declarator DIR *opendir OF((ZCONST char *dirspec)); ^ ; unix/unix.c:138:6: error: conflicting types for 'closedir' void closedir OF((DIR *dirp)); ^ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/dirent.h:105:5: note: previous declaration is here int closedir(DIR *) __DARWIN_ALIAS(closedir); ^ unix/unix.c:141:6: error: expected identifier DIR *opendir(dirspec) ^ unix/unix.c:130:34: note: expanded from macro 'opendir' #define opendir(path) fopen(path,"r") ^ unix/unix.c:141:6: error: conflicting types for 'fopen' unix/unix.c:130:23: note: expanded from macro 'opendir' #define opendir(path) fopen(path,"r") ^ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:153:7: note: previous declaration is here FILE *fopen(const char * __restrict __filename, const char * __restrict __mode) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE... ^ unix/unix.c:141:22: error: expected ';' after top level declarator DIR *opendir(dirspec) ^ ; unix/unix.c:143:1: error: expected identifier or '(' { ^ unix/unix.c:155:6: error: conflicting types for 'fclose' void closedir(dirp) ^ unix/unix.c:131:23: note: expanded from macro 'closedir' #define closedir(dir) fclose(dir) ^ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:143:6: note: previous declaration is here int fclose(FILE *); ^ unix/unix.c:158:18: error: no member named 'dirhandle' in 'DIR' fclose(dirp->dirhandle); ~~~~ ^ unix/unix.c:174:27: error: no member named 'entry' in 'DIR' if (fread(&(dirp->entry), sizeof (struct dirent), 1, ~~~~ ^ unix/unix.c:175:25: error: no member named 'dirhandle' in 'DIR' dirp->dirhandle) == 0) ~~~~ ^ unix/unix.c:177:25: error: no member named 'entry' in 'DIR' else if ((dirp->entry).d_ino) ~~~~ ^ unix/unix.c:178:28: error: no member named 'entry' in 'DIR' return &(dirp->entry); ~~~~ ^ unix/unix.c:257:22: warning: incompatible pointer types passing 'DIR *' to parameter of type 'FILE *' (aka 'struct __sFILE *') [-Wincompatible-pointer-types] closedir((DIR *)G.wild_dir); ^~~~~~~~~~~~~~~~~ unix/unix.c:131:30: note: expanded from macro 'closedir' #define closedir(dir) fclose(dir) ^~~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:143:19: note: passing argument to parameter here int fclose(FILE *); ^ unix/unix.c:298:14: warning: incompatible pointer types passing 'DIR *' to parameter of type 'FILE *' (aka 'struct __sFILE *') [-Wincompatible-pointer-types] closedir((DIR )G.wild_dir); / at least one entry read; nothing left */ ^~~~~~~~~~~~~~~~~ unix/unix.c:131:30: note: expanded from macro 'closedir' #define closedir(dir) fclose(dir) ^~~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:143:19: note: passing argument to parameter here int fclose(FILE *); ^ 3 warnings and 14 errors generated. make[1]: *** [unix.o] Error 1 make: *** [generic] Error 2

WHDevLab avatar Jan 05 '21 09:01 WHDevLab

@WHDevLab open unix/unix.c and remove code from line 128 to line 182 including. That is, the whole #ifdef NO_DIR ... #endif /* NO_DIR */ section. After doing that the code compiled for me.

krin-san avatar May 14 '21 14:05 krin-san