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

X11-xft builds under Cabal 3.6, but not Cabal 3.8 #8495

Closed
elldritch opened this issue Sep 27, 2022 · 6 comments
Closed

X11-xft builds under Cabal 3.6, but not Cabal 3.8 #8495

elldritch opened this issue Sep 27, 2022 · 6 comments

Comments

@elldritch
Copy link

Here's a repository containing a project whose cabal build succeeds using Cabal 3.6, but not Cabal 3.8, complaining that:

$ cabal v2-build --minimize-conflict-set
Resolving dependencies...
Error: cabal: Could not resolve dependencies:
[__0] trying: cabal-xft-repro-0.0.1.0 (user goal)
[__1] trying: xmobar-0.44.2 (dependency of cabal-xft-repro)
[__2] rejecting: xmobar:-with_xft (constraint from project config
/root/cabal.project requires opposite flag selection)
[__2] trying: xmobar:+with_xft
[__3] next goal: X11-xft (dependency of xmobar +with_xft)
[__3] rejecting: X11-xft-0.3.4, X11-xft-0.3.3, X11-xft-0.3.1, X11-xft-0.3
(conflict: pkg-config package xft-any, not found in the pkg-config database)
[__3] trying: X11-xft-0.2
[__4] next goal: base (dependency of cabal-xft-repro)
[__4] rejecting: base-4.14.3.0/installed-4.14.3.0 (conflict: X11-xft =>
base<4.4)
[__4] skipping: base-4.17.0.0, base-4.16.3.0, base-4.16.2.0, base-4.16.1.0,
base-4.16.0.0, base-4.15.1.0, base-4.15.0.0, base-4.14.3.0, base-4.14.2.0,
base-4.14.1.0, base-4.14.0.0, base-4.13.0.0, base-4.12.0.0, base-4.11.1.0,
base-4.11.0.0, base-4.10.1.0, base-4.10.0.0, base-4.9.1.0, base-4.9.0.0,
base-4.8.2.0, base-4.8.1.0, base-4.8.0.0, base-4.7.0.2, base-4.7.0.1,
base-4.7.0.0, base-4.6.0.1, base-4.6.0.0, base-4.5.1.0, base-4.5.0.0,
base-4.4.1.0, base-4.4.0.0 (has the same characteristics that caused the
previous version to fail: excluded by constraint '<4.4' from 'X11-xft')
[__4] rejecting: base-4.3.1.0, base-4.3.0.0, base-4.2.0.2, base-4.2.0.1,
base-4.2.0.0, base-4.1.0.0, base-4.0.0.0, base-3.0.3.2, base-3.0.3.1
(constraint from non-upgradeable package requires installed instance)
[__4] fail (backjumping, conflict set: X11-xft, base, cabal-xft-repro)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: xmobar, cabal-xft-repro, base,
X11-xft, xmobar:with_xft

Oddly, I can reproduce this issue on both my Arch Linux laptop and desktop, but I can't get the issue to reproduce in a Docker container, even though the packages installed on my host machines are a superset of the packages installed in the container.

I've also checked that:

  • libxft is installed.
  • pkg-config is working.
  • pkg-config --modversion xft works.
  • pkg-config --list-all contains xft.
  • /usr/lib/pkgconfig/xft.pc exists and is valid.

I suspect this might be related to #8455 or #8494

I'm running GHC 9.0.2 installed using GHCup 0.1.18.0.

@gbaz
Copy link
Collaborator

gbaz commented Sep 28, 2022

Can you check if pkg-config --list-all contains any packages for which modversion fails?

@georgefst
Copy link

I'm seeing the same issue with evdev, which unsurprisingly relies on libevdev. I'm on Manjaro Linux (based on Arch).

Can you check if pkg-config --list-all contains any packages for which modversion fails?

Yes, precisely one package:

$ for pkg in $(pkg-config --list-all | while read p ; do echo $p | cut -f 1 -d ' ' ; done) ; do pkg-config --modversion $pkg ; done > /dev/null
Package libxfce4ui-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxfce4ui-1.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libxfce4ui-1', required by 'libxfce4sensors-1.0', not found

So this looks a lot like #8494. But I've compiled #8496 and that still gives me the same error.

@elldritch
Copy link
Author

Can you check if pkg-config --list-all contains any packages for which modversion fails?

Yup, here's my output. Similarly, one package is broken:

$ for pkg in $(pkg-config --list-all | while read p ; do echo $p | cut -f 1 -d ' ' ; done) ; do pkg-config --modversion $pkg ; done > /dev/null
Package gobject-introspection-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gobject-introspection-1.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'gobject-introspection-1.0', required by 'libpeas-1.0', not found
Package gobject-introspection-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gobject-introspection-1.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'gobject-introspection-1.0', required by 'libpeas-1.0', not found

@gbaz
Copy link
Collaborator

gbaz commented Sep 30, 2022

So this looks a lot like #8494. But I've compiled #8496 and that still gives me the same error.

@georgefst apologies. there was a typo disrupting the logic in that PR. give it another shot!

@georgefst
Copy link

So this looks a lot like #8494. But I've compiled #8496 and that still gives me the same error.

@georgefst apologies. there was a typo disrupting the logic in that PR. give it another shot!

Works! Awesome, thanks.

@gbaz
Copy link
Collaborator

gbaz commented Sep 30, 2022

Great. Closing this in favor of #8494

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