Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 942355 - dev-lang/lazarus-3.4-r1: conflicting USE flags in ebuild
Summary: dev-lang/lazarus-3.4-r1: conflicting USE flags in ebuild
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Amy Liffey
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-27 13:51 UTC by Timo Ollech
Modified: 2024-11-01 13:32 UTC (History)
3 users (show)

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


Attachments
emerge --info (emerge--info.txt,10.53 KB, text/plain)
2024-10-27 13:54 UTC, Timo Ollech
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Timo Ollech 2024-10-27 13:51:08 UTC
World update fails with an error message about conflicting USE flags in dev-lang/lazarus.

Reproducible: Always

Steps to Reproduce:
1. run "emerge --ask --update --newuse @world"
Actual Results:  
emerge fails with the following error message:

!!! The ebuild selected to satisfy "dev-lang/lazarus" has unmet requirements.
- dev-lang/lazarus-3.4-r1::gentoo USE="gtk gui qt5 qt6 -extras -gtk2" ABI_X86="(64)"

  The following REQUIRED_USE flag constraints are unsatisfied:
    gui? ( exactly-one-of ( gtk2 gtk qt5 qt6 ) )

  The above constraints are a subset of the following complete expression:
    gui? ( exactly-one-of ( gtk2 gtk qt5 qt6 ) ) extras? ( gui )

(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

Expected Results:  
emerge should run successfully

I don't know which version of the ebuild causes this error, dev-lang/lazarus-2.0.12 is the installed version.
I have not set any USE flags myself.
Comment 1 Timo Ollech 2024-10-27 13:54:18 UTC
Created attachment 907015 [details]
emerge --info
Comment 2 Timo Ollech 2024-10-27 13:56:14 UTC
Ah, the error message reveals the version causing the error: dev-lang/lazarus-3.4-r1
Comment 3 Cănărău Constantin 2024-11-01 10:24:29 UTC
Hello, 

gui? ( exactly-one-of ( gtk2 gtk qt5 qt6 ) ) means that Lazarus can be build with only one platform from gtk2 qt5 or qt6. gtk which mean gtk3 is not ready, actually.
You have to set in package.use only one flag active, for example:
dev-lang/lazarus -gtk -gtk2 qt5 -qt6 
Anyway, the flags are incomplete. I opened a bug #936828 about that.
Comment 4 Timo Ollech 2024-11-01 11:45:09 UTC
(In reply to Cănărău Constantin from comment #3)
> Hello, 
> 
> gui? ( exactly-one-of ( gtk2 gtk qt5 qt6 ) ) means that Lazarus can be build
> with only one platform from gtk2 qt5 or qt6. gtk which mean gtk3 is not
> ready, actually.
> You have to set in package.use only one flag active, for example:
> dev-lang/lazarus -gtk -gtk2 qt5 -qt6 

Yes, but why do I have to do that anyway? I didn't have to care about it in earlier versions.
Comment 5 Cănărău Constantin 2024-11-01 13:30:11 UTC
Well, I am not a Gentoo developer to be able to explain the decisions behind and I  understand that useflags changes can be annoying. 
Here is my educated guest: historically, Lazarus was built with gtk2 by default and no others chooses were present. Then, around 2022, gtk2 went EOL so qt5 appear as option, then qt6. Unfortunately, Lazarus is not ready for gtk3. As qt5 and qt6 means a lot of dependencies, neither option became default. So right now there are mandatory decisions to make.
Comment 6 Timo Ollech 2024-11-01 13:32:25 UTC
Okay, that makes sense.