Fehler beim Versuch, checkinstall aus dem Quellcode auf Cygwin zu kompilieren

685
Hashim

Ich verwende Cygwin zusätzlich zu Windows 7. Ich habe Probleme beim Installieren des checkinstallDienstprogramms von der Quelle, und der Täter scheint zu sein gcc.

Wenn ich renne /.configure, erhalte ich die Fehlermeldung:

-bash: ./configure: No such file or directory 

Ich fahre damit fort makeund bekomme eine Ausgabe, die mit vielen Fehlern fehlschlägt, vermutlich verursacht durch gcc. Die Ausgabe ist hier vollständig zu sehen, aber unten sind die erste und letzte Zeile davon aufgeführt.

$ make for file in locale/checkinstall-*.po ; do \ case $ in \ locale/checkinstall-template.po) ;; \ *) \ out=`echo $file | sed -s 's/po/mo/'` ; \ msgfmt -o $ $ ; \ if [ $? != 0 ] ; then \ exit 1 ; \ fi ; \ ;; \ esac ; \ done make -C installwatch make[1]: Entering directory '/cygdrive/b/Users/Me/Desktop/checkinstall-1.6.2/installwatch' gcc -Wall -c -D_GNU_SOURCE -DPIC -fPIC -D_REENTRANT -DVERSION=\"0.7.0beta7\" installwatch.c In file included from /usr/local/include/sys/param.h:33:0, from installwatch.c:31: /usr/local/include/sys/types.h:10:2: error: #error Only Win32 target is supported! #error Only Win32 target is supported! ^~~~~ In file included from /usr/local/include/sys/param.h:33:0, from installwatch.c:31: /usr/local/include/sys/types.h:90:3: error: unknown type name ‘time_t’ time_t tv_sec; /* Seconds */ ^~~~~~ In file included from installwatch.c:33:0: /usr/local/include/sys/stat.h:10:2: error: #error Only Win32 target is supported! #error Only Win32 target is supported! ^~~~~ In file included from /usr/local/include/sys/stat.h:14:0, from installwatch.c:33: /usr/local/include/io.h:199:28: error: expected ‘,’ or ‘;’ before ‘_findfirst32’ _CRTIMP intptr_t __cdecl _findfirst32(const char *_Filename,struct _finddata32_t *_FindData); ^~~~~~~~~~~~    ...    installwatch.c: In function ‘fopen’: installwatch.c:2560:51: error: expected ‘)’ before ‘result’ logg("%" PRIdPTR "\tfopen\t%s\t#%s\n",(intptr_t)result, ^~~~~~ installwatch.c:2560:8: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat=] logg("%" PRIdPTR "\tfopen\t%s\t#%s\n",(intptr_t)result, ^~~ installwatch.c:2560:8: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat=] installwatch.c:2575:51: error: expected ‘)’ before ‘result’ logg("%" PRIdPTR "\tfopen\t%s\t#%s\n",(intptr_t)result, ^~~~~~ installwatch.c:2575:8: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat=] logg("%" PRIdPTR "\tfopen\t%s\t#%s\n",(intptr_t)result, ^~~ installwatch.c:2575:8: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat=] installwatch.c: At top level: installwatch.c:2600:7: error: conflicting types for ‘getcwd’ char *getcwd(char *buffer,size_t size) { ^~~~~~ In file included from /usr/local/include/sys/stat.h:14:0, from installwatch.c:33: /usr/local/include/io.h:279:17: note: previous declaration of ‘getcwd’ was here char *__cdecl getcwd (char *, int) __MINGW_ATTRIB_DEPRECATED_MSVC2005; ^~~~~~ installwatch.c:2664:30: error: unknown type name ‘uid_t’ int lchown(const char *path, uid_t owner, gid_t group) { ^~~~~ installwatch.c:2664:43: error: unknown type name ‘gid_t’ int lchown(const char *path, uid_t owner, gid_t group) { ^~~~~ installwatch.c:2749:5: error: conflicting types for ‘mkdir’ int mkdir(const char *pathname, mode_t mode) { ^~~~~ In file included from /usr/local/include/sys/stat.h:14:0, from installwatch.c:33: /usr/local/include/io.h:280:15: note: previous declaration of ‘mkdir’ was here int __cdecl mkdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005; ^~~~~ installwatch.c:2983:7: error: conflicting types for ‘realpath’ char *realpath(const char *file_name,char *resolved_name) { ^~~~~~~~ installwatch.c:556:6: note: previous implicit declaration of ‘realpath’ was here if(!realpath(path,resolved_path)) { ^~~~~~~~ installwatch.c:3309:5: error: conflicting types for ‘utime’ int utime (const char *pathname, const struct utimbuf *newtimes) { ^~~~~ In file included from /usr/local/include/utime.h:6:0, from installwatch.c:47: /usr/local/include/sys/utime.h:115:26: note: previous definition of ‘utime’ was here __CRT_INLINE int __cdecl utime(const char *_Filename,struct utimbuf *_Utimbuf) { ^~~~~ installwatch.c: In function ‘true_stat’: installwatch.c:153:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ installwatch.c: In function ‘true_lstat’: installwatch.c:161:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ installwatch.c: In function ‘true_mknod’: installwatch.c:157:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ In file included from installwatch.c:35:0: installwatch.c: In function ‘open’: installwatch.c:2842:20: warning: ‘mode_t ’ is promoted to ‘int’ when passed through ‘...’ mode = va_arg(ap, mode_t); ^ installwatch.c:2842:20: note: (so you should pass ‘int’ not ‘mode_t ’ to ‘va_arg’) installwatch.c:2842:20: note: if this code is reached, the program will abort At top level: installwatch.c:1040:12: warning: ‘__instw_printdirent64’ defined but not used [-Wunused-function] static int __instw_printdirent64(struct dirent64 *entry) { ^~~~~~~~~~~~~~~~~~~~~ make[1]: *** [Makefile:22: installwatch.o] Error 1 make[1]: Leaving directory '/cygdrive/b/Users/Me/Desktop/checkinstall-1.6.2/installwatch' make: *** [Makefile:11: all] Error 2 

Es tut mir leid, wenn ich das falsch mache, aber ich bin mit diesem Code und den geworfenen Fehlern völlig überfordert. Ich habe versucht, mit dem Cygwin-Installationsprogramm gcc_coreund anderen gccPaketen mehrere Male ohne Neuinstallation zu installieren .

Ich war gerade dabei, dieses Handbuch zu verwenden, um die neueste Version von gccfrom zu kompilieren, bevor ich auch damit schwerwiegende Fehler bekam. Ich beschloss, von Anfang an zu beginnen und zu bestimmen, ob das Problem gelöst werden kann, ohne meinen Cygwin noch mehr aufzublähen Installation.

0
Versuchen Sie ". / Configure" anstelle von "/ .configure" wie oben angegeben. Die erste führt `configure 'im aktuellen Verzeichnis aus und sieht, wie Sie geschrieben haben, eine versteckte Datei namens` .configure` im Stammverzeichnis. headkase vor 6 Jahren 1
»» Nur Win32-Ziel wird unterstützt! ««: Ich denke, Sie haben ein 64-Bit-Windows © -OS? Abgesehen davon: Checkinstall ist eine alte Anwendung → Normalerweise gibt es keine Probleme mit einer älteren gcc-Version: Jede Version 3.4.6 ... 7.3.0 kann verwendet werden. ** Build ** checkinstall: `$ make`. Dh es gibt keine Datei mit dem Namen "configure" Knud Larsen vor 6 Jahren 1
@headkase Das war ein Tippfehler, ich habe tatsächlich `. / configure` versucht, wie von der Ausgabe angezeigt. Hashim vor 6 Jahren 0
@KnudLarsen Ich verwende ein 64-Bit-Windows-Betriebssystem, ja, aber ich verstehe den letzten Satz Ihres Kommentars nicht. Was sagst du hier? Hashim vor 6 Jahren 0

0 Antworten auf die Frage