assist
assist copied to clipboard
undefined symbol: reb_error?
Our conda build of sorcha is getting errors and it looks like its associated with the assist libraries.
OSError: /home/conda/feedstock_root/build_artifacts/sorcha_1702463297198/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.11/site-packages/assist/../libassist.cpython-311-x86_64-linux-gnu.so: undefined symbol: reb_error
Would you be able to take a look?
It looks like you are using a new version of rebound but and old version of assist.
We're getting assist from conda. Is the conda version of assist up to date or out of sync?
It might not be up to date. See issue #96. @mjuric, would you have time to guide me through that process?
I reproduced the problem:
$ mamba create -n sorcha-env-test -c conda-forge sorcha
$ conda activate sorcha-env-test
$ sorcha
Traceback (most recent call last):
File "/Users/mjuric/miniconda3/envs/sorcha-env-test/bin/sorcha", line 6, in <module>
from sorcha.sorcha import main
File "/Users/mjuric/miniconda3/envs/sorcha-env-test/lib/python3.11/site-packages/sorcha/__init__.py", line 4, in <module>
from .sorcha import cite
File "/Users/mjuric/miniconda3/envs/sorcha-env-test/lib/python3.11/site-packages/sorcha/sorcha.py", line 9, in <module>
from sorcha.ephemeris.simulation_driver import create_ephemeris
File "/Users/mjuric/miniconda3/envs/sorcha-env-test/lib/python3.11/site-packages/sorcha/ephemeris/__init__.py", line 27, in <module>
from .simulation_setup import (
File "/Users/mjuric/miniconda3/envs/sorcha-env-test/lib/python3.11/site-packages/sorcha/ephemeris/simulation_setup.py", line 3, in <module>
from assist import Ephem
File "/Users/mjuric/miniconda3/envs/sorcha-env-test/lib/python3.11/site-packages/assist/__init__.py", line 13, in <module>
clibassist = cdll.LoadLibrary(pymodulespath + '/../libassist' + suffix)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mjuric/miniconda3/envs/sorcha-env-test/lib/python3.11/ctypes/__init__.py", line 454, in LoadLibrary
return self._dlltype(name)
^^^^^^^^^^^^^^^^^^^
File "/Users/mjuric/miniconda3/envs/sorcha-env-test/lib/python3.11/ctypes/__init__.py", line 376, in __init__
self._handle = _dlopen(self._name, mode)
^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: dlopen(/Users/mjuric/miniconda3/envs/sorcha-env-test/lib/python3.11/site-packages/assist/../libassist.cpython-311-darwin.so, 0x0006): Symbol not found: _reb_create_simulation
Referenced from: <8FC1D2C4-141A-32CA-A5C7-65A2D9922BCA> /Users/mjuric/miniconda3/envs/sorcha-env-test/lib/python3.11/site-packages/libassist.cpython-311-darwin.so
Expected in: <596EE18A-D844-33B5-AB8A-86181DF868CC> /Users/mjuric/miniconda3/envs/sorcha-env-test/lib/python3.11/site-packages/librebound.cpython-311-darwin.so
Downgrading rebound to 3.28.3 makes it work. As @hannorein said, it's a version mismatch. This is arm64.
Looking at why this happened...
I made the necessary updates, and I'm now waiting on conda-forge bot to pick up the changes.
@matthewholman , let's find 30 min to meet & for me to walk you through the release process so conda repos get updated semi-automatically going forward (are you free later today)?
Thanks all for the help solving this