Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
USE dependencies
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
wanne32
Tux's lil' helper
Tux's lil' helper


Joined: 11 Nov 2023
Posts: 78

PostPosted: Fri Jan 10, 2025 8:35 am    Post subject: USE dependencies Reply with quote

Every time i update @wolrd I spent half a day manually playing SAT solver for USE-dependencies on USE-Flags creating an larger and larger /etc/portage/package.use/zzz file preventing me using more and more binary packages.
Especially since emerge dosn't understand the difference between USE-Flags I put there because I need it and USE-Flags that are mere dependencies and should be removed with depclean when they are no longer needed.
I don't care if dev-qt/qtbase is build with gles2-only or -gles2-only. But emerge suggesting putting an infinit amount of lines that contradict the one before is less than helpful.
Is there any proper dependency solver or at least a proper machine readable output for all dependencies so that i can write my own one?
Back to top
View user's profile Send private message
Banana
Moderator
Moderator


Joined: 21 May 2004
Posts: 1840
Location: Germany

PostPosted: Fri Jan 10, 2025 8:43 am    Post subject: Reply with quote

This sounds to me you are doing indivdual settings, which lead into doing more individual stuff.

So maybe you can provide an example with output which tells us what are your problems/wishes
_________________
Forum Guidelines

PFL - Portage file list - find which package a file or command belongs to.
My delta-labs.org snippets do expire
Back to top
View user's profile Send private message
wanne32
Tux's lil' helper
Tux's lil' helper


Joined: 11 Nov 2023
Posts: 78

PostPosted: Fri Jan 10, 2025 9:12 am    Post subject: Reply with quote

I think the problem is not to complicated to understand. And of course the problem is now solved again manually and I am not that eager recompiling hundreds of packages to reproduce it.
There are a few different packages. A few require (over 5 edges) dev-qt/qtbase with gles2-only the others without.
I the end the solution was to compile media-video/pipewire and media-video/ffmpeg without v4l since I do not need that. But of course
emerge --update --deep --with-bdeps=y --ask @world
was never suggesting that instead first suggesting to add
>=dev-qt/qtbase-5.15.16 gles2-only to
/etc/portage/package.use/zzz
When I add that it will suggest to add
>=dev-qt/qtbase-5.15.16 -gles2-only
/etc/portage/package.use/zzz
and so on
What question do you have?
Back to top
View user's profile Send private message
nicop
Tux's lil' helper
Tux's lil' helper


Joined: 10 Apr 2014
Posts: 105

PostPosted: Fri Jan 10, 2025 2:07 pm    Post subject: Reply with quote

Although I wonder why I am responding to this thread, here is what others could read :

Some packages from dev-qt have "hard-links" for useflags (eg. opengl,gles2-only) and sometimes backtrack fails :
dev-qt/multimedia have dev-qt/qtgui:6[gles2-only=,png=,X?]
dev-qt/qtopengl have dev-qt/qtgui:6[gles2-only=] and dev-qt/qtwidgets:6[gles2-only=]
and so on for dev-qt/qtbase

My personal (and possibly ugly) solution is to apply useflags to the entire category :
dev-qt/* -gles2-only

For your example, media-libs/libv4l have this dep with qt6 enabled : dev-qt/qtbase:6[gui,opengl,widgets,-gles2-only]
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2613

PostPosted: Fri Jan 10, 2025 2:39 pm    Post subject: Reply with quote

I suggest moving zzz out of package.use/accept_keywords and starting over. Post problematic output, point out what's problematic and we will take over from there.

Your explanation is very unclear, but it sounds like you are getting repeated contradicting outputs from emerge for one and the same package, one time enable this, one time disable this. That suggests you may have something you should not have in world or package.mask/accept_keywords/use.

You don't need to recompile hundreds of packages to diagnose this issue, just replace --ask with --pretend and post wgetpastes.

I understand your frustration but if you don't want to do that to diagnose your issue, posts like that are completely unnecessary.

Best Regards,
Georgi
Back to top
View user's profile Send private message
wanne32
Tux's lil' helper
Tux's lil' helper


Joined: 11 Nov 2023
Posts: 78

PostPosted: Thu Jan 16, 2025 1:58 am    Post subject: Reply with quote

Sorry for not answering so long.
But again: Yes of course deleting zzz and searching manually for a solution that solves the problem.
I know exactly where this discussion is going if I post this output: Suggestions how to add use flags to satisfy all dependencies.
As I said I already found one without conflicting USE-Flags.
I do not want a solution for that particular problem. I want a general way to find solutions that satisfy all dependencies depending on my USE-Flag preference.


Quote:
My personal (and possibly ugly) solution is to apply useflags to the entire category :

The general scenario is that I have a few programs that still need X11, 32Bit and vaapi.
So I could in theory just add X, abi_x86_32 vaapi and opengl to everything and be fine.
But I do like that I most Programms are running without since this enables the possibility to copy them to my multimedia PC without recompiling that does not support either of these. (And I don't intend to change that. I like it minimalistic 64Bit/OpenGL ES/Vulkan/wayland only how it ist ;-).) Also compile time would go up significantly.
So I have to manually add the matching flags to a few programs but then I have to meet the dependencies, since emerge doesn't solves use-Flag dependencies automatically. Just suggests a solution to the immediate problem without checking if it leads to other conflicts.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20578

PostPosted: Thu Jan 16, 2025 4:26 am    Post subject: Reply with quote

wanne32 wrote:
I do not want a solution for that particular problem. I want a general way to find solutions
The general solution is to understand the output and come to the solution. If you don't understand the output of x, y, z, then it is difficult to explain what the solution is without that output.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2613

PostPosted: Thu Jan 16, 2025 8:05 am    Post subject: Reply with quote

pjp wrote:
wanne32 wrote:
I do not want a solution for that particular problem. I want a general way to find solutions
The general solution is to understand the output...


Rather the reasons behind that output.

wanne32 wrote:

I do not want a solution for that particular problem. I want a general way to find solutions that satisfy all dependencies depending on my USE-Flag preference.


If you won't play along, it's useless to start threads. In fact I hesitated to replay to you because you're one of those users that eventually will annoy me enough to make me start maintaining a list of users for whom I won't waste my time.

Now if you will, please give me something to work on or get at the top of that list.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9623
Location: beyond the rim

PostPosted: Thu Jan 16, 2025 10:55 am    Post subject: Reply with quote

wanne32 wrote:
I do not want a solution for that particular problem. I want a general way to find solutions that satisfy all dependencies depending on my USE-Flag preference.

There is no such thing as portage is not a mind-reading tool.


Quote:
So I have to manually add the matching flags to a few programs but then I have to meet the dependencies, since emerge doesn't solves use-Flag dependencies automatically. Just suggests a solution to the immediate problem without checking if it leads to other conflicts.

There are always at least two ways to solve a specific single USE-flag conflict (remove flag A or add flag B). Portage cannot assume which option you'd prefer. Therefore it provides you with the information to decide for yourself. If you don't like making decisions then maybe Gentoo is the wrong distribution for you.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2613

PostPosted: Thu Jan 16, 2025 12:52 pm    Post subject: Reply with quote

Genone wrote:
wanne32 wrote:
I do not want a solution for that particular problem. I want a general way to find solutions that satisfy all dependencies depending on my USE-Flag preference.

There is no such thing as portage is not a mind-reading tool.


Quote:
So I have to manually add the matching flags to a few programs but then I have to meet the dependencies, since emerge doesn't solves use-Flag dependencies automatically.


To add to Genone's response, emerge does, but you don't know how to talk its language.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum