[GRASS-dev] New attempt to update GRASS for Mac

Michael Barton Michael.Barton at asu.edu
Wed Jul 19 09:42:58 PDT 2017


Thanks Rainer,

If we can make GRASS install as much like a normal app as possible, it will be accessible to more users. So that has been my goal. I will probably drop back from the added things I was packaging previously (e.g., LAS support) to just get a new system working if it can be done.

My group (CoMSES Net) is looking into Docker as a means of more reproducible research in modeling science. Initial tests have gone OK, but show that doing software with a GUI is considerably more complicated than doing code that just runs from the command line. It might ultimately be worthwhile to package GRASS as a Docker image. But then people would have to install and deal with Docker to run it.

Michael
____________________
C. Michael Barton
Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Head, Graduate Faculty in Complex Adaptive Systems Science
Arizona State University

voice:  480-965-6262 (SHESC), 480-965-8130/727-9746 (CSDC)
fax: 480-965-7671 (SHESC),  480-727-0709 (CSDC)
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu















On Jul 19, 2017, at 12:28 AM, Rainer Krug <rainer_krug at icloud.com<mailto:rainer_krug at icloud.com>> wrote:

Dear Michael,

On 18 Jul 2017, at 22:26, Michael Barton <Michael.Barton at asu.edu<mailto:Michael.Barton at asu.edu>> wrote:

Yesterday, I sent this message off-list to Anna and Vaclav. Anna asked if I could repost to the dev list. So I'm doing so here.

I have some time (I hope) on an upcoming research trip to NCAR, along with some promised help of software engineers at the CSDMS NSF facility. So I'm going to try again to come up with a new GRASS compiling and binary creation protocol.

I think this will involve the following components:

1. Switch from the outdated PackageMaker.app to the current way of making Mac packages. This requires changes to the current binary bundling scripts.

2. Bundle all dependencies (including the current, separate frameworks) into the new package distribution so that everything needed is in the grass7.app Can this be done with binary "framework" installations of dependencies or is it necessary to compile all from scratch to do this?

3. As part of 2, make sure that all dependencies are compiled outside of the /usr folders on the Mac to avoid SIP conflicts

4. To accomplish #2 and #3 for wxPython, we probably need to switch to wxPython 3 (or the new wxPython Phoenix if it is working correctly). This would also permit compiling ALL GRASS 64 bit, alleviating additional issues.

5. Because of recent change to GRASS GUI and a bug in Mac system Python 2.7.10, it may be necessary to also bundle an updated Python (2.7.11 or higher) with the new grass7.app. This (and #2) would make the installation package significantly larger, but would avoid mismatched versions of Python and wxPython. It would also avoid potential conflicts between Mac system Python and other versions a user might have installed (e.g., with Anaconda).

Last fall, I was stuck on gettext. I will try again with bundline it, but this may not be solvable by me because it involves a hard-coded path in the build files that point to gettext files in /usr/local and no way to send an alternate path (e.g., a configure argument like '--with_gettext_libs='. This will need to be fixed by whoever manages the build system. Otherwise, I'll have to drop internationalization support for the Mac, which would be a shame.

An additional thing to note. While it may be possible for some to get GRASS compiled on the Mac using Homebrew, Macports, etc., the goal here is to create a normal DMG binary that any Mac user can download and install, without having to compile GRASS--or to install Linux like package managers first.


This sounds like a good plan and would be a valuable addition to the home-brew / Macports way of installing grass.

Just to clarify one point concerning homebrew: homebrew aims at providing pre-compiled binaries (so called “bottles”) which are used normally, and the normal installation of grass on home-brew on sierra does not require grass to be compiled locally.

I see all three ways (actually four - docker should be included as well!) of installing and using grass as equivalent and geared for different users / usage scenarios / workflows. So each of them has it’s merits and should be provided.

If anyone has experience in creating Mac DMGs, with bundled dependencies, I'd love to hear from you. Any other suggestions are welcome too.


Unfortunately no experiences, but I assume you know, you can Parallels Light is available for free, and allows you to run linux and Mac virtual machines on a mac - perfect for testing?

Cheers,

Rainer



Cheers
Michael
____________________
C. Michael Barton
Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Head, Graduate Faculty in Complex Adaptive Systems Science
Arizona State University

voice:  480-965-6262 (SHESC), 480-965-8130/727-9746 (CSDC)
fax: 480-965-7671 (SHESC),  480-727-0709 (CSDC)
www: http://www.public.asu.edu/~cmbarton<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.public.asu.edu_-7Ecmbarton&d=DwMFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=2W5kwjhkEqhQ6GGUWAFsLdol8JqaifLaU252rqJEbPo&s=4cryCxH9El2j77EIc962sJOydM7JOZnIXo5AS6q4Ygs&e=>, http://csdc.asu.edu<https://urldefense.proofpoint.com/v2/url?u=http-3A__csdc.asu.edu_&d=DwMFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=2W5kwjhkEqhQ6GGUWAFsLdol8JqaifLaU252rqJEbPo&s=ufUECT2B8HeD8MbgcPHBxNI0pkcDi46loxdpk2T5eaU&e=>















_______________________________________________
grass-dev mailing list
grass-dev at lists.osgeo.org<mailto:grass-dev at lists.osgeo.org>
https://lists.osgeo.org/mailman/listinfo/grass-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20170719/d25e61dc/attachment-0001.html>


More information about the grass-dev mailing list