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

Michael Barton Michael.Barton at asu.edu
Mon Jun 13 15:00:19 PDT 2016


It's been a busier day than I anticipated. But I've got a clean binary of GRASS 7.3 64bit, using wxPython 3.0.2.0 on my website now. I doubt that this will work any better under SIP, but perhaps...

Please try if you can. I appreciate the tests.

I'm also working on another angle, with the help of a software engineer here at ASU. Working from my notes, he seems to have compiled GRASS under El Capitan, with SIP enabled and it works fine. He will be working on a package that we can make available for testing. I just had a long discussion with him and there are some caveats. 

1. GRASS would not compile with some of the 32 bit frameworks that can be installed from my site. So he recompiled all frameworks dual architecture 32/64 bit.
2. Like me, he compiled wxPython from source to a folder outside the sensitive system folders that SIP is protecting. 
3. He is going to try the new Mac package maker system (pkgbuild) to create a complete package with all dependencies packaged together for distribution. They will all install into a new GRASS framework to avoid conflicts with any other software. 

He's also setting up a virtual machine for me that I can use to test compiling GRASS under El Capitan and SIP, using frameworks and other dependencies as they are now. So we can see how that goes. 

Wish us luck with this.

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 Jun 13, 2016, at 9:25 AM, Agustin Diez Castillo <Agustin.Diez at uv.es> wrote:
> 
>> 
>> On 13 Jun 2016, at 17:10, Adam Dershowitz <adershowitz at exponent.com> wrote:
>> 
>> That is with the newest version? (I downloaded from the web site an hour ago)
> As far as I can say GRASS GIS 7.3.svn-160606, dated June, 2.
>> 
>> That is really strange.  Michael, does the installer change any paths?  Agustin, did you already having anything in /usr/local/lib/wxPython-3.0.2.0?  
> 
> I remember compiling myself wxPython a while ago, so it’s more than possible this was already there but I can’t swear.
> 
> I’ve just installed latest grass 7.3 in another computer (10.10) without any wx* stuff in /usr/local/lib/ and check my laptop (Capitan SIP disabled), in both, otool points to Michael’s directory. I’m afraid of upgrading to Capitan the first one but I, eventually, will do that on Thursday and report results.
> 
> otool -L /Applications/GRASS-7.3.app/Contents/MacOS/etc/python/wx/_core_.so /Applications/GRASS-7.3.app/Contents/MacOS/etc/python/wx/_core_.so: /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0) /Users/cmbarton/grass_source/wxp3/usr/local/lib/libwx_osx_cocoau-3.0.0.2.0.dylib (compatibility version 3.0.0, current version 3.0.0) /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 155.0.0) /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 19.0.0) /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0) /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1669.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 744.19.0) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 45.0.0) 
> 
> Agustin
>> Perhaps, in a non-SIP, machine, the installer puts stuff in /usr/local, and the installer then adjusts the paths accordingly, while it can’t on a SIP machine, so it installs into the package bundle itself?  
>> 
>> -- Adam
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> On 6/13/16, 10:38 AM, "Agustin Diez Castillo" <agustin.diez at uv.es> wrote:
>> 
>>> I have no clue, but this is not the same in my machine, there nothing is pointing to Michael’s machine.
>>> otool -L /Applications/GRASS-7.3.app/Contents/MacOS/etc/python/wx/_core_.so
>>> /Applications/GRASS-7.3.app/Contents/MacOS/etc/python/wx/_core_.so:
>>> 	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
>>> 	/usr/local/lib/wxPython-3.0.2.0/lib/libwx_osx_cocoau-3.0.0.2.0.dylib (compatibility version 3.0.0, current version 3.0.0)
>>> 	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
>>> 	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 136.0.0)
>>> 	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0)
>>> 	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
>>> 	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
>>> 	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
>>> 	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
>>> 	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.18.0)
>>> 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 34.0.0)
>>> 
>>> El 13Jun, 2016, a las 4:25 PM, Adam Dershowitz <adershowitz at exponent.com> escribió:
>>> 
>>>> Strange.  Because you local path is explicitly in the binary.  Here is what shows for the libraries for _core_.so  on my machine.  I don’t see why disabling SIP should change this:
>>>> 
>>>> $otool -L /Applications/GRASS-7.3.app/Contents/MacOS/etc/python/wx/_core_.so
>>>> /Applications/GRASS-7.3.app/Contents/MacOS/etc/python/wx/_core_.so:
>>>> 	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)
>>>> 	/Users/cmbarton/grass_source/wxp3/usr/local/lib/libwx_osx_cocoau-3.0.0.2.0.dylib (compatibility version 3.0.0, current version 3.0.0)
>>>> 	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
>>>> 	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 155.0.0)
>>>> 	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 19.0.0)
>>>> 	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
>>>> 	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
>>>> 	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
>>>> 	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1669.0.0)
>>>> 	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 744.19.0)
>>>> 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 45.0.0)
>>>> 
>>>> 
>>>> 
>>>> 
>>>> Perhaps without SIP, it falls back to searching another way, instead of just using this path?  While with SIP, it only uses the explicit path?
>>>> The libraries are present in the application bundle, so the problem is just “telling” it where to look for them.
>>>> 
>>>> -- Adam
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On 6/13/16, 10:15 AM, "Michael Barton" <Michael.Barton at asu.edu> wrote:
>>>> 
>>>>> Except that this error only occurs with SIP enabled. Disable SIP and the error goes away and everything runs fine.
>>>>> 
>>>>> Michael Barton
>>>>> School of Human Evolution &Social Change
>>>>> Center for Social Dynamics & Complexity
>>>>> Arizona State University
>>>>> 
>>>>> ...Sent from my iPad
>>>>> 
>>>>>> On Jun 13, 2016, at 6:18 AM, Adam Dershowitz <adershowitz at exponent.com> wrote:
>>>>>> 
>>>>>> I was traveling last week, so just got to this.
>>>>>> 
>>>>>> No luck.  And, it doesn’t look like a SIP issue.  Instead, the path is now hard coded to something on your machine.  Here is the error I get when it try to open the application:
>>>>>> 
>>>>>> $ '/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...
>>>>>> 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 96, in <module>
>>>>>> import wx
>>>>>> File "/Applications/GRASS-7.3.app/Contents/MacOS/etc/python/wx/__init__.py", line 45, in <module>
>>>>>> from wx._core import *
>>>>>> File "/Applications/GRASS-7.3.app/Contents/MacOS/etc/python/wx/_core.py", line 4, in <module>
>>>>>> import _core_
>>>>>> ImportError: dlopen(/Applications/GRASS-7.3.app/Contents/MacOS/etc/python/wx/_core_.so, 2): Library not loaded: /Users/cmbarton/grass_source/wxp3/usr/local/lib/libwx_osx_cocoau-3.0.0.2.0.dylib
>>>>>> Referenced from: /Applications/GRASS-7.3.app/Contents/MacOS/etc/python/wx/_core_.so
>>>>>> Reason: image not found
>>>>>> 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.
>>>>>> 
>>>>>> 
>>>>>> [Process completed]
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> -- Adam



More information about the grass-user mailing list