Thanks @rowland-208 for the report. Would be good to get more reports, if something could be tracked down. Did/could you try with a different python version? (all versions published should however have been tested in the automated tests)
It appears to be an issue with the jvm rather than orekit. Specifically openjdk=8.0.332. I can install openjdk=11 and javac executes without the os killing it. I’m trying to force operkit 11 and openjdk 11 at the moment. Also considering upgrading my OS.
(oretest) repos/leo-backend-od % sudo dmesg | grep -i python
[1117860.164103]: CODE SIGNING: cs_invalid_page(0x102c94000): p=80222[python3.9] final status 0x23000200, denying page sending SIGKILL
[1117860.164116]: CODE SIGNING: process 80222[python3.9]: rejecting invalid page at address 0x102c94000 from offset 0x0 in file "/Users/jrowland/miniforge3/envs/oretest/jre/lib/server/libjvm.dylib" (cs_mtime:1655621585.0 == mtime:1655621585.0) (signed:1 validated:1 tainted:1 nx:0 wpmapped:0 dirty:0 depth:0)
[1117863.655475]: CODE SIGNING: cs_invalid_page(0x100fb8000): p=80238[python3.9] final status 0x23000200, denying page sending SIGKILL
[1117863.655487]: CODE SIGNING: process 80238[python3.9]: rejecting invalid page at address 0x100fb8000 from offset 0x0 in file "/Users/jrowland/miniforge3/envs/oretest/jre/lib/server/libjvm.dylib" (cs_mtime:1655621585.0 == mtime:1655621585.0) (signed:1 validated:1 tainted:1 nx:0 wpmapped:0 dirty:0 depth:0)
(oretest) repos/leo-backend-od % javac
zsh: killed javac
I’m not sure this is the appropriate place to post this, but I’m having trouble getting the python wrapper to work completely on a MacBook Pro M2, MacOS 13.4 with Anaconda and python 3.8. For some very strange reason, it can’t seem to load the orekit-data (just downloaded an uncompressed a fresh version from the OREKIT site to make sure the formatting was right). The following code snippet fails at “earthframe =” with the dreaded “org.orekit.errors.OrekitException: no IERS UTC-TAI history data loaded”. Just to confirm, the tai-utc.dat file is in that directory.
import orekit
from java.io import File
from org.orekit.data import DataProvidersManager, DirectoryCrawler
from org.orekit.utils import IERSConventions
from org.orekit.frames import FramesFactory
datapath = 'orekit-data-master'
jccEnv = orekit.initVM(orekit.CLASSPATH, None, None, None, '')
datafile = File(datapath)
if not datafile.exists():
print('File :', datafile.absolutePath, ' not found')
else:
DM = DataProvidersManager()
crawler = DirectoryCrawler(datafile)
DM.clearProviders()
DM.addProvider(crawler)
print('Data Names: {0}'.format(DM.getLoadedDataNames()))
earthframe = FramesFactory.getITRF(IERSConventions.IERS_2010, True)
This is with OREKIT 11.3.2, openjdk 8.0.332 (I tried 8.0.312 and it makes no difference), and python 3.8.17. Here is my system profile:
System Software Overview:
System Version: macOS 13.4.1 (22F82)
Kernel Version: Darwin 22.5.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled
Time since boot: 20 days, 5 hours, 34 minutes
Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: Mac14,10
Model Number: MNW83LL/A
Chip: Apple M2 Pro
Total Number of Cores: 12 (8 performance and 4 efficiency)
Memory: 16 GB
System Firmware Version: 8422.121.1
OS Loader Version: 8422.121.1
Serial Number (system): CFF4Q19RHV
Hardware UUID: BDA8543B-D6E0-54C0-A51A-EC81B7E044F6
Provisioning UDID: 00006020-000A0891267B401E
Activation Lock Status: Disabled
Thanks for your report. Did you try using the supplied setup_orekit_curdir and use the zip from orekit, you can see how in some of the examples in Orekit Labs / Orekit Python Wrapper · GitLab ? Or maybe try your code and confirm it works on a x86 linux if you have access. Your setup code looks ok at a first glance but may be something, so please first try the default setup routine?
No! I didn’t know about that. I’m not new to OREKIT, but it’s been a while (OREKIT 7.1) since I last used it. So, I’m busy trying to port all my code over to the updated API. That was a detail I missed and now that is working just fine. Thank you! So, I can report it seems to be working on my M2 machine now.
Hi, orekit 11.3.3 is now released including rebuilt M1/M2 packages. As there is no way to perform automated M1/M2 tests today in the CI platform I would be thankful if some M1/M2 users could verify that the new ones are working…
I am on Mac M1 OS Ventura 13.5 and I am unable to import orekit after installation. I have tried all Python versions between 3.8 and 3.11. I have tried installing by specifying a version “conda install -c conda-forge orekit==11.3.3” and also not specifying a version “conda install -c conda-forge orekit”. I have also tried downgrading conda install openjdk=8.0.312 --no-deps but it won’t let me?
I consistently just get:
">>> import orekit
[1] 40643 killed python
Let me know if I can provide any more info that might be relevant!
`Software:
System Software Overview:
System Version: macOS 13.5 (22G74)
Kernel Version: Darwin 22.6.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Computer Name: Charles’s MacBook Pro
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled
Time since boot: 8 days, 23 hours, 51 minutes
Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro18,4
Model Number: Z15H000D1B/A
Chip: Apple M1 Max
Total Number of Cores: 10 (8 performance and 2 efficiency)
Memory: 32 GB
System Firmware Version: 8422.141.2
OS Loader Version: 8422.141.2
Serial Number (system): C7QK3JGX3J
Hardware UUID: 71D2586B-656F-51F6-AECD-FF6D48330DF5
Provisioning UDID: 00006001-001410CE3445801E
Activation Lock Status: Enabled
Hi @charlesc
Thanks for your report. When you say that it doesn’t let you downgrade to openjdk 8.0.312 do you mean that it still don’t work or that conda is refusing you to downgrade? In the later case you can create a new conda environment
conda create -n orekitenv orekit openjdk=8.0.312
you may want to add some other pacakges as well that you are using.
Further if I try to ask conda to find a suitable channel it can’t (eventhough it does manage to install somehow…)
conda search -c conda-forge openjdk=8.0.321
Loading channels: done
No match found for: openjdk=8.0.321. Search: *openjdk*=8.0.321
PackagesNotFoundError: The following packages are not available from current channels:
- openjdk=8.0.321
Current channels:
- https://conda.anaconda.org/conda-forge/osx-arm64
- https://conda.anaconda.org/conda-forge/noarch
- https://repo.anaconda.com/pkgs/main/osx-arm64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/r/osx-arm64
- https://repo.anaconda.com/pkgs/r/noarch
To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org
and use the search bar at the top of the page.
This makes me think that the issue is potentially with conda itself?
Yes this seems to be something with the conda and the dependencies there, suprising, it sounds like it “should work”
What I can recommend to try is to keep exclusively to the conda-forge channes as these are built on a different pipeline and may have different compiler settings etc. (The anaconda repositories are also under some licensing terms that are not free for all.). There is a file .condarc (can be in some different locations) that selects which and which order of repos to use. See Tips & tricks — conda-forge 2023.08.17 documentation