-
Notifications
You must be signed in to change notification settings - Fork 710
Building a dynamic binary with ghc-HEAD leaves redundant RUNPATHs in a binary #4046
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
Comments
The configure command didn't have a dynlibdir set. Maybe this is just a bug where sandbox isn't configuring the dynlibdir? |
Actually, should be much simpler than that; we just have to uncomment this:
|
GHC(-HEAD) does not use a shared directory for dynamic libraries of the base packages, there's nothing that Cabal can do about this. So even with the
So, if you just want 2 RPATHs (global db + user/sandbox db), then file a bug report/feature request with GHC, so that the bundled dynamic libraries end up in a single shared directory. |
I just pushed a commit to master to turn version testing back on. Should help. |
However, as @ezyang noted, Cabal-HEAD should uncomment the |
After @ezyang 's f48e17b commit
And
31 -> 17 reduction! 15 of them are GHC-bundled libs. I'll report the rest to GHC. Thank you! |
The setup is ghc-HEAD/Cabal-HEAD.
It's a fallout of #4025 (insecure RUNPATHs)
This bug is about redundant RUNPATHs:
All hackage packages I have installed are globally installed packages.
For globally installed packages I would expect 2 RUNPATHs here:
/tmp/foo/.cabal-sandbox/lib/x86_64-linux-ghc-8.1.20161026
)/usr/lib64/x86_64-linux-ghc-8.1.20161026
).We have the as the first and the last. But also a lot of intermediates:
MissingH example:
Seems Cabal does not populate
dynamic-library-dirs
here.I built MissingH as:
The text was updated successfully, but these errors were encountered: