[GRASS-dev] Error compiling GRASS 7 on Windows - Unknown platform i686-pc-msys

Hi all,

I’ve been trying to compile GRASS 7 (latest svn) on Windows, following the instructions at http://trac.osgeo.org/grass/wiki/CompileOnWindows. When running the package.sh script from within MSYS I got nothing displayed on a screen, waited only a short time, and then got back to the command prompt. I assumed it hadn’t work, and found the package.log file (see below). It seems that it can’t deal with a platform of i686-pc-msys.

Does anyone know how to fix this? Have I got some configuration wrong somewhere?

Mon Dec 3 16:01:30 GMTST 2012: STARTING remove old logs
Mon Dec 3 16:01:30 GMTST 2012: FINISHED remove old logs AFTER 0s
Mon Dec 3 16:01:30 GMTST 2012: STARTING configure
checking host system type… i686-pc-msys
checking for gcc… gcc
checking whether the C compiler (gcc ) works… yes
checking whether the C compiler (gcc ) is a cross-compiler… no
checking whether we are using GNU C… yes
checking whether gcc accepts -g… yes
checking for Cygwin environment… no
checking for mingw32 environment… yes
checking for executable suffix… .exe
checking for full floating-point support… yes
checking for pwd… /bin/pwd
checking for source directory… /osgeo4w/usr/src/grass_trunk
checking for build directory… /osgeo4w/usr/src/grass_trunk
checking for svnversion… no
checking for MacOSX App… no
checking for MacOSX architectures… no
checking for MacOSX SDK… no
checking how to build libraries… shared
configure: error: Unknown platform: i686-pc-msys

Cheers,

Robin

Does anyone know how to fix this? Have I got some configuration wrong

somewhere?

it's maybe an osgeo4w-mingw/msys-issue.

try to add --host i686-pc-mingw32 in

C:\OSGeo4W\usr\src\grass_trunk\mswindows\osgeo4w\package.sh

  ./configure --host i686-pc-mingw32 \
    --with-libs="$OSGEO4W_ROOT_MSYS/lib $PWD/mswindows/osgeo4w/lib" \
    --with-includes=$OSGEO4W_ROOT_MSYS/include \
    --libexecdir=$OSGEO4W_ROOT_MSYS/bin \

-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Error-compiling-GRASS-7-on-Windows-Unknown-platform-i686-pc-msys-tp5020437p5020442.html
Sent from the Grass - Dev mailing list archive at Nabble.com.

Robin Wilson wrote:

I've been trying to compile GRASS 7 (latest svn) on Windows,
following the instructions at
http://trac.osgeo.org/grass/wiki/CompileOnWindows. When running the
package.sh script from within MSYS I got nothing displayed on a
screen, waited only a short time, and then got back to the command
prompt. I assumed it hadn't work, and found the package.log file
(see below). It seems that it can't deal with a platform of
i686-pc-msys.

Does anyone know how to fix this? Have I got some configuration
wrong somewhere?

It appears that "uname -s" refers to "msys" rather than "mingw".

I've made the following change in r54167:

--- aclocal.m4 (revision 54165)
+++ aclocal.m4 (working copy)
@@ -506,6 +506,7 @@
       LD_LIBRARY_PATH_VAR="PATH"
       ;;
         *-pc-mingw32)
+ *-pc-msys)
             SHLIB_LD_LIBS='${LIBS}'
             SHLIB_SUFFIX=".dll"
             SHLIB_LD="${CC} -shared"

--
Glynn Clements <glynn@gclements.plus.com>

It appears that "uname -s" refers to "msys" rather than "mingw".

I've made the following change in r54167:

now I get:

Mon Dec 3 19:21:37 GMT 2012: STARTING remove old logs
Mon Dec 3 19:21:38 GMT 2012: FINISHED remove old logs AFTER 1s
Mon Dec 3 19:21:38 GMT 2012: STARTING configure
checking host system type... i686-pc-msys
checking for gcc... gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for Cygwin environment... no
checking for mingw32 environment... yes
checking for executable suffix... .exe
checking for full floating-point support... yes
checking for pwd... /bin/pwd
checking for source directory... /osgeo4w/usr/src/grass_trunk
checking for build directory... /osgeo4w/usr/src/grass_trunk
checking for svnversion... no
checking for MacOSX App... no
checking for MacOSX architectures... no
checking for MacOSX SDK... no
checking how to build libraries... shared
./configure: line 1507: syntax error near unexpected token `)'
./configure: line 1507: ` *-pc-msys)'

-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Error-compiling-GRASS-7-on-Windows-Unknown-platform-i686-pc-msys-tp5020437p5020455.html
Sent from the Grass - Dev mailing list archive at Nabble.com.

On Mon, Dec 3, 2012 at 8:23 PM, Helmut Kudrnovsky <hellik@web.de> wrote:

It appears that "uname -s" refers to "msys" rather than "mingw".

I've made the following change in r54167:

now I get:

Mon Dec 3 19:21:37 GMT 2012: STARTING remove old logs
Mon Dec 3 19:21:38 GMT 2012: FINISHED remove old logs AFTER 1s
Mon Dec 3 19:21:38 GMT 2012: STARTING configure
checking host system type... i686-pc-msys
checking for gcc... gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for Cygwin environment... no
checking for mingw32 environment... yes
checking for executable suffix... .exe
checking for full floating-point support... yes
checking for pwd... /bin/pwd
checking for source directory... /osgeo4w/usr/src/grass_trunk
checking for build directory... /osgeo4w/usr/src/grass_trunk
checking for svnversion... no
checking for MacOSX App... no
checking for MacOSX architectures... no
checking for MacOSX SDK... no
checking how to build libraries... shared
./configure: line 1507: syntax error near unexpected token `)'
./configure: line 1507: ` *-pc-msys)'

The case statement got broken in that change.
Fixed (or workaround) in r54175.

Markus

Does anyone know how to fix this? Have I got some configuration wrong

somewhere?

it's maybe an osgeo4w-mingw/msys-issue.

try to add --host i686-pc-mingw32 in

C:\OSGeo4W\usr\src\grass_trunk\mswindows\osgeo4w\package.sh

  ./configure --host i686-pc-mingw32 \
    --with-libs="$OSGEO4W_ROOT_MSYS/lib $PWD/mswindows/osgeo4w/lib" \
    --with-includes=$OSGEO4W_ROOT_MSYS/include \
    --libexecdir=$OSGEO4W_ROOT_MSYS/bin \

I've added this and now get the following output in the package.log file:

Tue Dec 4 09:27:47 GMTST 2012: STARTING remove old logs
Tue Dec 4 09:27:47 GMTST 2012: FINISHED remove old logs AFTER 0s
Tue Dec 4 09:27:47 GMTST 2012: STARTING configure
checking host system type... i686-pc-mingw32
checking for gcc... gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... rm: cannot lstat `conftest.exe':
Permission denied
yes
checking for Cygwin environment... rm: cannot lstat `conftest.exe':
Permission denied
rm: cannot lstat `conftest.exe': Permission denied
rm: cannot lstat `conftest.exe': Permission denied
no
checking for mingw32 environment... rm: cannot lstat `conftest.exe':
Permission denied
rm: cannot lstat `conftest.exe': Permission denied
rm: cannot lstat `conftest.exe': Permission denied
yes
checking for executable suffix... .exe
checking for full floating-point support... rm: cannot lstat
`conftest.exe': Permission denied
no
checking for full floating-point support with -mieee... rm: cannot lstat
`conftest.exe': Permission denied
no
configure: warning: *** Incomplete floating-point support.
rm: cannot lstat `conftest.exe': Permission denied
rm: cannot lstat `conftest.exe': Permission denied
checking for pwd... /bin/pwd
checking for source directory... /osgeo4w/usr/src/grass_trunk
checking for build directory... /osgeo4w/usr/src/grass_trunk
checking for svnversion... no
checking for MacOSX App... no
checking for MacOSX architectures... no
checking for MacOSX SDK... no
checking how to build libraries... shared
checking for additional include dirs... /c/OSGeo4W/include
checking for additional library dirs... /c/OSGeo4W/lib
/osgeo4w/usr/src/grass_trunk/mswindows/osgeo4w/lib
checking for a BSD compatible install... /bin/install -c
checking for flex... flex
checking for yywrap in -lfl... no
checking for bison... bison -y
checking for ranlib... ranlib
checking for ar... ar
checking for env... env
checking for perl... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for limits.h... yes
checking for termio.h... no
checking for termios.h... no
checking for unistd.h... yes
checking for values.h... yes
checking for f2c.h... no
checking for g2c.h... no
checking for sys/ioctl.h... no
checking for sys/mtio.h... no
checking for sys/resource.h... no
checking for sys/time.h... yes
checking for sys/timeb.h... yes
checking for sys/types.h... yes
checking for sys/utsname.h... no
checking for libintl.h... no
checking for iconv.h... yes
checking for langinfo.h... no
checking whether time.h and sys/time.h may both be included... yes
checking for off_t... yes
checking for uid_t in sys/types.h... no
checking return type of signal handlers... void
checking for Cygwin environment... no
checking for ftime... yes
checking for gethostname... no
checking for gettimeofday... yes
checking for lseek... yes
checking for nice... no
checking for time... yes
checking for uname... no
checking for seteuid... no
checking for setpriority... no
checking for setreuid... no
checking for setruid... no
checking for drand48... no
checking for putenv... yes
checking for setenv... no
checking for nanosleep... no
checking whether setpgrp takes no argument... yes
checking for long long int... yes
checking for W11... no
checking for X... disabled
checking for library containing cuserid... no
checking for asprintf... no
checking for atan... yes
checking for dlsym... no
checking for dlsym in -ldl... no
checking for iconv... no
checking for iconv in -liconv... no
checking for iconv in -lgiconv... no
checking for libiconv... no
checking for libiconv in -liconv... yes
checking for socket... no
checking for socket in -lsocket... no
configure: warning: *** Unable to locate socket() function.
checking for location of zlib includes...
checking for zlib.h... yes
checking for location of zlib library...
checking for deflate in -lz... yes
checking for location of External PROJ.4 includes...
checking for proj_api.h... yes
checking External PROJ.4 version... 480
checking for location of External PROJ.4 library...
checking for pj_get_def in -lproj... yes
checking for location of External PROJ.4 data files... /c/OSGeo4W/share/proj
checking for /c/OSGeo4W/share/proj/epsg... yes
checking for nad2bin... /c/OSGeo4W/bin/nad2bin
checking whether to use regex... yes
checking for location of regex includes...
checking for regex.h... no
configure: error: *** Unable to locate regex includes.

It looks like there are some errors finding things like conftest.exe early
on, and then an error about regexps.

Any ideas?

-----
best regards
Helmut
--
View this message in context:
http://osgeo-org.1560.n6.nabble.com/Error-compiling-GRASS-7-on-Windows-Unknown-platform-i686-pc-msys-tp5020437p5020442.html
Sent from the Grass - Dev mailing list archive at Nabble.com.
_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Glynn Clements wrote:

I've made the following change in r54167:

         *-pc-mingw32)
+ *-pc-msys)

Of course, this should have been:

         *-pc-mingw32 | *-pc-msys)

--
Glynn Clements <glynn@gclements.plus.com>

Glynn Clements wrote:

I've made the following change in r54167:

         *-pc-mingw32)
+ *-pc-msys)

Of course, this should have been:

         *-pc-mingw32 | *-pc-msys)

With this change I still get the original error: Unknown platform
i686-pc-msys.

Cheers,

Robin

--
Glynn Clements <glynn@gclements.plus.com>

lists@rtwilson.com wrote:

Tue Dec 4 09:27:47 GMTST 2012: STARTING remove old logs
Tue Dec 4 09:27:47 GMTST 2012: FINISHED remove old logs AFTER 0s
Tue Dec 4 09:27:47 GMTST 2012: STARTING configure
checking host system type... i686-pc-mingw32
checking for gcc... gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... rm: cannot lstat `conftest.exe':
Permission denied
yes

This suggests a problem with the build environment.

conftest.exe is the default name for any test programs which the
configure script generates.

You should examine the config.log file for related error messages.

--
Glynn Clements <glynn@gclements.plus.com>