Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 821100 - dev-lang/ghc-8.0.2 depends on sys-libs/ncurses:0/6=[unicode] but sys-libs/ncurses-6.2_p20210619:0/6 does not have 'unicode' USE flag
Summary: dev-lang/ghc-8.0.2 depends on sys-libs/ncurses:0/6=[unicode] but sys-libs/ncu...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Haskell Language team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-10-31 16:10 UTC by Michael Moon
Modified: 2022-06-11 07:27 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge-info.txt,9.05 KB, text/plain)
2021-10-31 16:10 UTC, Michael Moon
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Moon 2021-10-31 16:10:20 UTC
Created attachment 747726 [details]
emerge --info

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

sys-libs/ncurses:0

(sys-libs/ncurses-6.2_p20210619:0/6::gentoo, ebuild scheduled for merge) USE="-ada cxx -debug -doc gpm -minimal -profile (split-usr) -static-libs -test (tinfo) -trace" ABI_X86="32 (64) (-x32)" conflicts with
sys-libs/ncurses:0/6=[unicode] required by (dev-lang/ghc-8.0.2:0/8.0.2::gentoo, installed) USE="-binary -doc -ghcbootstrap -ghcmakebinary gmp profile" ABI_X86="(64)"
^^^^^^^
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-10-31 16:17:17 UTC
Please share the full emerge output (and command).

Newer ghcs (for several months) have depended on “unicode(+)” which avoids this issue. The version you’re looking at hasn’t been in tree for quite some time.

I think the real problem is helping you to update. More backtracking would be a good start but hard to say without more information.
Comment 2 Tee KOBAYASHI 2021-10-31 16:34:22 UTC
It seems that dev-lang/ghc in gentoo repo does not have any stable ebuilds. So this should be expected to happen unless (at least) one of them is unmasked.
Comment 3 Michael Moon 2021-10-31 16:36:55 UTC
> Please share the full emerge output (and command).

# emerge --sync && emerge -avtDUu @world 
Unavailable repository 'guru' referenced by masters entry in '/var/lib/layman/tastytea/metadata/layout.conf'
>>> Syncing repository 'gentoo' into '/var/db/repos/gentoo'...
/usr/bin/git fetch origin --depth 1
remote: Enumerating objects: 174, done.
remote: Counting objects: 100% (174/174), done.
remote: Compressing objects: 100% (97/97), done.
remote: Total 97 (delta 51), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (97/97), 25.54 KiB | 264.00 KiB/s, done.
From https://anongit.gentoo.org/git/repo/gentoo
+ 2da78a043...a0e1a56ee master     -> origin/master  (forced update)
=== Sync completed for gentoo
[… trimmed irrelevant overlays …]

Action: sync for repo: gentoo, returned code = 0
[… trimmed irrelevant overlays …]

These are the packages that would be merged, in reverse order:

Calculating dependencies         ... done!                            

Total: 0 packages, Size of downloads: 0 KiB

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

sys-libs/ncurses:0

(sys-libs/ncurses-6.2_p20210619:0/6::gentoo, ebuild scheduled for merge) USE="-ada cxx -debug -doc gpm -minimal -profile (split-usr) -static-libs -test (tinfo) -trace" ABI_X86="32 (64) (-x32)" conflicts with
sys-libs/ncurses:0/6=[unicode] required by (dev-lang/ghc-8.0.2:0/8.0.2::gentoo, installed) USE="-binary -doc -ghcbootstrap -ghcmakebinary gmp profile" ABI_X86="(64)"
^^^^^^^ 


Nothing to merge; quitting.
Comment 4 Michael Moon 2021-10-31 16:37:55 UTC
> More backtracking would be a good start

# grep -i backtr /etc/portage/make.conf
EMERGE_DEFAULT_OPTS="--alphabetical --keep-going --load-average=8 --autounmask=y --autounmask-write=n --verbose-conflicts --backtrack=10"
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-10-31 17:45:40 UTC
(In reply to Tee KOBAYASHI from comment #2)
> It seems that dev-lang/ghc in gentoo repo does not have any stable ebuilds.
> So this should be expected to happen unless (at least) one of them is
> unmasked.

Haskell has not been stable for quite some time, although there wasn't a news item and there probably should have been.

Could you add dev-haskell/* and dev-lang/ghc to package.accept_keywords?
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-10-31 17:49:42 UTC
(In reply to Michael Moon from comment #4)
> > More backtracking would be a good start
> 
> # grep -i backtr /etc/portage/make.conf
> EMERGE_DEFAULT_OPTS="--alphabetical --keep-going --load-average=8
> --autounmask=y --autounmask-write=n --verbose-conflicts --backtrack=10"

I think 10 is the default, btw, so would try something like 100. But yeah, try p.accept_keywords.
Comment 7 Michael Moon 2021-11-01 06:20:22 UTC
Yeah I guess `accept_keywords` would sort it since there's no stable ghc and this issue is fixed in unstable ones, I mostly made this report so y'all would have it on your radar as something that's popping up for users.
Comment 8 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-11-01 12:44:30 UTC
(In reply to Michael Moon from comment #7)
> Yeah I guess `accept_keywords` would sort it since there's no stable ghc and
> this issue is fixed in unstable ones, I mostly made this report so y'all
> would have it on your radar as something that's popping up for users.

I think we should really have had (and should still do?) a news item for it, agreed.
Comment 9 onkobu 2022-06-11 07:05:15 UTC
(In reply to Sam James from comment #8)
> 
> I think we should really have had (and should still do?) a news item for it,
> agreed.

Now I had time to track down various dependency conflicts on some desktop machines I reached this bug. With ncurses being blocked many more packages block. This all boils down to sneaky unstable of ghc. Seems as if dev-lang/ghc-8.0.2 was the last stable build that isn't part of the repo anymore.

It is always a hassle if such seemingly irrelevant changes - unstable ghc - causes cascades like blocking ncurses and nearly everything else.

News item is a must then. I removed the only element from world that caused the havoc (shellcheck). In turn this cleaned all other dev-haskell atoms unblocking ncurses again.

And why is it still unconfirmed?
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-06-11 07:09:49 UTC
(In reply to onkobu from comment #9)
> (In reply to Sam James from comment #8)
> > 
> > I think we should really have had (and should still do?) a news item for it,
> > agreed.
> 
> Now I had time to track down various dependency conflicts on some desktop
> machines I reached this bug. With ncurses being blocked many more packages
> block. This all boils down to sneaky unstable of ghc. Seems as if
> dev-lang/ghc-8.0.2 was the last stable build that isn't part of the repo
> anymore.
> 
> It is always a hassle if such seemingly irrelevant changes - unstable ghc -
> causes cascades like blocking ncurses and nearly everything else.
> 
> News item is a must then. I removed the only element from world that caused
> the havoc (shellcheck). In turn this cleaned all other dev-haskell atoms
> unblocking ncurses again.

I agree. But someone needs to author it.

> 
> And why is it still unconfirmed?

UNCONFIRMED vs CONFIRMED doesn't mean that much. But sure.
Comment 11 onkobu 2022-06-11 07:27:42 UTC
I also didn't find any bug requesting stabilizing ghc as well as bumping to 9.4.*. I can create/ open one but don't want to overrule Gentoo's Haskell Language team.

Regarding news item I also see the same team in charge. Something along the lines of:

Since dev-lang/ghc-8.0.2 there is no stable build of ghc. This causes Bug#821100 which results in blocking of updates of sys-libs/ncurses. This is an essential library and blocks even more updates of other packages.

Preferrably solve this by adding dev-lang/ghc to package.accept-keywords followed by emerge --update. Instead you may also try emerge --ask --clean dev-lang/ghc in case it is not needed by other packages anymore. Finally cleaning a single package that pulls in the entire Haskell stack is up to you.