On 1/8/2018 4:40 PM, Richard Hipp wrote:
On 1/8/18, Richie Adler <[email protected]> wrote:

AFAIK MSYS has a version number in the directory.
At the very list you should probably check the gcc version with "gcc -v"


It works for me on Win7 running gcc 4.5.0 and on Win10 running gcc 5.3.0.


Curious about the new skins, I attempted to compile Fossil-24c2b99d on win7x64 with a current (as of today) MSYS2 using

$ gcc -v
  Using built-in specs.
  COLLECT_GCC=D:\msys64\mingw64\bin\gcc.exe

COLLECT_LTO_WRAPPER=D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/lto-wrapper.exe
  Target: x86_64-w64-mingw32
Configured with: ../gcc-7.2.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/x86_64-w64-mingw32/include --libexecdir=/mingw64/lib --enable-bootstrap --with-arch=x86-64 --with-tune=generic --enable-languages=c,lto,c++,objc,obj-c++,fortran,ada --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-time=yes --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-isl-version-check --enable-lto --enable-libgomp --disable-multilib --enable-checking=release --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev1, Built by MSYS2 project' --with-bugurl=https://sourceforge.net/projects/msys2 --with-gnu-as --with-gnu-ld
  Thread model: posix
  gcc version 7.2.0 (Rev1, Built by MSYS2 project)


I get a slew of errors for src/shell.c

Using the same setup, fossil-2.4 compiles successfully.

$ f version -v
  This is fossil version 2.4 [a0001dcf57] 2017-11-03 09:29:29 UTC
  Compiled on Nov 11 2017 20:48:11 using mingw32 (64-bit)
  Schema version 2015-01-24
  zlib 1.2.11, loaded 1.2.11
  hardened-SHA1 by Marc Stevens and Dan Shumow
  SSL (OpenSSL 1.1.0f  25 May 2017)
  FOSSIL_ENABLE_LEGACY_MV_RM
  FOSSIL_ENABLE_EXEC_REL_PATHS
  FOSSIL_ENABLE_TH1_DOCS
  FOSSIL_ENABLE_TH1_HOOKS
  TCL (Tcl 8.6.6, loaded TH_OK: 8.6.7)
  USE_TCL_STUBS
  FOSSIL_TCL_STUBS
  FOSSIL_ENABLE_TCL_PRIVATE_STUBS
  JSON (API 20120713)
  MBCS_COMMAND_LINE
  FOSSIL_STATIC_BUILD
  SQLite 3.21.0 2017-10-24 18:55:49 1a584e4999
  SQLITE_DEFAULT_FILE_FORMAT=4
  SQLITE_DEFAULT_WAL_SYNCHRONOUS=1
  SQLITE_ENABLE_DBSTAT_VTAB
  SQLITE_ENABLE_FTS3_PARENTHESIS
  SQLITE_ENABLE_FTS4
  SQLITE_ENABLE_FTS5
  SQLITE_ENABLE_JSON1
  SQLITE_ENABLE_LOCKING_STYLE=0
  SQLITE_ENABLE_STMTVTAB
  SQLITE_LIKE_DOESNT_MATCH_BLOBS
  SQLITE_MAX_EXPR_DEPTH=0
  SQLITE_OMIT_DECLTYPE
  SQLITE_OMIT_DEPRECATED
  SQLITE_OMIT_GET_TABLE
  SQLITE_OMIT_LOAD_EXTENSION
  SQLITE_OMIT_PROGRESS_CALLBACK
  SQLITE_OMIT_SHARED_CACHE
  SQLITE_THREADSAFE=0
  SQLITE_USE_ALLOCA


There are a ton of diffs for shell.c. The first that caught my eye was:

92a96,97
> #endif
> #if (!defined(_WIN32) && !defined(WIN32)) || defined(__MINGW_H)

FYI, for this setup the following are #defined by gcc referenced above
  _WIN32         => 1
  WIN32          => 1
  __MINGW_H      not #defined

I have attached the gcc output for shell.c -- I wish I knew how to eliminate gcc's "helpful" insertion of ascii escape codes into its error messages. It makes them almost unreadable when reading the typescript file. I've run it thru 'col' in an attempt to clean it up a bit but the vestiges remain. It should clean enough for you to decipher it though.

gcc -Wall -Wdeclaration-after-statement -Os -Lsrc/../compat/zlib 
-Isrc/../compat/zlib -Lsrc/../compat/openssl-1.1.0f 
-Isrc/../compat/openssl-1.1.0f/include -Lsrc/../compat/Tcl8.6.6srcdir/win 
-Isrc/../compat/Tcl8.6.6srcdir/generic -Isrc/../compat/Tcl8.6.6srcdir/win 
-DBROKEN_MINGW_CMDLINE=1 -DFOSSIL_ENABLE_SSL=1 -DFOSSIL_ENABLE_EXEC_REL_PATHS=1 
-DFOSSIL_ENABLE_LEGACY_MV_RM=1 -DFOSSIL_ENABLE_TH1_DOCS=1 
-DFOSSIL_ENABLE_TH1_HOOKS=1 -DFOSSIL_ENABLE_TCL=1 -DFOSSIL_ENABLE_TCL_STUBS=1 
-DUSE_TCL_STUBS -DFOSSIL_ENABLE_TCL_PRIVATE_STUBS=1 -DFOSSIL_ENABLE_JSON=1  -I. 
-Isrc -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 
-DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE= 
-DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access 
-Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen   -c 
src/shell.c -o wbld/shell.o
01mKsrc/shell.c:2074:0:mK 01;35mKwarning: mK"stat" redefined
 #  define stat _stat

In file included from 01mKsrc/shell.c:108:0mK:
01mKD:/msys64/mingw64/x86_64-w64-mingw32/include/sys/stat.h:279:0:mK 
01;36mKnote: mKthis is the location of the previous definition
 #define stat _stat64

01mKsrc/shell.c:2073:20:mK 01;35mKwarning: mK'01mKstruct TIMESPECmK' declared 
inside parameter list will not be visible outside of this definition or 
declaration
 #  define timespec 01;35mKTmKIMESPEC
                    01;35mK^mK
01mKsrc/shell.c:2073:20:mK 01;35mKwarning: mK'01mKstruct TIMESPECmK' declared 
inside parameter list will not be visible outside of this definition or 
declaration
 #  define timespec 01;35mKTmKIMESPEC
                    01;35mK^mK
01mKsrc/shell.c:2073:20:mK 01;35mKwarning: mK'01mKstruct TIMESPECmK' declared 
inside parameter list will not be visible outside of this definition or 
declaration
 #  define timespec 01;35mKTmKIMESPEC
                    01;35mK^mK
01mKsrc/shell.c:2073:20:mK 01;35mKwarning: mK'01mKstruct TIMESPECmK' declared 
inside parameter list will not be visible outside of this definition or 
declaration
 #  define timespec 01;35mKTmKIMESPEC
                    01;35mK^mK
01mKsrc/shell.c:2073:20:mK 01;35mKwarning: mK'01mKstruct TIMESPECmK' declared 
inside parameter list will not be visible outside of this definition or 
declaration
 #  define timespec 01;35mKTmKIMESPEC
                    01;35mK^mK
01mKsrc/shell.c:mK In function '01mKwritefileFuncmK':
01mKsrc/shell.c:2327:9:mK 01;35mKwarning: mKimplicit declaration of function 
'01mKS_ISLNKmK'; did you mean '01mKS_ISBLKmK'? 
[01;35mK-Wimplicit-function-declarationmK]
     if( 01;35mKS_ISLNKmK(mode) ){
         01;35mK^~~~~~~mK
         32mKS_ISBLKmK
01mKsrc/shell.c:mK At top level:
01mKsrc/shell.c:2346:3:mK 01;31mKerror: mKunknown type name '01mKDIRmK'
   01;31mKDIRmK *pDir;                 /* From opendir() */
   01;31mK^~~mK
01mKsrc/shell.c:mK In function '01mKfsdirResetCursormK':
01mKsrc/shell.c:2422:22:mK 01;35mKwarning: mKimplicit declaration of function 
'01mKclosedirmK'; did you mean '01mKclosemK'? 
[01;35mK-Wimplicit-function-declarationmK]
     if( pLvl->pDir ) 01;35mKclosedirmK(pLvl->pDir);
                      01;35mK^~~~~~~~mK
                      32mKclosemK
01mKsrc/shell.c:mK In function '01mKfsdirNextmK':
01mKsrc/shell.c:2484:18:mK 01;35mKwarning: mKimplicit declaration of function 
'01mKopendirmK'; did you mean '01mKopenmK'? 
[01;35mK-Wimplicit-function-declarationmK]
     pLvl->pDir = 01;35mKopendirmK(pLvl->zDir);
                  01;35mK^~~~~~~mK
                  32mKopenmK
01mKsrc/shell.c:2484:16:mK 01;35mKwarning: mKassignment makes pointer from 
integer without a cast [01;35mK-Wint-conversionmK]
     pLvl->pDir 01;35mK=mK opendir(pLvl->zDir);
                01;35mK^mK
01mKsrc/shell.c:2493:29:mK 01;35mKwarning: mKimplicit declaration of function 
'01mKreaddirmK'; did you mean '01mKreadmK'? 
[01;35mK-Wimplicit-function-declarationmK]
     struct dirent *pEntry = 01;35mKreaddirmK(pLvl->pDir);
                             01;35mK^~~~~~~mK
                             32mKreadmK
01mKsrc/shell.c:2493:29:mK 01;35mKwarning: mKinitialization makes pointer from 
integer without a cast [01;35mK-Wint-conversionmK]
01mKsrc/shell.c:2495:17:mK 01;31mKerror: mKdereferencing pointer to incomplete 
type '01mKstruct DIRENTmK'
       if( pEntry01;31mK->mKd_name[0]=='.' ){
                 01;31mK^~mK
make: *** [win/Makefile.mingw:2309: wbld/shell.o] Error 1

_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to