[GRASS-dev] Re: [OSGeo-Discuss] OSGeo4W maintenance activities

FYI
(ongoing discussion in the other list)

---------- Forwarded message ----------
From: “Jürgen E.” <jef@norbit.de>
Date: Feb 21, 2016 4:14 PM
Subject: Re: [OSGeo-Discuss] OSGeo4W maintenance activities
To: <discuss@lists.osgeo.org>
Cc:

Hi Markus,

On Sun, 21. Feb 2016 at 15:47:00 +0100, Markus Neteler wrote:

since I’m not familiar with compilation on Windows, could you briefly
indicate what’s needed / which efforts to compile GRASS GIS with MSVC rather
than mingw given the recent efforts on the 64bit packaging? Just to better
understand…

Not sure. I’d probably start with moving the build system to CMake. Like I
already did for just the GRASS libraries at some point in the past (some code
changes I submitted to make the libraries build with MSVC were also accepted
back then).

But moving all the modules there is probably a much bigger task and I’m also
not sure about the acceptance of this. :wink:

It might also be possible to integrate msvc into configure/make (at least I
think I’ve seen configures with MSVC stuff in them). Although you’d still need
a unix like shell, make and other tools from mingw/cygwin. But I never
explored that option (mainly just because the CMake approach went much better
with what I needed for QGIS).

But again GRASS works fine in OSGeo4W AFAICT (and as you know and that’s still
not much ;)) and hence I don’t see the big problem of mixing MinGW and MSVC
DLLs. It doesn’t add much to the mess of having different MSVC compilers and
runtimes around. IMHO that part of Rashad’s issue is just a CMake bug and not
a fundamental flaw in OSGeo4W.

Jürgen


Jürgen E. Fischer norBIT GmbH Tel. +49-4931-918175-31
Dipl.-Inf. (FH) Rheinstraße 13 Fax. +49-4931-918175-50
Software Engineer D-26506 Norden http://www.norbit.de
QGIS release manager (PSC) Germany IRC: jef on FreeNode


Discuss mailing list
Discuss@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/discuss

Hello Markus,

As this part related to GRASS, I am writing it here.

Moving to cmake is one thing. But I don’t know if that is blocking msvc build. Did anybody tried to build grass with msvc?

BTW, What will be your opinion on adding an cmake build system?. It can ofcourse co-exists with current auto-tools one.

···

On Sun, Feb 21, 2016 at 8:49 PM, Markus Neteler <neteler@osgeo.org> wrote:

FYI
(ongoing discussion in the other list)

---------- Forwarded message ----------
From: “Jürgen E.” <jef@norbit.de>
Date: Feb 21, 2016 4:14 PM
Subject: Re: [OSGeo-Discuss] OSGeo4W maintenance activities
To: <discuss@lists.osgeo.org>
Cc:

Hi Markus,

On Sun, 21. Feb 2016 at 15:47:00 +0100, Markus Neteler wrote:

since I’m not familiar with compilation on Windows, could you briefly
indicate what’s needed / which efforts to compile GRASS GIS with MSVC rather
than mingw given the recent efforts on the 64bit packaging? Just to better
understand…

Not sure. I’d probably start with moving the build system to CMake. Like I
already did for just the GRASS libraries at some point in the past (some code
changes I submitted to make the libraries build with MSVC were also accepted
back then).

But moving all the modules there is probably a much bigger task and I’m also
not sure about the acceptance of this. :wink:

It might also be possible to integrate msvc into configure/make (at least I
think I’ve seen configures with MSVC stuff in them). Although you’d still need
a unix like shell, make and other tools from mingw/cygwin. But I never
explored that option (mainly just because the CMake approach went much better
with what I needed for QGIS).

But again GRASS works fine in OSGeo4W AFAICT (and as you know and that’s still
not much ;)) and hence I don’t see the big problem of mixing MinGW and MSVC
DLLs. It doesn’t add much to the mess of having different MSVC compilers and
runtimes around. IMHO that part of Rashad’s issue is just a CMake bug and not
a fundamental flaw in OSGeo4W.

Jürgen


Jürgen E. Fischer norBIT GmbH Tel. +49-4931-918175-31
Dipl.-Inf. (FH) Rheinstraße 13 Fax. +49-4931-918175-50
Software Engineer D-26506 Norden http://www.norbit.de
QGIS release manager (PSC) Germany IRC: jef on FreeNode


Discuss mailing list
Discuss@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/discuss


grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Regards,
Rashad

On Sun, Feb 21, 2016 at 4:19 PM, Markus Neteler <neteler@osgeo.org> wrote:

FYI
(ongoing discussion in the other list)

---------- Forwarded message ----------
From: "Jürgen E." <jef@norbit.de>
Date: Feb 21, 2016 4:14 PM
Subject: Re: [OSGeo-Discuss] OSGeo4W maintenance activities
To: <discuss@lists.osgeo.org>
Cc:

Hi Markus,

On Sun, 21. Feb 2016 at 15:47:00 +0100, Markus Neteler wrote:

since I'm not familiar with compilation on Windows, could you briefly
indicate what's needed / which efforts to compile GRASS GIS with MSVC
rather
than mingw given the recent efforts on the 64bit packaging? Just to
better
understand...

Not sure. I'd probably start with moving the build system to CMake. Like I
already did for just the GRASS libraries at some point in the past (some
code
changes I submitted to make the libraries build with MSVC were also accepted
back then).

But moving all the modules there is probably a much bigger task and I'm also
not sure about the acceptance of this. :wink:

It might also be possible to integrate msvc into configure/make (at least I
think I've seen configures with MSVC stuff in them). Although you'd still
need
a unix like shell, make and other tools from mingw/cygwin. But I never
explored that option (mainly just because the CMake approach went much
better
with what I needed for QGIS).

But again GRASS works fine in OSGeo4W AFAICT (and as you know and that's
still
not much ;)) and hence I don't see the big problem of mixing MinGW and MSVC
DLLs.

For the GRASS provider/plugin in QGIS (and any application using GRASS
libs) it is really painful. Each has different size of off_t and
various hacks must be used to get it working, for example:
https://github.com/qgis/QGIS/blob/884c3ba8d/src/providers/grass/qgsgrassprovider.cpp#L101

Also, it is not possible to debug GRASS lib built with MinGW in an
application built with MSVC.

Radim

It doesn't add much to the mess of having different MSVC compilers
and
runtimes around. IMHO that part of Rashad's issue is just a CMake bug and
not
a fundamental flaw in OSGeo4W.

Jürgen

--
Jürgen E. Fischer norBIT GmbH Tel. +49-4931-918175-31
Dipl.-Inf. (FH) Rheinstraße 13 Fax. +49-4931-918175-50
Software Engineer D-26506 Norden http://www.norbit.de
QGIS release manager (PSC) Germany IRC: jef on FreeNode

_______________________________________________
Discuss mailing list
Discuss@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/discuss

_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

On Sun, Feb 21, 2016 at 5:15 PM, Rashad Kanavath
<mohammedrashadkm@gmail.com> wrote:

Hello Markus,

As this part related to GRASS, I am writing it here.

Moving to cmake is one thing. But I don't know if that is blocking msvc
build. Did anybody tried to build grass with msvc?

Yes I did, the libs only.

I started with https://github.com/swig/cccl but that was failing
because cl.exe was givin deprecation warning.....
In the end, I managed to compile libs with command (manually changed Makefile):

cl "-nologo" "-LDd" -Zi "-Fe$@" $(C_SOURCES) $(ALL_CFLAGS) $(ALL_LIBS)
"-link" -DEBUG -OPT:NOREF -DEF:$(LIB_DEF)
"-LIBPATH:c:/users/radim/devel/grass-7.0.0-msvc/dist.i686-pc-mingw32/lib"
"-LIBPATH:c:/users/radim/devel/grass-7.0.0-msvc/dist.i686-pc-mingw32/lib"
"-LIBPATH:/c/OSGeo4W/lib" "-LIBPATH:/c/OSGeo4W/apps/msys/lib"
"-LIBPATH:/c/users/radim/devel/grass-7.0.0-msvc/mswindows/osgeo4w/lib/"
"-LIBPATH:C:/lib/" "-LIBPATH:C:/Program Files (x86)/Microsoft Visual
Studio 10.0/VC/lib/" "-LIBPATH:C:/Program Files (x86)/Microsoft
SDKs/Windows/v7.0A/lib/"

+ some manual hacks like copy proj_i.lib c to proj.lib, comment
lgamma(), get dirent.h, replace .o by .obj in Grass.make and so on.

I think that adding support for MSVC to current GRASS build system is
possible, cl.exe is C compiler.

Radim

BTW, What will be your opinion on adding an cmake build system?. It can
ofcourse co-exists with current auto-tools one.

On Sun, Feb 21, 2016 at 8:49 PM, Markus Neteler <neteler@osgeo.org> wrote:

FYI
(ongoing discussion in the other list)

---------- Forwarded message ----------
From: "Jürgen E." <jef@norbit.de>
Date: Feb 21, 2016 4:14 PM
Subject: Re: [OSGeo-Discuss] OSGeo4W maintenance activities
To: <discuss@lists.osgeo.org>
Cc:

Hi Markus,

On Sun, 21. Feb 2016 at 15:47:00 +0100, Markus Neteler wrote:
> since I'm not familiar with compilation on Windows, could you briefly
> indicate what's needed / which efforts to compile GRASS GIS with MSVC
> rather
> than mingw given the recent efforts on the 64bit packaging? Just to
> better
> understand...

Not sure. I'd probably start with moving the build system to CMake. Like
I
already did for just the GRASS libraries at some point in the past (some
code
changes I submitted to make the libraries build with MSVC were also
accepted
back then).

But moving all the modules there is probably a much bigger task and I'm
also
not sure about the acceptance of this. :wink:

It might also be possible to integrate msvc into configure/make (at least
I
think I've seen configures with MSVC stuff in them). Although you'd still
need
a unix like shell, make and other tools from mingw/cygwin. But I never
explored that option (mainly just because the CMake approach went much
better
with what I needed for QGIS).

But again GRASS works fine in OSGeo4W AFAICT (and as you know and that's
still
not much ;)) and hence I don't see the big problem of mixing MinGW and
MSVC
DLLs. It doesn't add much to the mess of having different MSVC compilers
and
runtimes around. IMHO that part of Rashad's issue is just a CMake bug
and not
a fundamental flaw in OSGeo4W.

Jürgen

--
Jürgen E. Fischer norBIT GmbH Tel.
+49-4931-918175-31
Dipl.-Inf. (FH) Rheinstraße 13 Fax.
+49-4931-918175-50
Software Engineer D-26506 Norden
http://www.norbit.de
QGIS release manager (PSC) Germany IRC: jef on
FreeNode

_______________________________________________
Discuss mailing list
Discuss@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/discuss

_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

--
Regards,
   Rashad

_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Hello Radim,

Thanks for information.

···

On Wed, Feb 24, 2016 at 2:48 PM, Radim Blazek <radim.blazek@gmail.com> wrote:

On Sun, Feb 21, 2016 at 5:15 PM, Rashad Kanavath
<mohammedrashadkm@gmail.com> wrote:

Hello Markus,

As this part related to GRASS, I am writing it here.

Moving to cmake is one thing. But I don’t know if that is blocking msvc
build. Did anybody tried to build grass with msvc?

Yes I did, the libs only.

I started with https://github.com/swig/cccl but that was failing
because cl.exe was givin deprecation warning…
In the end, I managed to compile libs with command (manually changed Makefile):

cl “-nologo” “-LDd” -Zi “-Fe$@” $(C_SOURCES) $(ALL_CFLAGS) $(ALL_LIBS)
“-link” -DEBUG -OPT:NOREF -DEF:$(LIB_DEF)
“-LIBPATH:c:/users/radim/devel/grass-7.0.0-msvc/dist.i686-pc-mingw32/lib”
“-LIBPATH:c:/users/radim/devel/grass-7.0.0-msvc/dist.i686-pc-mingw32/lib”
“-LIBPATH:/c/OSGeo4W/lib” “-LIBPATH:/c/OSGeo4W/apps/msys/lib”
“-LIBPATH:/c/users/radim/devel/grass-7.0.0-msvc/mswindows/osgeo4w/lib/”
“-LIBPATH:C:/lib/” “-LIBPATH:C:/Program Files (x86)/Microsoft Visual
Studio 10.0/VC/lib/” “-LIBPATH:C:/Program Files (x86)/Microsoft
SDKs/Windows/v7.0A/lib/”

  • some manual hacks like copy proj_i.lib c to proj.lib, comment
    lgamma(), get dirent.h, replace .o by .obj in Grass.make and so on.

I think that adding support for MSVC to current GRASS build system is
possible, cl.exe is C compiler.

Some of these seems easy to fix when moving to cmake. While there might be trenches…

Anwyay I will give a stab on cmake with grass.

Radim

BTW, What will be your opinion on adding an cmake build system?. It can
ofcourse co-exists with current auto-tools one.

On Sun, Feb 21, 2016 at 8:49 PM, Markus Neteler <neteler@osgeo.org> wrote:

FYI
(ongoing discussion in the other list)

---------- Forwarded message ----------
From: “Jürgen E.” <jef@norbit.de>
Date: Feb 21, 2016 4:14 PM
Subject: Re: [OSGeo-Discuss] OSGeo4W maintenance activities
To: <discuss@lists.osgeo.org>
Cc:

Hi Markus,

On Sun, 21. Feb 2016 at 15:47:00 +0100, Markus Neteler wrote:

since I’m not familiar with compilation on Windows, could you briefly
indicate what’s needed / which efforts to compile GRASS GIS with MSVC
rather
than mingw given the recent efforts on the 64bit packaging? Just to
better
understand…

Not sure. I’d probably start with moving the build system to CMake. Like
I
already did for just the GRASS libraries at some point in the past (some
code
changes I submitted to make the libraries build with MSVC were also
accepted
back then).

But moving all the modules there is probably a much bigger task and I’m
also
not sure about the acceptance of this. :wink:

It might also be possible to integrate msvc into configure/make (at least
I
think I’ve seen configures with MSVC stuff in them). Although you’d still
need
a unix like shell, make and other tools from mingw/cygwin. But I never
explored that option (mainly just because the CMake approach went much
better
with what I needed for QGIS).

But again GRASS works fine in OSGeo4W AFAICT (and as you know and that’s
still
not much ;)) and hence I don’t see the big problem of mixing MinGW and
MSVC
DLLs. It doesn’t add much to the mess of having different MSVC compilers
and
runtimes around. IMHO that part of Rashad’s issue is just a CMake bug
and not
a fundamental flaw in OSGeo4W.

Jürgen


Jürgen E. Fischer norBIT GmbH Tel.
+49-4931-918175-31
Dipl.-Inf. (FH) Rheinstraße 13 Fax.
+49-4931-918175-50
Software Engineer D-26506 Norden
http://www.norbit.de
QGIS release manager (PSC) Germany IRC: jef on
FreeNode


Discuss mailing list
Discuss@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/discuss


grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Regards,
Rashad


grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Regards,
Rashad