Smithsonian / Smithsonian/layup

Conda installing assit and rebound on a fresh env causes issues

Open
#517 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
10
Forks
2
Avg merge
1d 43m
Merged PRs (30d)
58

Description

Conda installing assist and rebound causes OS errors in Layup when ran. Most likely a version issue.

Layup works if assist and rebound are only installed with pip install -e '.[dev]'

Below is the error message that occurs if assist and rebound are conda-installed:

Traceback (most recent call last):
  File "/users/40294714/.conda/envs/layup/bin/layup", line 6, in <module>
    sys.exit(main())
             ^^^^^^
  File "/mnt/scratch2/users/40294714/layup/src/layup_cmdline/main.py", line 101, in main
    code = verb_main()
           ^^^^^^^^^^^
  File "/mnt/scratch2/users/40294714/layup/src/layup_cmdline/comet.py", line 106, in main
    return execute(args)
           ^^^^^^^^^^^^^
  File "/mnt/scratch2/users/40294714/layup/src/layup_cmdline/comet.py", line 110, in execute
    from layup.comet import comet_cli
  File "/mnt/scratch2/users/40294714/layup/src/layup/comet.py", line 7, in <module>
    import rebound, assist
  File "/users/40294714/.conda/envs/layup/lib/python3.11/site-packages/assist/__init__.py", line 13, in <module>
    clibassist = cdll.LoadLibrary(pymodulespath + '/../libassist' + suffix)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/users/40294714/.conda/envs/layup/lib/python3.11/ctypes/__init__.py", line 454, in LoadLibrary
    return self._dlltype(name)
           ^^^^^^^^^^^^^^^^^^^
  File "/users/40294714/.conda/envs/layup/lib/python3.11/ctypes/__init__.py", line 376, in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: /users/40294714/.conda/envs/layup/lib/python3.11/site-packages/assist/../libassist.cpython-311-x86_64-linux-gnu.so: undefined symbol: reb_simulation_create_from_simulationarchive_with_messages
  • I have described the situation in which the bug arose, including what code was executed, information about my environment, and any applicable data others will need to reproduce the problem.
  • I have included available evidence of the unexpected behavior (including error messages, screenshots, and/or plots) as well as a description of what I expected instead.
  • If I have a solution in mind, I have provided an explanation and/or pseudocode and/or task list.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the fresh Conda environment and compare it with the working pip install -e '.[dev]' setup. Read src/layup/comet.py and the traceback's assist/__init__.py loading path, then inspect the installed assist and rebound versions and their native-library compatibility. Done means Conda-installed dependencies let Layup start without the undefined-symbol OSError.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.