View previous topic :: View next topic |
Author |
Message |
wanne32 Tux's lil' helper
Joined: 11 Nov 2023 Posts: 78
|
Posted: Fri Jan 10, 2025 8:35 am Post subject: USE dependencies |
|
|
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 |
|
|
Banana Moderator
Joined: 21 May 2004 Posts: 1840 Location: Germany
|
|
Back to top |
|
|
wanne32 Tux's lil' helper
Joined: 11 Nov 2023 Posts: 78
|
Posted: Fri Jan 10, 2025 9:12 am Post subject: |
|
|
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 |
|
|
nicop Tux's lil' helper
Joined: 10 Apr 2014 Posts: 105
|
Posted: Fri Jan 10, 2025 2:07 pm Post subject: |
|
|
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 |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2612
|
Posted: Fri Jan 10, 2025 2:39 pm Post subject: |
|
|
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 |
|
|
wanne32 Tux's lil' helper
Joined: 11 Nov 2023 Posts: 78
|
Posted: Thu Jan 16, 2025 1:58 am Post subject: |
|
|
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 |
|
|
pjp Administrator
Joined: 16 Apr 2002 Posts: 20578
|
Posted: Thu Jan 16, 2025 4:26 am Post subject: |
|
|
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 |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2612
|
Posted: Thu Jan 16, 2025 8:05 am Post subject: |
|
|
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 |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9623 Location: beyond the rim
|
Posted: Thu Jan 16, 2025 10:55 am Post subject: |
|
|
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 |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2612
|
Posted: Thu Jan 16, 2025 12:52 pm Post subject: |
|
|
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 |
|
|
|