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

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


On Thu, Jul 27, 2017 at 2:32 PM, Michael Barton <Michael.Barton at asu.edu> wrote:
> 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> wrote:
>
> 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.
>
>
> 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).

Maybe I got confused about this one, I need to look at it then.

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

I think you can use pip to install it with whatever Python you use, at
least that's what works on Linux.

Anna

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


More information about the grass-dev mailing list