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

Michael Barton Michael.Barton at asu.edu
Thu Jul 27 11:32:08 PDT 2017


Anna,

Thanks for the quick response. See below.

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 27, 2017, at 12:07 PM, Anna Petrášová <kratochanna at gmail.com<mailto:kratochanna at gmail.com>> wrote:

On Thu, Jul 27, 2017 at 1:54 PM, Michael Barton <Michael.Barton at asu.edu<mailto:Michael.Barton at asu.edu>> wrote:
Here is a report on this effort, including identifying several items that
will need to be changed by others for this to be successful.

I've successfully compiled GRASS 7 64bit, with wxPython 3.0.2.0 under the
current OS (Sierra = OS X 10.12.x). I'm using the most current Kyngesburye
frameworks for GDAL, Numpy, and MatPlotLib.

No binaries or bundled dependencies yet.

Issues that need to be resolved.

1. the 'python_wrapper' bash script in ../macosx/app needs to be updated to
allow for full 64bit compiling with wxPython. It currently tries to force
32bit Python if wxPython is present. I've done a hack but it is probably not
the right thing for the long term.

2. wxGUI needs a several fixes to run correctly with wxPython 3.

2.1 When switching from 3D to 2D, the 'rotate 3D' and 'airplane' buttons are
not destroyed. They overprint the zoom to map extents button of 2D mode and
will crash the GUI if pressed.

I know about this one.

OK. Probably not too hard I hope.



2.2 A custom control needs to be updated or replaced because it does not
recognize mouse clicks. It is used in a number of different places,
including in the bivariate histogram tool where it is used to select pairs
of maps for histogramming. You can navigate this control (a pulldown) with
arrow keys but not a mouse.

This is hard to solve, I don't think there is a good widget to replace this one.

I don't see any noticeable difference between this control and the one used for r.patch (which works).


2.3 selecting g.gui.iclass will crash the GUI. I cannot get any error to
come up on the console before the crash, and there is nothing in the
terminal.

I don't know about this one, maybe some ctypes thing, but at least
it's not a major component.

Right. But hopefully someone can figure it out.


Another one I know about is the raster digitizer, where I need to
tweak the toolbar code to not crash, but I didn't get to it yet.

Haven't tested that.


Could you possibly try wxPython 4 (Phoenix) with trunk? I am wondering
how that looks like...

Sure. Is the configure script similar? My worry with wxPython 4 currently, is that it seems like it must be installed into a system folder where it might cause SIP problems.

Michael


Thanks,

Anna


That's all I've hit so far. I hope to start working on bundling for a binary
next week.

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=DwIBaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=47Q9MXJZRCcL5i9M9PgT2F3tdAlQVBzW92JuJlbxyu8&s=2nHCPVvo7tAxX8GU1RH1_aM-1_Bgdb9GDAtSEebe1Rc&e= , https://urldefense.proofpoint.com/v2/url?u=http-3A__csdc.asu.edu&d=DwIBaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=47Q9MXJZRCcL5i9M9PgT2F3tdAlQVBzW92JuJlbxyu8&s=-yI7_BSCJLWbfaDFGLVJN7xdKGL4heYGzAbjoFboEus&e=




On Jul 18, 2017, at 2:26 PM, 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.

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


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=DwIBaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=47Q9MXJZRCcL5i9M9PgT2F3tdAlQVBzW92JuJlbxyu8&s=2nHCPVvo7tAxX8GU1RH1_aM-1_Bgdb9GDAtSEebe1Rc&e= , https://urldefense.proofpoint.com/v2/url?u=http-3A__csdc.asu.edu&d=DwIBaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=47Q9MXJZRCcL5i9M9PgT2F3tdAlQVBzW92JuJlbxyu8&s=-yI7_BSCJLWbfaDFGLVJN7xdKGL4heYGzAbjoFboEus&e=

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


More information about the grass-dev mailing list