[GRASS-user] [GRASS-dev] Grass on MacOS (Ken Mankoff)

Michael Barton Michael.Barton at asu.edu
Tue Jan 16 20:37:42 PST 2018


Hi Helena,

I am very glad that it works for you so easily. A HUGE thanks is owed to Eric Hutton of the Community Surface Dynamics Modeling System (CSDMS), an NSF facility and scientific network for modeling in the earth sciences. It was Eric's idea to try this through Anaconda. He provided guidance and I worked though a lot of testing it as an Anaconda build last summer, but was unable to get it to a point where GRASS could reliably be compiled and then distributed. Over the last couple months, Eric has worked out how to solve those problems, including making a launchable app and packaging it all in a dmg. There is a bit of fine tuning left to do in the workflow, but it is essentially distributable now--making it the first time I've been able to create a stable and easily installable binary in a year and a half.

Parallel to this, Eric proposes (and has worked out the protocol) of also making GRASS available as an Anaconda package. He has created an Anaconda 'recipe' to do this. After getting the app/dmg distributed, I will follow his lead to test how this works as an alternative for those who use Anaconda for Python.

This new build has a couple of characteristics quite different from previous Mac versions. Most importantly, all needed dependencies are bundled inside the app. This makes for a bigger app, but hopefully eliminates any conflicts among dependency versions. No more separately installed "frameworks". No more conflicts if you (or a program) install another version of Python or wxPython somewhere. And hopefully, no more issues with Apple's 'system integrity protection' (SIP).

This test version does not include gettext for internationalization or libLAS. I wanted to test it as we've been developing the workflow, without adding anything else until I can confirm that it works. However, I think it will be easy to include gettext because there already is an Anaconda version available. LiDAR support may be trickier. I have previously compiled libLAS. I think it may be possible to work out how to link and bundle it in this Anaconda version. That said, there seems to be work in the dev team for substituting PDAL as a LiDAR support library, and Anaconda already supports PDAL. So if we can substitute PDAL functionality for libLAS functionality, we can do it all within an Anaconda environment.

This is also a full 64 bit version of GRASS. No more need to compile it dual architecture 32/64 bit. This solves a number of compiling and running issues, and means that the GUI now must run in wxPython 3 and above (still Python 2.7). There are several GUI bugs that show up in switching from wxPython 2.8 to 3+. I've created tickets on the 3 I know of. The most annoying 2 of these should be pretty easy to solve for the people who are actively managing the GUI (the menu button bar does not properly revert back to 2D buttons after displaying 3D, and a custom pull-down list control does not recognize mouse clicks). I don't know if the 3rd one is easy or difficult to solve (the interactive supervised classification module crashes GRASS).

Please feel free to distribute and get back in touch with me and Eric if you run into any issues.

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, http://csdc.asu.edu















On Jan 16, 2018, at 6:53 PM, Helena Mitasova <hmitaso at ncsu.edu<mailto:hmitaso at ncsu.edu>> wrote:

Michael,

thank you for the dmg file - great news - I was able to get GRASS running on my new laptop in less than 10 minutes including download. On first double click it refused to open that it is not verfied but it allowed me to open it by clicking on it and selecting Open in the menu ( I remebered that trick from the past).

I noticed that it does not have r.in.lidar (I am aware of the issue) but nviz and map swipe runs, g.gui.animation  has a problem. Anyway it is fantastic to have GRASS Mac binary back - thank you all for the effort,

Helena


On Jan 16, 2018, at 6:08 PM, Michael Barton <Michael.Barton at asu.edu<mailto:Michael.Barton at asu.edu>> wrote:

Hi Eric,

I just started from scratch and compiled GRASS under Anaconda, created an app, and created a dmg. It runs with a double click. This is great!! Tonight, I will test on my laptop at home with SIP turned on. Fingers crossed.

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=dkeB-ZwEUnUzUPDg3GviAwO4UuwwuVgxucWgLe6F9qk&s=1w-MJ9w4Erk8BK7WYjb276z_sPjXFTdZ55vhijfKYts&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=dkeB-ZwEUnUzUPDg3GviAwO4UuwwuVgxucWgLe6F9qk&s=u8Mnc23Rg0THY5G7BvTF92f2I2ab-51FFzdA-_LYSNk&e=>















On Jan 15, 2018, at 10:22 PM, Eric Hutton <hutton.eric at gmail.com<mailto:hutton.eric at gmail.com>> wrote:

Hi Michael

That's great!

I included those two extra shell scripts as they were used with a previous version of grass. They are called in the Grass.sh script. I don't really know what they do, maybe they are no longer necessary.

To be honest, I'm not sure how I got the size down so much. After installing grass into the app, I ran "conda clean --all" and manually removed everything under the Contents/Resources/pkgs folder - but that's what I had always been doing (I think, anyway).

I've added the updated scripts to the GitHub repo. I think that now has everything I was working with created the app that's now working for you.

Eric


On Mon, Jan 15, 2018 at 9:35 PM Michael Barton <Michael.Barton at asu.edu<mailto:Michael.Barton at asu.edu>> wrote:
Eric,

I wrote you on this but apparently it never was sent.

I tested your new app and it works like a charm. Opens with a double click and no problems. There are a couple extra shell scripts in ../Contents/MacOS/ that don't seem to be called by anything. Or am I just not seeing it? I will try inserting the new start up scripts into my own build tomorrow and see if it works the same.

How did you get the size down so much? I got it close last week by removing the pkg folder, env folder, doc folder, and then some selective items in bin. But I'm hoping your have a more systematic list of what can be removed.

This looks like exactly what is needed. Hopefully I can package it as you did and get it posted to test by the end of the week.

Thanks again
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<tel:(480)%20965-6262> (SHESC), 480-965-8130<tel:(480)%20965-8130>/727-9746 (CSDC)
fax: 480-965-7671<tel:(480)%20965-7671> (SHESC),  480-727-0709<tel:(480)%20727-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=bZO0cwfnfukYmqi5yUY-XWAS-FM82fSNuA5sgMVg_6k&s=d-wHxIaPaQdDW6cxn3R8zKtBvdihUlHng4s9IUsNqmI&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=bZO0cwfnfukYmqi5yUY-XWAS-FM82fSNuA5sgMVg_6k&s=bXpN34ZGq_LF97BNf4YUyBxSRKXyz_I7U6DU5FHU27I&e=>














On Jan 14, 2018, at 3:23 PM, Eric Hutton <hutton.eric at gmail.com<mailto:hutton.eric at gmail.com>> wrote:

Hi Michael

Thanks for your earlier clarification about how grass runs (I was missing a key point!). I think I have a solution now. Basically, the Grass72.app/Contents/MacOS/Grass script now opens up a terminal and, within that terminal, executes the startup script (the one we were using before, which is now Grass.sh).

You can see what I mean here:

    https://github.com/mcflugen/grass-conda-build/tree/master/osx/Grass72.app/Contents/MacOS<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_mcflugen_grass-2Dconda-2Dbuild_tree_master_osx_Grass72.app_Contents_MacOS&d=DwMFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=XA6yReZT2BoAaNeg126zooD8EtmwRkQ-7rwLzxODg7I&s=QrgVzZR0j3uDdl8IY0RGC58H9UUyvn6xgvsVYTYozm8&e=>

I'll start to make a new app but the one I have seems to be working now (I've been using the NC data you sent me).

Eric

On Sun, Jan 14, 2018 at 1:31 PM Michael Barton <Michael.Barton at asu.edu<mailto:Michael.Barton at asu.edu>> wrote:
Ken & Co.

You might find this of interest.

I've been working off and on for the past several month to find a new way to compile and distribute GRASS for Mac with all dependencies created outside the Mac system folders and bundled with it. The goal is to eliminate the SIP problem and the potential for conflicts with different versions of dependencies/frameworks/python/wxpython.

With a lot of help from colleague Eric Hutton (Community Surface Dynamics Modeling System), we are very close to having a reproducible and distributable build of GRASS under Anaconda. Our goal is to compile GRASS in an Anaconda environment so that it is distributable in two related ways: as a standard Mac package and app, and as an Anaconda package (installed via the command 'conda install [grass version]'). This will be a fully 64 bit GRASS version using wxPython 3 for the GUI.

Due to the many other responsibilities and pulls on our time, Eric and I have only been able to work sporadically. But as of this week we are down to one main baffling and annoying problem left to solve. Then we can do some clean up and begin making this build available to test. With that in mind, if anyone has experience in creating Mac *.app and *.pkg environments for distribution, please get in touch. You might be able to help us get over the last hurdle.

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<tel:(480)%20965-6262> (SHESC), 480-965-8130<tel:(480)%20965-8130>/727-9746 (CSDC)
fax: 480-965-7671<tel:(480)%20965-7671> (SHESC),  480-727-0709<tel:(480)%20727-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=XA6yReZT2BoAaNeg126zooD8EtmwRkQ-7rwLzxODg7I&s=f-Q3ncZP4puDJcsGLhZyfCTIs1uS9BGyr6DLDgdSRLc&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=XA6yReZT2BoAaNeg126zooD8EtmwRkQ-7rwLzxODg7I&s=kNcCR_LAcIYMBOEXCrReotFe6ZkwH1z-cVfgpGNQ2KU&e=>















On Jan 14, 2018, at 1:00 PM, grass-user-request at lists.osgeo.org<mailto:grass-user-request at lists.osgeo.org> wrote:

From: Ken Mankoff <mankoff at gmail.com<mailto:mankoff at gmail.com>>
Subject: Re: [GRASS-user] Grass on MacOS
Date: January 14, 2018 at 7:46:27 AM MST
To: Adam Dershowitz <adershowitz at exponent.com<mailto:adershowitz at exponent.com>>
Cc: Carlos Grohmann <carlos.grohmann at gmail.com<mailto:carlos.grohmann at gmail.com>>, "grass-user\@lists.osgeo.org<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.osgeo.org&d=DwMFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=XA6yReZT2BoAaNeg126zooD8EtmwRkQ-7rwLzxODg7I&s=yZDoUcNj1d74AFJRYotWx_ewnwtaFx97LQBYr0ErH_s&e=>" <grass-user at lists.osgeo.org<mailto:grass-user at lists.osgeo.org>>


Hi Adam,

I'm glad to hear you got GRASS working on OS X w/ MacPorts. That is the system I use too. I recently switched from HomeBrew. I got GRASS working with fink too, but prefer MacPorts, although there are some MacPort-specific issues if you want to use the temporal framework.

I found it helpful to set GRASS_PYTHON and have it pointing to

export GRASS_PYTHON=/opt/local/bin/python2.7

I don't like installing 3rd-party frameworks, so I also have QGIS installed via MacPorts and it works well.

For GRASS, I had to "sudo port install gdal +netcdf" in order to be able to read in NetCDF files. For QGIS I did "sudo port install QGIS +qt4 +grass".

 -k.


On 2018-01-14 at 00:37, Adam Dershowitz <adershowitz at exponent.com<mailto:adershowitz at exponent.com>> wrote:
Thanks, but…I use Macports for a bunch of things, and homebrew and
maports don’t play well together. So, I can’t easily do that. I did
get the macports version to work after I asked the question. It was
actually just due to the fact that I have been using the Kyngchoas
version for a long time, and that used to require that GRASS_PYTHON be
set in .bash_profile. But, I had set it to point to an old directory a
while back, and that folder didn’t exist. So, I just had to delete
that environmental variable and the macports version now works fine.
And, the Kyngchaos version of qgis does seem to work fine.

Thanks for the suggestion. I suppose that it would be useful to have
working binaries to avoid these kinds of issues.



_______________________________________________
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

Helena Mitasova
Professor at the Department of Marine,
Earth, and Atmospheric Sciences
Associate director and faculty fellow at the Center for Geospatial Analytics
North Carolina State University
Raleigh, NC 27695-8208
hmitaso at ncsu.edu<mailto:hmitaso at ncsu.edu>
http://geospatial.ncsu.edu/osgeorel/publications.html<https://urldefense.proofpoint.com/v2/url?u=http-3A__geospatial.ncsu.edu_osgeorel_publications.html&d=DwMFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=dkeB-ZwEUnUzUPDg3GviAwO4UuwwuVgxucWgLe6F9qk&s=zNLT_Z6rG3dZiCrrxSiPMKaKwpjLcuCLhX0gnmMRWoc&e=>

"All electronic mail messages in connection with State business which are sent to or received by this account are subject to the NC Public Records Law and may be disclosed to third parties.”


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20180117/61056300/attachment-0001.html>


More information about the grass-user mailing list