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

Michael Barton Michael.Barton at asu.edu
Wed Jan 17 09:44:03 PST 2018


Eric has already documented it pretty well. I'm making a set of notes organized a bit differently that will help me move through the workflow rapidly. Once we get it nailed down, we can put it on the WIKI and/or link to Eric's site.

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 17, 2018, at 3:14 AM, Anna Petrášová <kratochanna at gmail.com<mailto:kratochanna at gmail.com>> wrote:

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<mailto: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: https://urldefense.proofpoint.com/v2/url?u=http-3A__www.public.asu.edu_-7Ecmbarton&d=DwIFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=soaI1YnedAZn-bBIj8hBdwwQbPT6gkE2Ghh35K5Wcno&s=7aE7xW3GGw_2VoQncxTzK8k44D-5jjpMPESNe0qkyAQ&e=, https://urldefense.proofpoint.com/v2/url?u=http-3A__csdc.asu.edu&d=DwIFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=soaI1YnedAZn-bBIj8hBdwwQbPT6gkE2Ghh35K5Wcno&s=88KAjNWJyflzwDgKb0vlpORWaPKZfyifl42YveYAaxc&e=















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: https://urldefense.proofpoint.com/v2/url?u=http-3A__www.public.asu.edu_-7Ecmbarton&d=DwIFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=soaI1YnedAZn-bBIj8hBdwwQbPT6gkE2Ghh35K5Wcno&s=7aE7xW3GGw_2VoQncxTzK8k44D-5jjpMPESNe0qkyAQ&e=, https://urldefense.proofpoint.com/v2/url?u=http-3A__csdc.asu.edu&d=DwIFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=soaI1YnedAZn-bBIj8hBdwwQbPT6gkE2Ghh35K5Wcno&s=88KAjNWJyflzwDgKb0vlpORWaPKZfyifl42YveYAaxc&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 (SHESC), 480-965-8130/727-9746 (CSDC)
fax: 480-965-7671 (SHESC),  480-727-0709 (CSDC)
www: https://urldefense.proofpoint.com/v2/url?u=http-3A__www.public.asu.edu_-7Ecmbarton&d=DwIFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=soaI1YnedAZn-bBIj8hBdwwQbPT6gkE2Ghh35K5Wcno&s=7aE7xW3GGw_2VoQncxTzK8k44D-5jjpMPESNe0qkyAQ&e=, https://urldefense.proofpoint.com/v2/url?u=http-3A__csdc.asu.edu&d=DwIFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=soaI1YnedAZn-bBIj8hBdwwQbPT6gkE2Ghh35K5Wcno&s=88KAjNWJyflzwDgKb0vlpORWaPKZfyifl42YveYAaxc&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://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_mcflugen_grass-2Dconda-2Dbuild_tree_master_osx_Grass72.app_Contents_MacOS&d=DwIFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=soaI1YnedAZn-bBIj8hBdwwQbPT6gkE2Ghh35K5Wcno&s=ETB3zkgjDqoUEF_paMWGf_4IF4OM9TGdwE5PWur310c&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 (SHESC), 480-965-8130/727-9746 (CSDC)
fax: 480-965-7671 (SHESC),  480-727-0709 (CSDC)
www: https://urldefense.proofpoint.com/v2/url?u=http-3A__www.public.asu.edu_-7Ecmbarton&d=DwIFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=soaI1YnedAZn-bBIj8hBdwwQbPT6gkE2Ghh35K5Wcno&s=7aE7xW3GGw_2VoQncxTzK8k44D-5jjpMPESNe0qkyAQ&e=, https://urldefense.proofpoint.com/v2/url?u=http-3A__csdc.asu.edu&d=DwIFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=soaI1YnedAZn-bBIj8hBdwwQbPT6gkE2Ghh35K5Wcno&s=88KAjNWJyflzwDgKb0vlpORWaPKZfyifl42YveYAaxc&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" <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://urldefense.proofpoint.com/v2/url?u=https-3A__lists.osgeo.org_mailman_listinfo_grass-2Ddev&d=DwIFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=soaI1YnedAZn-bBIj8hBdwwQbPT6gkE2Ghh35K5Wcno&s=-qsmzPEzOjJ9t0xno1Iz3ajDC8joar4HhiwgLtTHNQo&e=


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>
https://urldefense.proofpoint.com/v2/url?u=http-3A__geospatial.ncsu.edu_osgeorel_publications.html&d=DwIFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=soaI1YnedAZn-bBIj8hBdwwQbPT6gkE2Ghh35K5Wcno&s=QtZz3tw2d_bzIzOsdcow3WkSiLqS031DTziW69mJmM8&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.”



_______________________________________________
grass-user mailing list
grass-user at lists.osgeo.org<mailto:grass-user at lists.osgeo.org>
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.osgeo.org_mailman_listinfo_grass-2Duser&d=DwIFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=soaI1YnedAZn-bBIj8hBdwwQbPT6gkE2Ghh35K5Wcno&s=GZjCpCWzLBZmIGSyvUUpxDONqB10L7wNO9KL3gQ-JAg&e=

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


More information about the grass-user mailing list