Skip to content

py-rattler install with a relative prefix path results in invalid dynamic library dependency paths #1037

@calebzulawski

Description

@calebzulawski

Checklist

  • I added a descriptive title
  • I searched open reports and couldn't find a duplicate

What happened?

After switching from mamba to py-rattler in my project, I started getting occasional strange behavior where files couldn't be found. Consider an environment conda with ncurses installed:

$ otool -L conda/lib/libncurses.6.dylib
conda/lib/libncurses.6.dylib:
	@rpath/libncurses.6.dylib (compatibility version 6.0.0, current version 6.0.0)
	conda/lib/libtinfo.6.dylib (compatibility version 6.0.0, current version 6.0.0, reexport)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.0.0)

Shouldn't libtinfo.6.dylib be one of @loader_path/libtinfo.6.dylib or perhaps @loader_path/../lib/libtinfo.6.dylib?

Edit:

I see that LC_RPATH is set to @loader_path/, so I believe it should be @rpath/libtinfo.6.dylib or @rpath/../lib/libtinfo.6.dylib

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions