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

Anna Petrášová kratochanna at gmail.com
Thu Jul 27 11:07:19 PDT 2017


On Thu, Jul 27, 2017 at 1:54 PM, Michael Barton <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.

>
> 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.

> 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.

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.

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

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: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu
>
>
>
>
> On Jul 18, 2017, at 2:26 PM, Michael Barton <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: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu
>
>


More information about the grass-dev mailing list