Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
WHDevLab opened this issue Jan 5, 2021 · 1 comment
Open

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

WHDevLab opened this issue Jan 5, 2021 · 1 comment

Comments

@WHDevLab
Copy link

WHDevLab commented Jan 5, 2021

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

@krin-san
Copy link

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants