Skip to content

Sub-dependencies may not have RPATH set #322

@WSH032

Description

@WSH032

When using linuxdeploy to package an AppImage containing a Python binary wheel (pillow), I encountered an interesting issue, which I have already reported to pillow: python-pillow/Pillow#9198. I am reporting it here as well, since linuxdeploy may have a different solution.

In short, pillow has an indirect dependency chain: PIL/_imaging.sopillow.libs/libxcb-64009ff3.so.1.1.0pillow.libs/libXau-154567c4.so.6.0.0.

PIL/_imaging.so correctly sets the RPATH, so it can find libxcb-64009ff3.so.1.1.0 at runtime.
However, libxcb-64009ff3.so.1.1.0 does not set RPATH, but at runtime it inherits the RPATH from PIL/_imaging.so, so it can also find libXau-154567c4.so.6.0.0.

When linuxdeploy processes _imaging.so, it can find libxcb-64009ff3.so.1.1.0 because _imaging.so has the correct RPATH set.
But when linuxdeploy processes libxcb-64009ff3.so.1.1.0, it cannot find libXau-154567c4.so.6.0.0 because libxcb-64009ff3.so.1.1.0 does not have RPATH set.

I have provided a detailed analysis in python-pillow/Pillow#9198, so my explanation here is more concise. If anything is unclear, I can provide additional details.


Can you confirm if this is a duplicate of #76? If so, has there been any solution after all these years?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions