-
Notifications
You must be signed in to change notification settings - Fork 704
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
Silence GHC 8.4's "ignoring (possibly broken) abi-depends field for packages" warning #5465
Comments
Unfortunately, I couldn't make it done yet. I was trying to make But that doesn't help. I even tried to comment Could you please give me some advice where to go further? |
@vrom911 I did a very crude empiric test, diff --git a/Cabal/Distribution/Simple/Register.hs b/Cabal/Distribution/Simple/Register.hs
index 1756833..e2c704f 100644
--- a/Cabal/Distribution/Simple/Register.hs
+++ b/Cabal/Distribution/Simple/Register.hs
@@ -437,7 +437,7 @@ generalInstalledPackageInfo adjustRelIncDirs pkg abi_hash lib lbi clbi installDi
IPI.includeDirs = absinc ++ adjustRelIncDirs relinc,
IPI.includes = includes bi,
IPI.depends = depends,
- IPI.abiDepends = abi_depends,
+ IPI.abiDepends = [], -- abi_depends,
IPI.ccOptions = [], -- Note. NOT ccOptions bi!
-- We don't want cc-options to be propagated
-- to C compilations in other packages. which did have the effect to silence GHC 8.4.3's |
@vrom911 oh, there's one thing I forgot to mention: setting |
reopening to keep track for a potential backport to 2.2 |
A am not sure if this is any helpful. Just want to mention it. My project has a transitive dependency on hspec-discover. It builds fine with stack on travis-ci. However, the build with appveyor fails, because of this "ignoring (possibly broken) abi-depends field for packages" warning. Both build with ghc 8.4. Stack uses linux, appveyor uses windows. How can it be that one build goes well, and the other one fails?? |
@hanjoosten I don't know why Stack would fail to have reproducible results across CI systems but I wouldn't recommend Stack anyway; instead, since you've come to the cabal issue tracker, I'd suggest giving https://hub.zhox.com/posts/chocolatey-introduction/ a try and see if that works better for you. |
@hvr thanks for the pointer to chocolatey. As a simple user of the build systems, I am not aware of the nitty gritty details. I was in the impression that stack offers a layer on top of cabal, making sure that any build can be reproduced because of it keeps track of the exact versions of each package used. |
Well, clearly it doesn't live up to that hype... :-) Also, you don't need to burden yourself with the cost of an additional point of failure by using a wrapper tool such as Stack: Vanilla |
@hvr: I think the closer analog to doing what |
Backport to 2.2 won't happen. |
GHC 8.4 started emitting the following noisy warning whenever a package registration (IPI) includes a
abi-depends:
field (see https://ghc.haskell.org/trac/ghc/ticket/14381 for more details) cluttering the output:This affects GHC 8.4.3 (but it probably won't affect GHC 8.4.4); since
abi-depends
is ignored loudly we ought to simply omit populating this field for GHCs which noisy warn about it being ignored anyway.More generally, as it's effectively redundant (it would mostly provide an additional check in case cabal screws up the nix-style hash computation) and some distributions started to patch GHC 8.2.2; so we might as well never populate
abi-depends
.The text was updated successfully, but these errors were encountered: