Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: Don't add system library directories to rpath #160

Open
wants to merge 13 commits into
base: main
Choose a base branch
from

Commits on Jun 28, 2024

  1. ENH: Don't add system library directories to rpath

    Last of the patches from pypa#73 
    Might close pypa/setuptools#3257
    
    Dual purposes here:
    - On platforms like Cygwin that don't have `rpath`, try to avoid adding things to `rpath`
    - Some distribution binary package makers require that no shared library list a system library directory (`/lib`, `/lib64`, `/usr/lib`, `/usr/lib64`) in its `rpath`; this patch simplifies the code to ensure the shared library can find its dependencies at runtime.
    DWesl committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    d56a32d View commit details
    Browse the repository at this point in the history
  2. ENH: Drop LIBDIR from RPATH only if starting with /usr/lib.

    Avoids problems with odd LIBDIR
    Package managers will be putting things in LIBDIR anyway,
    so this should catch all use-cases I know of.
    DWesl committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    18203a2 View commit details
    Browse the repository at this point in the history
  3. TST: Get all tests passing on Cygwin.

    The check reference caused docutils problems with no ldesc.
    The cygwinccompiler change produced a DeprecationWarning.
    DWesl committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    22a78ae View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0a479d3 View commit details
    Browse the repository at this point in the history
  5. CI: Install a library to link to on Cygwin

    Cygwin separates import libraries from dynamic libraries (needed link time vs run time).
    DWesl committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    7b693ab View commit details
    Browse the repository at this point in the history
  6. TST: Try testing rpath with non-FHS library dir

    Let's see if I got the syntax right.
    
    Next step will be hooking the temporary /tmp/libxx_z.so file handling into pytest's tempfile handling.
    DWesl committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    19ea50b View commit details
    Browse the repository at this point in the history
  7. TST: Use different library file for link test

    The old test seemed to pick up the 32-bit library, not the 64-bit one.
    The new test should pick up the 64-bit one consistently when relevant.
    DWesl committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    9d45f13 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2024

  1. Configuration menu
    Copy the full SHA
    3fb6828 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. TST: Clarify RPATH testing asserts.

    Still need to get the test compiling in the alternate location.  Did I add -L/tmp?
    DWesl authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    9e873c2 View commit details
    Browse the repository at this point in the history
  2. FIX: Sort library names by length to avoid links

    I think /usr/lib/libz.so links to /usr/lib/libz.so.10, which in turn links to /usr/lib/libz.so.10.5.1 (numbers may differ), with the last being the actual library.  Ensure that is the one I copy for linking.
    DWesl authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    bd5b614 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. BUG: Resolve links before sorting library paths.

    Maybe this will work better?  I should look into whether ELF `so`s store their basename.
    DWesl authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    c9c550f View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. TST: Remove the part of the new test checking old behavior.

    Not the best solution, but I don't know how to check rpath in a manner that doesn't crash.
    DWesl authored Sep 11, 2024
    Configuration menu
    Copy the full SHA
    0a7fb2c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c009de8 View commit details
    Browse the repository at this point in the history