[GRASS-dev] GRASS GIS for Apple Silicon Macs

Nicklas Larsson n_larsson at yahoo.com
Wed Sep 20 00:52:30 PDT 2023


Gregor,

Browsing the content of both GRASS.app and the FreeCAD.app, they seem correctly to have been built for arm machines. Both are based on conda dependencies and both are initiated by shell script.

The shell script initialising GRASS involves the use of '/usr/bin/osascript', which on macOS 12 is a universal binary. Perhaps something did change with this command, please test the following:

`file /usr/bin/osascript` 

and

`osascript -i`

(which should enter interactive mode, you may exit with Ctrl-C).


You could also try start GRASS manually from Terminal:

`/Applications/GRASS-8.3.app/Contents/MacOS/Grass.sh`

(That step may, however, be prevented because of the app being unsigned).



For control, the FreeCAD shell script contains the following command:

`sw_vers -productVersion`

Could you try that? ’sw_vers' is also a universal binary on macOS 12. What will the following give:

`file /usr/bin/sw_vers`


Best,
Nicklas




> On 19 Sep 2023, at 20:54, Michael Barton <Michael.Barton at asu.edu> wrote:
> 
> I've been corresponding with this GRASS user about how the software works with the new Apple ARM processors. Nicklas and I have compiled GRASS for ARM processors successfully. These are posted on the GRASS for Mac site (https://cmbarton.github.io/grass-mac/). When Gregor tries to launch GRASS under the new MacOS 14 (Sonoma) he gets a notice that Rosetta (Intel processor emulator) is needed. They launch on my ARM MacBook Pro with no notice, but I am not using Sonoma yet. 
> 
> Does anyone have any suggestions about what might be triggering this notice at launch time? AFAIK, initialization only calls the following:
> 1. shell launch script
> 2. wxPython
> 3. Python
> 
> Is there any other module or dependency that gets called at initial launch (no maps displayed)? 
> 
> Michael
> _____________________________
> C. Michael Barton
> Associate Director, School of Complex Adaptive Systems (https://scas.asu.edu)
> Professor, School of Human Evolution & Social Change (https://shesc.asu.edu)
> Director, Center for Social Dynamics & Complexity (https://complexity.asu.edu)
> Arizona State University
> Tempe, AZ 85287-2701
> USA
> 
> Executive Director, Open Modeling Foundation (https://openmodelingfoundation.github.io)
> Director, Network for Computational Modeling in Social & Ecological Sciences (https://comses.net)
> 
> personal website: http://www.public.asu.edu/~cmbarton 
> 
> 
>> Begin forwarded message:
>> 
>> From: Gregor Hintner <gregorhintner at icloud.com>
>> Subject: Re: GRASS GIS for Apple Silicon Macs
>> Date: September 18, 2023 at 11:34:02 AM MST
>> To: Michael Barton <Michael.Barton at asu.edu>
>> 
>> Unfortunately I suspect we have had another miscommunication. 
>> Let me list the specific steps that lead to the Rosetta prompt: 
>> - Download GRASS 8.3.0 Apple ARM or GRASS 8.4dev from your webpage
>> - mount either downloaded Diskimage
>> - copy the GRASS application file from the mounted DMG to the Applications folder
>> - double click and launch the GRASS application
>> - macOS shows a prompt to install Rosetta to continue
>> 
>> Obviously the prompt only appears when actually launching GRASS, the launch just never progresses past it, and no console or GUI can appear.
>> 
>> To my eyes the OS behavior seems credible in this case, though I obviously have no insights beyond the regular UI level.
>> 
>> Could you send me an email contact to the GRASS dev list. I frankly never understood how these lists work, I assume some kind of e-mail chain, but I noticed no actual e-mail addresses on the main GRASS webpage, only on your Mac distribution site.
>> 
>> 
>> Thanks, 
>> Gregor
>> 
>> 
>>> On 2023-09-18, at 8:20 PM, Michael Barton <Michael.Barton at asu.edu> wrote:
>>> 
>>>  Gregor, 
>>> 
>>> I lean toward this being a bug in the beta at the moment. The reason is that installing GRASS should not raise a Rosetta request, at least until you run GRASS. This is because GRASS is organized as a set of independent modules, overlayed with an optional GUI. Running GRASS invokes a shell script (that should not require Rosestta, since it launches an ARM terminal) and than the GUI in Python 3 and wxPython. But these should also be ARM compatible. It is possible that one or more of the >300 individual modules or dependencies require Rosetta. But these should not call Rosetta until they are launched. Also, they are mostly in C and Python, with some C++ code--all of which was compiled under ARM tools. You might post this question to the GRASS dev list. It is hard to say what is causing this message to appear in your beta when nothing is launched. 
>>> 
>>> Michael
>>> _____________________________
>>> C. Michael Barton
>>> Associate Director, School of Complex Adaptive Systems (https://scas.asu.edu)
>>> Professor, School of Human Evolution & Social Change (https://shesc.asu.edu)
>>> Director, Center for Social Dynamics & Complexity (https://complexity.asu.edu)
>>> Arizona State University
>>> Tempe, AZ 85287-2701
>>> USA
>>> 
>>> Executive Director, Open Modeling Foundation (https://openmodelingfoundation.github.io)
>>> Director, Network for Computational Modeling in Social & Ecological Sciences (https://comses.net)
>>> 
>>> personal website: http://www.public.asu.edu/~cmbarton 
>>> 
>>> 
>>>> On Sep 17, 2023, at 8:02 PM, Gregor Hintner <gregorhintner at icloud.com> wrote:
>>>> 
>>>> Understood! 
>>>> If possible, and if you deem it worth it, I would kindly ask you to eventually address this presumed issue. 
>>>> Apple Silicon Mac users like myself will probably avoid to install the Rosetta framework also in the future, as more and more apps get native releases. 
>>>> Obviously, as you offer your work voluntarily and for free, I have no way to make demands, I simply submit the suggestion for your consideration. 
>>>> 
>>>> Furthermore I would truly hope for someone to develop a lightweight iPadOS map authoring app in the future, as foremost the interface, paired with Apple Pencil, just fits graphics and geometry oriented work very naturally, and I personally see the entire system architecture as much more pleasant and intuitive. Lastly I would really hope that land survey work can escape the ruthless grip of proprietary software platforms like the Autodesk apps.
>>>> 
>>>> 
>>>> Kind regards, 
>>>> Gregor
>>>> 
>>>> 
>>>>> On 2023-09-18, at 4:19 AM, Michael Barton <Michael.Barton at asu.edu> wrote:
>>>>> 
>>>>>  Thanks for the information. This is helpful. It is possible that a dependency somewhere in the app needs Rosetta. However, the app is compiled with the ARM SDK and an ARM build environment. 
>>>>> 
>>>>> Michael
>>>>> _____________________________
>>>>> C. Michael Barton
>>>>> Associate Director, School of Complex Adaptive Systems (https://scas.asu.edu)
>>>>> Professor, School of Human Evolution & Social Change (https://shesc.asu.edu)
>>>>> Director, Center for Social Dynamics & Complexity (https://complexity.asu.edu)
>>>>> Arizona State University
>>>>> Tempe, AZ 85287-2701
>>>>> USA
>>>>> 
>>>>> Executive Director, Open Modeling Foundation (https://openmodelingfoundation.github.io)
>>>>> Director, Network for Computational Modeling in Social & Ecological Sciences (https://comses.net)
>>>>> 
>>>>> personal website: http://www.public.asu.edu/~cmbarton 
>>>>> 
>>>>> 
>>>>>> On Sep 17, 2023, at 7:15 PM, Gregor Hintner <gregorhintner at icloud.com> wrote:
>>>>>> 
>>>>>> I use an M2 MacBook Air purchased from Apple.com, running Sonoma Beta. 
>>>>>> The machine shipped with Rosetta excluded from the macOS installation as standard. 
>>>>>> For that reason launching any Intel app will show me a prompt to first download and install Rosetta, with a GB amount noted, between 5-10 GB if I remember correctly.
>>>>>> 
>>>>>> Your GRASS Apple ARM binaries both show that same Rosetta installation prompt upon launch, with no other way to proceed. 
>>>>>> 
>>>>>> In comparison, most other Apple Silicon labelled app binaries I tried, eg. Solvespace, run with no Rosetta prompt and requirement, as expected. 
>>>>>> 
>>>>>> However, as mentioned before, a second Apple Silicon labelled app binary, FreeCAD, also causes the Rosetta prompt on my system, making the possibility of a Sonoma Beta bug a bit more likely. 
>>>>>> 
>>>>>> Apple, AFAIK, have already reached the RC phase of the Beta period though, and I have encountered this issue with no other apps than these two.
>>>>>> 
>>>>>> I found this article picturing the Rosetta 2 install prompt I mention, proving the veracity of my account, in addition to all but confirming the suspected difficulty to remove it after installation.
>>>>>> 
>>>>>> 
>>>>>> GH
>>>>>> 
>>>>>> 
>>>>>>> On 2023-09-18, at 3:28 AM, Michael Barton <Michael.Barton at asu.edu> wrote:
>>>>>>> 
>>>>>>>  Mac ARM does not require Rosetta. I am using it on my MacBook Pro 2023 without Rosetta. 
>>>>>>> 
>>>>>>> I'm not sure what you mean by keeping your system free of Rosetta or changes in your system installation. I'm running MacOS 13.5.1. AFAIK, there is no Mac OS installation option to include or not include Rosetta. 
>>>>>>> 
>>>>>>> GRASS makes no changes to the OS. All dependencies are within the app. 
>>>>>>> 
>>>>>>> Michael
>>>>>>> _____________________________
>>>>>>> C. Michael Barton
>>>>>>> Associate Director, School of Complex Adaptive Systems (https://scas.asu.edu)
>>>>>>> Professor, School of Human Evolution & Social Change (https://shesc.asu.edu)
>>>>>>> Director, Center for Social Dynamics & Complexity (https://complexity.asu.edu)
>>>>>>> Arizona State University
>>>>>>> Tempe, AZ 85287-2701
>>>>>>> USA
>>>>>>> 
>>>>>>> Executive Director, Open Modeling Foundation (https://openmodelingfoundation.github.io)
>>>>>>> Director, Network for Computational Modeling in Social & Ecological Sciences (https://comses.net)
>>>>>>> 
>>>>>>> personal website: http://www.public.asu.edu/~cmbarton 
>>>>>>> 
>>>>>>> 
>>>>>>>> On Sep 17, 2023, at 6:24 PM, Gregor Hintner <gregorhintner at icloud.com> wrote:
>>>>>>>> 
>>>>>>>> I have no practical way to run GRASS since the Mac ARM version requires Rosetta. I want to keep my system free of Rosetta, or any irreversible changes it might make in my system installation. 
>>>>>>>> 
>>>>>>>> In order to run GRASS I would need an actual Apple Silicon native binary.
>>>>>>>> 
>>>>>>>> I hope I read the question correctly this time.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Thanks, 
>>>>>>>> G
>>>>>>>> 
>>>>>>>>> On 2023-09-18, at 3:13 AM, Michael Barton <Michael.Barton at asu.edu> wrote:
>>>>>>>>> 
>>>>>>>>>  You misunderstand my question. Did you try to import a DWG into GRASS? If so, what steps did you go through and what was the output in the console?  
>>>>>>>>> 
>>>>>>>>> MIchael 
>>>>>>>>> _____________________________
>>>>>>>>> C. Michael Barton
>>>>>>>>> Associate Director, School of Complex Adaptive Systems (https://scas.asu.edu)
>>>>>>>>> Professor, School of Human Evolution & Social Change (https://shesc.asu.edu)
>>>>>>>>> Director, Center for Social Dynamics & Complexity (https://complexity.asu.edu)
>>>>>>>>> Arizona State University
>>>>>>>>> Tempe, AZ 85287-2701
>>>>>>>>> USA
>>>>>>>>> 
>>>>>>>>> Executive Director, Open Modeling Foundation (https://openmodelingfoundation.github.io)
>>>>>>>>> Director, Network for Computational Modeling in Social & Ecological Sciences (https://comses.net)
>>>>>>>>> 
>>>>>>>>> personal website: http://www.public.asu.edu/~cmbarton 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> On Sep 17, 2023, at 5:29 PM, Gregor Hintner <gregorhintner at icloud.com> wrote:
>>>>>>>>>> 
>>>>>>>>>> Hours of online research, this stackoverflow post mentioning GDAL as at least one possible DWG GeoJSON bridge, and finding GRASS as one of the only actively maintained Mac compatible GIS tools.
>>>>>>>>>> 
>>>>>>>>>> I find it puzzling that AutoDesk themselves offer almost no export format choices for AutoCAD for Mac, see this support article, and no JSON export for somewhat more capable Windows version.
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> G
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> On 2023-09-18, at 2:16 AM, Michael Barton <Michael.Barton at asu.edu> wrote:
>>>>>>>>>>> 
>>>>>>>>>>>  Gregor,
>>>>>>>>>>> 
>>>>>>>>>>> I am asking how you are trying to import DWG files in GRASS? What steps dod you go through? You must have done something in order to get the behavior you are asking about.
>>>>>>>>>>> 
>>>>>>>>>>> Michael
>>>>>>>>>>> _____________________________
>>>>>>>>>>> C. Michael Barton
>>>>>>>>>>> Associate Director, School of Complex Adaptive Systems (https://scas.asu.edu)
>>>>>>>>>>> Professor, School of Human Evolution & Social Change (https://shesc.asu.edu)
>>>>>>>>>>> Director, Center for Social Dynamics & Complexity (https://complexity.asu.edu)
>>>>>>>>>>> Arizona State University
>>>>>>>>>>> Tempe, AZ 85287-2701
>>>>>>>>>>> USA
>>>>>>>>>>> 
>>>>>>>>>>> Executive Director, Open Modeling Foundation (https://openmodelingfoundation.github.io)
>>>>>>>>>>> Director, Network for Computational Modeling in Social & Ecological Sciences (https://comses.net)
>>>>>>>>>>> 
>>>>>>>>>>> personal website: http://www.public.asu.edu/~cmbarton 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> On Sep 17, 2023, at 4:50 PM, Gregor Hintner <gregorhintner at icloud.com> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> I have no previous experience with GRASS, I can specify no specific modules. 
>>>>>>>>>>>> 
>>>>>>>>>>>> I simply wanted to find an Apple Silicon compatible map authoring tool that allowed me to, import, view and edit property line geometry from a DWG file.
>>>>>>>>>>>> I might have misjudged the feature scope of GRASS for that purpose. 
>>>>>>>>>>>> 
>>>>>>>>>>>> In regard to listing a release as “Apple ARM”, I would expect it to only contain fully ARM native code, and no x86 architecture dependencies. 
>>>>>>>>>>>> I really see no room for negotiation or interpretation here.
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> Gregor
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>>> On 2023-09-18, at 1:27 AM, Michael Barton <Michael.Barton at asu.edu> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>>  These are up to date. The ARM apps are set up to not require Rosetta for normal GRASS modules. However, whether or not a piece of code will run natively with Apple Silicon depends on how that code was developed and its dependencies. I am compiling the normal GRASS source code, however it is designed. 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> You say that you "hoped for GRASS GIS to help me on the DWG to GeoJSON conversion and editing". Which GRASS modules are you using for this? If it is a regular GRASS module, then the best bet is to contact the developer who is maintaining that module or to post your question on the GRASS dev list. 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Michael
>>>>>>>>>>>>> _____________________________
>>>>>>>>>>>>> C. Michael Barton
>>>>>>>>>>>>> Associate Director, School of Complex Adaptive Systems (https://scas.asu.edu)
>>>>>>>>>>>>> Professor, School of Human Evolution & Social Change (https://shesc.asu.edu)
>>>>>>>>>>>>> Director, Center for Social Dynamics & Complexity (https://complexity.asu.edu)
>>>>>>>>>>>>> Arizona State University
>>>>>>>>>>>>> Tempe, AZ 85287-2701
>>>>>>>>>>>>> USA
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Executive Director, Open Modeling Foundation (https://openmodelingfoundation.github.io)
>>>>>>>>>>>>> Director, Network for Computational Modeling in Social & Ecological Sciences (https://comses.net)
>>>>>>>>>>>>> 
>>>>>>>>>>>>> personal website: http://www.public.asu.edu/~cmbarton 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On Sep 16, 2023, at 4:42 PM, Gregor Hintner <gregorhintner at icloud.com> wrote:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> - GRASS 8.3.0 Apple ARM, 23/6/24
>>>>>>>>>>>>>> - GRASS 8.4dev Apple ARM, 23/8/14
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> both downloaded today from cmbarton.github.io/grass-mac/download .
>>>>>>>>>>>>>> Both prompted for Rosetta during launch. 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> U subsequently did encounter the same unexpected Rosetta prompt from the Mac ARM version 0.21.1 of freecad , so who knows whether macOS Sonoma does trigger some unexpected incompatibility. Other third party Apple Silicon, ARM releases run just fine though, eg. solvespace and everything published on the App Store of course. 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Gregor
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> On 2023-09-16, at 8:12 PM, Michael Barton <Michael.Barton at asu.edu> wrote:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>  Greg, 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Can you tell me which version you downloaded, when you downloaded it, and when it was compiled
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Michael Barton
>>>>>>>>>>>>>>> _____________________________
>>>>>>>>>>>>>>> C. Michael Barton
>>>>>>>>>>>>>>> Associate Director, School of Complex Adaptive Systems (https://scas.asu.edu)
>>>>>>>>>>>>>>> Professor, School of Human Evolution & Social Change (https://shesc.asu.edu)
>>>>>>>>>>>>>>> Director, Center for Social Dynamics & Complexity (https://complexity.asu.edu)
>>>>>>>>>>>>>>> Arizona State University
>>>>>>>>>>>>>>> Tempe, AZ 85287-2701
>>>>>>>>>>>>>>> USA
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Executive Director, Open Modeling Foundation (https://openmodelingfoundation.github.io)
>>>>>>>>>>>>>>> Director, Network for Computational Modeling in Social & Ecological Sciences (https://comses.net)
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> personal website: http://www.public.asu.edu/~cmbarton 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> On Sep 16, 2023, at 7:44 AM, Gregor Hintner <gregorhintner at icloud.com> wrote:
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Dear Prof. Barton, 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> thank you for maintaining GRASS GIS bundles for, indeed, the world’s best computers.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> I have no previous GIS experience, but have come to look for a way of converting positioning data, delivered to me in 3D DWG format from a land survey assignment, to IGES or STEP, and GeoJSON for further use.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> I had hoped for GRASS GIS to help me on the DWG to GeoJSON conversion and editing side, but your most recent listed stable and development Apple ARM releases have both asked for Rosetta ton run. 
>>>>>>>>>>>>>>>> May I ask you to help me understand why?
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> I do run the latest MacOS Sonoma Beta, I see no reason how or why this should affect Rosetta requirement however.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Kind regards, 
>>>>>>>>>>>>>>>> Gregor Hintner
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>>>> 
>>> 
> 



More information about the grass-dev mailing list