[GRASS-user] GRASS for Mac 64bit, wxPython 3, maybe fix for SIP problem - please test

Adam Dershowitz adershowitz at exponent.com
Thu Jun 2 10:56:38 PDT 2016


Yes, I’m happy to try it out, once you get it built.  Once you do, let me know if there are any specific features that would use specific libraries, so I can test them.

-- Adam


From: Michael Barton <Michael.Barton at asu.edu<mailto:Michael.Barton at asu.edu>>
Date: Thursday, June 2, 2016 at 1:53 PM
To: Adam Dershowitz <adershowitz at exponent.com<mailto:adershowitz at exponent.com>>
Cc: GRASS developers grass-developers <grass-dev at lists.osgeo.org<mailto:grass-dev at lists.osgeo.org>>, grass-user grass-user <grass-user at lists.osgeo.org<mailto:grass-user at lists.osgeo.org>>
Subject: Re: [GRASS-user] GRASS for Mac 64bit, wxPython 3, maybe fix for SIP problem - please test

Adam,

Excellent. I’ll trudge over to the other office and do another version soon. I hope you can try it.

There are complications in running install_name_tool during the bundling process. I am working in parallel on a way to do something like that. But in the meantime, a lot of problems could be avoided if I can build GRASS against dependencies that are compiled outside the system folders (/usr/..). I’ve done that with LASlib and it caused you no problems. I’ve been able to build gettext outside of the system area but GRASS can’t find it so far. In this build, I tried packaging the relevant gettext libraries with GRASS, but it still looks for them in /usr/local. I was afraid of that but thought I’d try that. I don’t want to build wxPython from scratch, but can get the right version in the Anaconda package. I will now try to build GRASS against that version. What I don’t know is whether it will then complain if you don’t also have the Anaconda Python 2.7. We’ll see.

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<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.public.asu.edu_-7Ecmbarton&d=CwMGaQ&c=t0wRGL5ICVzH157W8C8Wew&r=5usL3OGqXabRLtSzGmh8YEvbco28TaiOmWcn6rCn8wM&m=0ZNWuvxDctpCtAIkbJv2o2RO_0FkffPars5lM4Q5v8Q&s=LyM5xdK-7R3OuZiARY5oTW8Mwe9AhKs7nY_os92kjMc&e=>, http://csdc.asu.edu<https://urldefense.proofpoint.com/v2/url?u=http-3A__csdc.asu.edu&d=CwMGaQ&c=t0wRGL5ICVzH157W8C8Wew&r=5usL3OGqXabRLtSzGmh8YEvbco28TaiOmWcn6rCn8wM&m=0ZNWuvxDctpCtAIkbJv2o2RO_0FkffPars5lM4Q5v8Q&s=86KUh3vJ1XFUeWMNXRzyQW-RRCGLRXE5bTL0rPYeunM&e=>















On Jun 2, 2016, at 10:12 AM, Adam Dershowitz <adershowitz at exponent.com<mailto:adershowitz at exponent.com>> wrote:

I don’t have Anaconda installed.

An option would be to put the commands that I sent into whatever build script you are using.  The changes that are made by install_name_tool can be made to the dozen or so files and then you could package it up to the installer.
The only problems, I have seen and fixed are with the paths to libwx_osx_cocoau-3.0.0.2.0.dylib and libintl.8.dylib

-- Adam


From: Michael Barton <Michael.Barton at asu.edu<mailto:Michael.Barton at asu.edu>>
Date: Thursday, June 2, 2016 at 12:17 PM
To: Adam Dershowitz <adershowitz at exponent.com<mailto:adershowitz at exponent.com>>
Cc: GRASS developers <grass-dev at lists.osgeo.org<mailto:grass-dev at lists.osgeo.org>>, GRASS users <grass-user at lists.osgeo.org<mailto:grass-user at lists.osgeo.org>>
Subject: Re: [GRASS-user] GRASS for Mac 64bit, wxPython 3, maybe fix for SIP problem - please test

Thanks Adam,

This is disappointing but informative. Do you have the Anaconda Python package installed? I am hoping you do not so I can test another alternative too.

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<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.public.asu.edu_-7Ecmbarton&d=CwMFAg&c=t0wRGL5ICVzH157W8C8Wew&r=5usL3OGqXabRLtSzGmh8YEvbco28TaiOmWcn6rCn8wM&m=TS6ZbfcSESNcquxh-zPAqGnCaZgzRAIcMTujuqBSCWM&s=7ErhRu9AyP2KPJO1ugPquhJlYakqzc-hPP7lsh8d6Gk&e=>, http://csdc.asu.edu<https://urldefense.proofpoint.com/v2/url?u=http-3A__csdc.asu.edu&d=CwMFAg&c=t0wRGL5ICVzH157W8C8Wew&r=5usL3OGqXabRLtSzGmh8YEvbco28TaiOmWcn6rCn8wM&m=TS6ZbfcSESNcquxh-zPAqGnCaZgzRAIcMTujuqBSCWM&s=ptMCJeZkpJL1oa3gUPm17Bx8T8MVCyXPhupTp0i2lk0&e=>















On Jun 2, 2016, at 8:19 AM, Adam Dershowitz <adershowitz at exponent.com<mailto:adershowitz at exponent.com>> wrote:

I used install_name_tool to change the path that the files use to find dynamic libraries.  The actual specific command I used are my later emails.
For example here is one:
install_name_tool -change /usr/local/lib/libintl.8.dylib /Applications/GRASS-7.3.app/Contents/MacOS/lib/libintl.8.dylib /Applications/GRASS-7.3.app/Contents/MacOS/lib/libgrass_gis.7.3.svn.dylib


The issue is that this library:  /Applications/GRASS-7.3.app/Contents/MacOS/lib/libgrass_gis.7.3.svn.dylib  was trying to dynamically link to this:  /usr/local/lib/libintl.8.dylib  (which doest exist on my system, but probably does on yours) instead it should have been using this:  /Applications/GRASS-7.3.app/Contents/MacOS/lib/libintl.8.dylib (which had been correctly installed on my system by the installer).

Each of the other commands that I sent showed that a number of other libraries were each looking for this:  @loader_path/../../../../libwx_osx_cocoau-3.0.0.2.0.dylib when the correct path is this:  /Applications/GRASS-7.3.app/Contents/MacOS/lib/libwx_osx_cocoau-3.0.0.2.0.dylib  (again, on your machine, both might exist from when you were building).

Each of these paths is hard coded into the binaries at build time, so there is some flag that can generally be used to set them correctly.  All I did was changed them using using install_name_tool which is a bit of a kludge.

-- Adam


From: Michael Barton <Michael.Barton at asu.edu<mailto:Michael.Barton at asu.edu>>
Date: Thursday, June 2, 2016 at 11:06 AM
To: Adam Dershowitz <adershowitz at exponent.com<mailto:adershowitz at exponent.com>>
Cc: GRASS developers list <grass-dev at lists.osgeo.org<mailto:grass-dev at lists.osgeo.org>>, grass-user grass-user <grass-user at lists.osgeo.org<mailto:grass-user at lists.osgeo.org>>
Subject: Re: [GRASS-user] GRASS for Mac 64bit, wxPython 3, maybe fix for SIP problem - please test

Thanks for the report Adam. When you say you fixed the path, what exactly did you do?

Michael Barton
School of Human Evolution &Social Change
Center for Social Dynamics & Complexity
Arizona State University

...Sent from my iPad

On Jun 2, 2016, at 6:54 AM, Adam Dershowitz <adershowitz at exponent.com<mailto:adershowitz at exponent.com>> wrote:

Looks like you missed a library, or path.  I just tried it on 10.11 with SIP enabled, and I get this error:

$ '/Applications/GRASS-7.3.app/Contents/MacOS/grass.sh'; exit
Rebuilding Addon HTML manual pages index...
Rebuilding Addon menu...
Python 2.7.10 found.
Cleaning up temporary files...
Starting GRASS GIS...
dyld: Library not loaded: /usr/local/lib/libintl.8.dylib
  Referenced from: /Applications/GRASS-7.3.app/Contents/MacOS/lib/libgrass_gis.7.3.svn.dylib
  Reason: image not found
Traceback (most recent call last):
  File "/Applications/GRASS-7.3.app/Contents/MacOS/gui/wxpython/gis_set.py", line 31, in <module>
    from core import globalvar
  File "/Applications/GRASS-7.3.app/Contents/MacOS/gui/wxpython/core/globalvar.py", line 29, in <module>
    from core.debug import Debug
  File "/Applications/GRASS-7.3.app/Contents/MacOS/gui/wxpython/core/debug.py", line 77, in <module>
    Debug = DebugMsg()
  File "/Applications/GRASS-7.3.app/Contents/MacOS/gui/wxpython/core/debug.py", line 39, in __init__
    self.SetLevel()
  File "/Applications/GRASS-7.3.app/Contents/MacOS/gui/wxpython/core/debug.py", line 45, in SetLevel
    self.debuglevel = int(grass.gisenv().get('WX_DEBUG', 0))
  File "/Applications/GRASS-7.3.app/Contents/MacOS/etc/python/grass/script/core.py", line 953, in gisenv
    s = read_command("g.gisenv", flags='n')
  File "/Applications/GRASS-7.3.app/Contents/MacOS/etc/python/grass/script/core.py", line 458, in read_command
    process = pipe_command(*args, **kwargs)
  File "/Applications/GRASS-7.3.app/Contents/MacOS/etc/python/grass/script/core.py", line 433, in pipe_command
    return start_command(*args, **kwargs)
  File "/Applications/GRASS-7.3.app/Contents/MacOS/etc/python/grass/script/core.py", line 372, in start_command
    if debug_level() > 0:
  File "/Applications/GRASS-7.3.app/Contents/MacOS/etc/python/grass/script/core.py", line 1536, in debug_level
    _debug_level = int(gisenv().get('DEBUG', 0))
  File "/Applications/GRASS-7.3.app/Contents/MacOS/etc/python/grass/script/core.py", line 953, in gisenv
    s = read_command("g.gisenv", flags='n')
  File "/Applications/GRASS-7.3.app/Contents/MacOS/etc/python/grass/script/core.py", line 461, in read_command
    return handle_errors(returncode, stdout, args, kwargs)
  File "/Applications/GRASS-7.3.app/Contents/MacOS/etc/python/grass/script/core.py", line 329, in handle_errors
    returncode=returncode)
grass.exceptions.CalledModuleError: Module run None ['g.gisenv', '-n'] ended with error
Process ended with non-zero return code -5. See errors in the (error) output.
ERROR: Error in GUI startup. See messages above (if any) and if necessary, please report this error to the GRASS developers.
On systems with package manager, make sure you have the right GUI package, probably named grass-gui, installed.
To run GRASS GIS in text mode use the -text flag.
Exiting...
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.




-- Adam


From: grass-user <grass-user-bounces at lists.osgeo.org<mailto:grass-user-bounces at lists.osgeo.org>> on behalf of Michael Barton <Michael.Barton at asu.edu<mailto:Michael.Barton at asu.edu>>
Date: Wednesday, June 1, 2016 at 7:50 PM
To: GRASS developers list <grass-dev at lists.osgeo.org<mailto:grass-dev at lists.osgeo.org>>, grass-user grass-user <grass-user at lists.osgeo.org<mailto:grass-user at lists.osgeo.org>>
Subject: [GRASS-user] GRASS for Mac 64bit, wxPython 3, maybe fix for SIP problem - please test

I just posted a new binary for GRASS 7.3 built fully 64 bit, with wxPython 3.0.2.0 to the GRASS for Mac site (http://grassmac.wikidot.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__grassmac.wikidot.com&d=CwMFAg&c=t0wRGL5ICVzH157W8C8Wew&r=5usL3OGqXabRLtSzGmh8YEvbco28TaiOmWcn6rCn8wM&m=g-_vMK6bUb2L_0yJaa2OvFkqicaKTyNnPnCZOxN-i6s&s=jF8bboxVJboLDUrCG5V5xobtx6ig-JEF92VM_t_MXA4&e=>)

It turns out the previous "64bit" GRASS binary still ran 32bit Python. I had to hack the python_wrapper.py file, but this one is fully 64bit AFAICT. I also tried some hacks that might be a way to solve the inability to run GRASS on El Capitan with SIP enabled. There are a couple of known bugs in the wxPython 3.x GUI

1. The most serious is switching to 3D mode and back to 2D mode leaves one of the map display menu buttons corrupted. It seems the only thing you can do is to close the map display and open a new one.

2. There are also some popup lists (e.g., for switching mapsets) that do not behave as they should. You cannot select an item with a mouse (but you can select with arrow keys and <return>) unless you hit <escape> to destroy part of the control. Then you can use the mouse to click something.

Please let us know if you encounter any other bug or strange behavior.

Also,  and importantly if anyone is running El Capitan, it would be great if you could reenable SIP (if you've turned it off) and see if this version runs.  Of course, maybe I've "fixed" it so that it only runs on my system and crashes on everyone else's.

Enjoy!
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<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.public.asu.edu_-7Ecmbarton&d=CwMFAg&c=t0wRGL5ICVzH157W8C8Wew&r=5usL3OGqXabRLtSzGmh8YEvbco28TaiOmWcn6rCn8wM&m=g-_vMK6bUb2L_0yJaa2OvFkqicaKTyNnPnCZOxN-i6s&s=DWmxIXQue0rzESF_0QnhgEylY9V-yUIeg1aKl9gQ9Yc&e=>, http://csdc.asu.edu<https://urldefense.proofpoint.com/v2/url?u=http-3A__csdc.asu.edu&d=CwMFAg&c=t0wRGL5ICVzH157W8C8Wew&r=5usL3OGqXabRLtSzGmh8YEvbco28TaiOmWcn6rCn8wM&m=g-_vMK6bUb2L_0yJaa2OvFkqicaKTyNnPnCZOxN-i6s&s=4wxcas1zdXuTlR2aqJsCv88HfPWUcHLeed-Z1RQ1svE&e=>

















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


More information about the grass-user mailing list