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

Anna Petrášová kratochanna at gmail.com
Wed Jan 17 02:14:10 PST 2018


Hi Michael and Eric,

that's great indeed! What are the plans to document the entire
process? Probably creating a GRASS wiki page?

I would like to eventually switch to wxPython Phoenix, because I don't
want to invest energy into fixing issues for wxpython 3 in case some
of these things already work in Phoenix. The current state of wxGUI
and Phoenix is that it roughly 90% of GUI works on Linux, if I
remember correctly on Mac too, but I didn't have that much time to
test it.

Thank you,
Anna

On Tue, Jan 16, 2018 at 11:37 PM, Michael Barton <Michael.Barton at asu.edu> wrote:
> 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> 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> 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, http://csdc.asu.edu
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> On Jan 15, 2018, at 10:22 PM, Eric Hutton <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>
> 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 (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 14, 2018, at 3:23 PM, Eric Hutton <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
>>
>> 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>
>> 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 (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 14, 2018, at 1:00 PM, grass-user-request at lists.osgeo.org wrote:
>>>
>>> From: Ken Mankoff <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>
>>> Cc: Carlos Grohmann <carlos.grohmann at gmail.com>,
>>> "grass-user\@lists.osgeo.org" <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> 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
> 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
> http://geospatial.ncsu.edu/osgeorel/publications.html
>
> "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.”
>
>
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/grass-user


More information about the grass-dev mailing list