-
Notifications
You must be signed in to change notification settings - Fork 710
[macOS] better rpath logic #7094
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
Conversation
This interferes with dead_strip_dylib, and pollutes the load commands, which have a size limit in recent macOS versions. We now rely on GHC to construct the correct -rpath entries *after* the linking phase by inspecting the produced dynamic product and adding -rpaths for all non-dead-stripped referenced libraries. See https://gitlab.haskell.org/ghc/ghc/-/commit/4ff93292243888545da452ea4d4c1987f2343591 or ghc/ghc@4ff9329 Commissioned-by: Mercury Technologies, Inc. (mercury.com)
Restarted the failed windows jobs |
I'm uneasy on this. I'd like to see the tests, which would break if that code is changed again. So if we need to wait until GHC 9.2 or 9.0 is released with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @angerman - let's talk about how to write tests for this, and I'd be happy to help see this through.
Co-authored-by: Emily Pillmore <[email protected]>
This is marked as "In progress" for 3.10. Is it? |
@angerman Yo! Do you need any help with this PR? |
@angerman should we pick this up again? AFAIK |
Note: if we decide to do this, we must carefully take into account that GHC will only keep as RPATHs the paths where linked libraries are found at link time. Specifically, some runtime paths should be included in the binary regardless of any library being found there at link time, if the user specifies so (namely So it is kind of fine if In fact,
However, with nix stores I think one might get one path per dependency. The paths determined by |
Hello, I am going through old PRs to check whether they are stale. If this PR is still “live”, write a comment and I will remove the |
This is the continuation of #7076
Please include the following checklist in your PR:
changelog.d
directory).Please also shortly describe how you tested your change. Bonus points for added tests!