[Spice_discussion] CSPICE on M1 Apple-Silicon Macs

Bogdan Nicula bogdan at oma.be
Sun Apr 11 10:32:44 PDT 2021


unistd.h should definitely be included for the `access` function, according to both Single UNIX Specification and the Linux man page. It just happened to work without before macOS 11. This has to be done when NON_UNIX_STDIO is defined.

Cheers,
Bogdan

> On 11 Apr 2021, at 7:04 PM, Andrew Annex <aannex1 at jhu.edu> wrote:
> 
> Hey All,
> 
> Relevant to this discussion, CSPICE for aarch64 and osx-arm64 is now available through the conda-forge (https://urldefense.us/v3/__https://conda-forge.org__;!!PvBDto6Hs4WbVuu7!alg921JsoKRVa8jACkXDy_AW51sm7YRb4zlTo6QC5uDHX4Oxp03MF-PQU7-HmmFxCizxteODrVxtig$ , https://urldefense.us/v3/__https://anaconda.org/conda-forge/cspice__;!!PvBDto6Hs4WbVuu7!alg921JsoKRVa8jACkXDy_AW51sm7YRb4zlTo6QC5uDHX4Oxp03MF-PQU7-HmmFxCizxteOLOjO8Yw$  ). However, I don't own a Raspberry Pi or M1 mac to personally verify them. CI tests for spiceypy pass at least on aarch64, but tests are not currently run on osx-arm64 builds.
> 
> Once you have anaconda/miniconda installed on those systems you should be able to run 'conda install cspice -c conda-forge' to install CSPICE for those platforms. SpiceyPy will also work similarly by running 'conda install spiceypy -c conda-forge'. You maybe able to extract the compiled libraries/executable utilities from the zip files hosted by anaconda as well.
> 
> You can view the changes (not that many) I needed to perform to get it working at https://urldefense.us/v3/__https://github.com/conda-forge/cspice-feedstock/tree/master/recipe__;!!PvBDto6Hs4WbVuu7!alg921JsoKRVa8jACkXDy_AW51sm7YRb4zlTo6QC5uDHX4Oxp03MF-PQU7-HmmFxCizxteM3Sb4GIw$ . Interestingly, I did not need to patch inquire.c which maybe down to the various GCC flags that their CI workers configure for me, although I didn't investigate this difference. The only change I really needed to do was remove the use of the '-m64' GCC flag from the various mkprodct.csh scripts. 
> 
> I would be curious for people with the relevant hardware to try out spiceypy/cspice conda-forge distributions. 
> 
> -Andrew
> 
> From: Spice_discussion <spice_discussion-bounces at naif.jpl.nasa.gov> on behalf of Manikantan Ramadas <manikantan at istrac.gov.in>
> Sent: Friday, April 9, 2021 12:32 AM
> To: Wright, Edward D (US 392N) <edward.d.wright at jpl.nasa.gov>
> Cc: spice_discussion at naif.jpl.nasa.gov <spice_discussion at naif.jpl.nasa.gov>; mramadas at gmail.com <mramadas at gmail.com>
> Subject: Re: [Spice_discussion] CSPICE on M1 Apple-Silicon Macs
>  
> 
>       External Email - Use Caution      
> 
> 
> Hi all,
> 
> Please see the email below. This earlier mail didn't go through because of the PDF attachment, I had, I understand. 
> 
> Here I am sending the note in Text format. Hope it would help someone who is trying to get C SPICE library working on the Apple Silicon Macs.
> 
> 
> Thanks and Regards,
> Manikantan Ramadas
> -- 
> "By being pleasant always and smiling, it takes you nearer to God,
> nearer than any prayer." - Sri Ramakrishna Paramahamsa
> ------------------------------------------------------------------
> 
> 
> 
> 
> 
> 
> From: mramadas at gmail.com <mramadas at gmail.com>
> Sent: Thursday, April 8, 2021 12:17 AM
> To: Wright, Edward D (US 392N)
> Cc: spice_discussion at naif.jpl.nasa.gov; Manikantan Ramadas
> Subject: Re: [Spice_discussion] CSPICE on M1 Apple-Silicon Macs
>  
> Hi Mr.Edward Wright,
> 
> Sorry about the delay in getting back. I couldn’t spend much time on this until now.
> 
> Tonight, I did put in some time, and was able to make the SPICE Library compile on MacOS on Apple Silicon.
> It had to do with the inclusion of the unistd.h header file that gives the access() function explicitly in the cspice/src/inquire.c
> 
> I have written a short note on this. I have also include an Appendix in this Note on how to get the C Compiler environment going on Apple Silicon - because it was a bit of a learning curve for me, and it might help someone else.
> 
> I have attached the Note, and a short file inquire.c.diff that you may use to quickly patch the inquire.c file (for Apple Silicon - if you were to make a SPICE library package for this hardware platform) as in:
> patch inquire.c inquire.c.diff
> 
> Thanks and Regards
> R.Manikantan
> 
> 
>> On 05-Mar-2021, at 9:31 PM, Wright, Edward D (US 392N) <edward.d.wright at jpl.nasa.gov> wrote:
>> 
>> To: R Manikantan
>> From: Edward Wright
>> 
>> As of now, no work on an Apple ARM64 Mac by NAIF. We built and successfully tested CSPICE on the Raspberry Pi platform, so I believe an ARM64 build a solvable problem.
>> 
>> What compile errors did you observe?
>> 
>> As always,
>> Edward Wright
>> 
>> 
>> 
>> From: spice_discussion-bounces at naif.jpl.nasa.gov <spice_discussion-bounces at naif.jpl.nasa.gov> on behalf of Manikantan Ramadas <mramadas at gmail.com>
>> Sent: Wednesday, March 3, 2021 9:20:06 AM
>> To: spice_discussion at naif.jpl.nasa.gov
>> Subject: [Spice_discussion] CSPICE on M1 Apple-Silicon Macs
>>  
>> Hi all,
>> 
>> I was wondering if any of us have successfully compiled and using CSPICE library on the new Apple Silicon (ARM64) M1 Macs?
>> 
>> I got the gcc from Apple via Developer-Tools / XCODE package, but ran into certain compilation errors in the process. It would be good to know if anyone had already run into / solved issues on this front..
>> 
>> Thanks & Regards,
>> R Manikantan
>> _______________________________________________
>> Spice_discussion mailing list
>> Spice_discussion at naif.jpl.nasa.gov
>> https://naif.jpl.nasa.gov/mailman/listinfo/spice_discussion
> 
> _______________________________________________
> Spice_discussion mailing list
> Spice_discussion at naif.jpl.nasa.gov
> http://naif.jpl.nasa.gov/mailman/listinfo/spice_discussion




More information about the Spice_discussion mailing list