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

Insane library upgrade ordering #11

Open
l29ah opened this issue Jul 2, 2020 · 6 comments
Open

Insane library upgrade ordering #11

l29ah opened this issue Jul 2, 2020 · 6 comments

Comments

@l29ah
Copy link
Member

l29ah commented Jul 2, 2020

haskell-updater doesn't produce a proper order for the packages to be built in, and portage can't figure it out (as it thinks that all the libraries-to-be-rebuilt are present and in a good condition?), resorting to random-ish order and predictably failing at the first package due to the broken deps after ghc upgrade.

@solpeth
Copy link
Member

solpeth commented Jul 2, 2020

Yes, it is a pain. But I only experience failures with FEATURES=test enabled. Is this your case? If not that's something new to me.

@l29ah
Copy link
Member Author

l29ah commented Jul 2, 2020

No, tests aren't enabled.

@solpeth
Copy link
Member

solpeth commented Jul 2, 2020

Okay. I'm out of my depth with haskell-updater so hopefully someone else can take a look.

@l29ah
Copy link
Member Author

l29ah commented Jul 2, 2020

Seems like haskell-updater -- --with-bdeps=y --ignore-built-slot-operator-deps=y does the trick.

@solpeth
Copy link
Member

solpeth commented Jul 2, 2020

Good to know! Thanks for the tip!

@trofi
Copy link
Contributor

trofi commented Jul 2, 2020

That is usually a sign of circular dependencies (explicit or implicit). It should not happen for either USE=test or USE=-test. Both types of circular dependencies should be tracked down and cycles broken if possible. We don't have nice tools to do that though.

I usually brute-force my ways into the cycles like that:

  1. pick first package that fails to build
  2. try to rebuild it's depends, check what breaks to build
  3. collect graph manually (usually it's not too many steps)

Once done spot the cycle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants