|last updated: 2013-05-08|
Important notice: the most recent versions of the compiler (gcc 4.7.x) seem to be completely unable to create a working GEOS library (both 32 or 64 bit).
The build process is apparently succesful, but you'll soon discover that the resulting binary code is absolutely unstable and affected by many sudden crashes.|
On the other side the good old gcc 4.6.x produces rock solid and absolutely safe binaries. You are warned: using this old version seems to be an absolute requirement.
I strongly reccommend using rubenv gcc 4.6.3 64 bit which works in the nicest way.
It's not a cross compiler, and doesn't requires any --host directive at all.
In order to check the actual version you are using, you simply have to execute the following command: gcc --version
PostInstallation tasksStep #1: carefully check the C:\msys64\etc\fstab file; it must contain the following row: (this will automatically mount C:\MinGW64 as /mingw)
Step #2: a dangerous issue exists: the MinGW 64 own MSYS is someway broken (as I painfully discoverd by trial and error ...): the C:\msys64\bin\find.exe executable is badly missing.
Unhappily enough, Windows has its own FIND.EXE (and it's a completely different thing from the Linux find): this may cause several builds to misteriously fail ... but now you are well aware of this dangerous pitfall. You simply have to manually pick find.exe from the standard MinGW 32 / MSYS installation, then copying this executable file into C:\msys64\bin.
Learming to identify 32 bit and 64 bit exacutables
|32 bit binaries||
PE32 executable for MS Windows (console) Intel 80386 32-bit
PE32 executable for MS Windows (DLL) (console) Intel 80386 32-bit
|64 bit binaries||
PE32+ executable for MS Windows (console) Mono/.Net assembly
PE32+ executable for MS Windows (DLL) (console) Mono/.Net assembly
|near line 4417:|
host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'
host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'
host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'
echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
|< DEFAULT_INCLUDES = -I.|
|> DEFAULT_INCLUDES = -I. -I/usr/local/include|
|< libgeotiff_la_LDFLAGS = -version-info 3:0:1|
|> libgeotiff_la_LDFLAGS = -version-info 3:0:1 -no-undefined|
sh: ./tools/svn_repo_revision.sh: No such file or directory
make: *** [geos_svn_revision.h] Error 127
|echo "hello world"|
Warning: you are absolutely required to apply few manual patches into the libtool file immediately after executing ./configure:
|< extern int errcode(int sqlerrcode);|
|> extern int pg_errcode(int sqlerrcode);|
Configured wxWidgets 2.8.12 for `i686-pc-mingw32'|
Which GUI toolkit should wxWidgets use? msw
Should wxWidgets be compiled into single library? yes
Should wxWidgets be compiled in debug mode? no
Should wxWidgets be linked as a shared library? no
Should wxWidgets be compiled in Unicode mode? yes
What level of wxWidgets compatibility should be enabled?
wxWidgets 2.4 no
wxWidgets 2.6 yes
Which libraries should wxWidgets use?
|replace any occurrence of: info_ptr->height as: getHeight(info_ptr)|
|replace any occurrence of: info_ptr->width as: getWidth(info_ptr)|
|replace any occurrence of: info_ptr->bit_depth as: getBitDepth(info_ptr)|
|replace any occurrence of: info_ptr->color_type as: getColorType(info_ptr)|
|near line 108:|
|< FD = mkstemp(FoutTmpName); /* returns filedescriptor */|
|> FD = -1; /* mkstemp(FoutTmpName); */ /* returns filedescriptor */|
|last updated: 2013-03-01|