Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Use flag in parenthesis (-gd) - why, how to troubleshoot
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
te36
n00b
n00b


Joined: 24 Dec 2013
Posts: 17

PostPosted: Thu Nov 21, 2024 1:19 pm    Post subject: Use flag in parenthesis (-gd) - why, how to troubleshoot Reply with quote

I am trying to get dev-perl/Template-Toolkit emerged with 'gd' use flag set:

Code:
[ebuild  N     ] dev-perl/Template-Toolkit-3.102.0::gentoo  USE="xml (-gd) -latex -mysql -postgres -test -vim-syntax" PERL_FEATURES="(-debug) -ithreads -quadmath" 511 KiB


Even when i explicitly include "gd" into the package.use file or even USE="... gd" in make.conf!!

--
https://wiki.gentoo.org/wiki/USE_flag :
Check which USE flags are enabled for a single package, without calculating all of its dependencies:

emerge --nodeps --pretend dev-perl/Template-Toolkit

Code:
[ebuild  N     ] dev-perl/Template-Toolkit-3.102.0  USE="xml (-gd) -latex -mysql -postgres -test -vim-syntax" PERL_FEATURES="(-debug) -ithreads -quadmath"


Does this mean i should be able to find a reason for (-gd) in the package ebuild ? I can not.

What evil magic is happening here in the depth of portage, and why can i not find any documenation for it, for example in aforementioned wiki page ??

More importantly though: what can i do to fix this ?

[Administrator edit: added [code] tags to preserve output layout. -Hu]
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1933

PostPosted: Thu Nov 21, 2024 1:28 pm    Post subject: Reply with quote

profiles/base/package.use.stable.mask:
Code:
# Kent Fredric <kentnl@gentoo.org> (2019-07-30)
# These features require dev-perl/GD, which currently can't be
# considered stable due to serious defects upstream. Bug #661634
app-misc/g15daemon perl
dev-lang/php coverage
dev-perl/Business-ISBN barcode
dev-perl/Template-Toolkit gd
media-fonts/unifont utils fontforge
media-video/vdrsync dvdr

Looks like old references that were not cleaned up after (re)stable of dev-perl/GD. Suggest filing a bug if one does not yet exist.
In the mean time, placing dev-perl/Template-Toolkit in package.accept_keywords will allow the gd flag to become available.
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3747
Location: Rasi, Finland

PostPosted: Thu Nov 21, 2024 1:30 pm    Post subject: Re: Use flag in parenthesis (-gd) - why, how to troubleshoot Reply with quote

te36 wrote:
What evil magic is happening here in the depth of portage, and why can i not find any documenation for it, for example in aforementioned wiki page ??
It's the man pages that will reveal the secrets of the evil magic:
man emerge:
       --verbose [ y | n ], -v
              Tell emerge to run  in  verbose  mode.   Currently  this  flag
              causes  emerge  to  print  out GNU info errors, if any, and to
              show the USE flags that will be used  for  each  package  when
              pretending.  The following symbols are affixed to USE flags in
              order to indicate their status:

              Symbol   Location    Meaning
              ──────────────────────────────────────────────────────────────

              -        prefix      not enabled (either disabled or removed)
              *        suffix      transition to or from the enabled state
              %        suffix      newly added or removed
              ()       circumfix   forced, masked, or removed
              {}       circumfix   state is bound to FEATURES settings
So either that USE-flag is removed or forced to be off. This forcing may come from your selected profile. The reason for forcing is usually because the such feature that the particular USE-flag provides cannot be enabled in the selected profile (or architecture). If it was enabled it may cause build error or simply not have any benefits on the currently selected profile (or architecture).

EDIT: As stated above, also accepted keyword may affect which use flags are forced on or off.
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!


Last edited by Zucca on Thu Nov 21, 2024 1:35 pm; edited 1 time in total
Back to top
View user's profile Send private message
te36
n00b
n00b


Joined: 24 Dec 2013
Posts: 17

PostPosted: Thu Nov 21, 2024 1:31 pm    Post subject: Reply with quote

Thanks so much. Bonus question: If i wanted to improve the wiki so muggles like myself would be able to figure this out by themselves... what should it say?? would one need to know to look at that file or is there any tool giving an indicator that thisis the reason ?
Back to top
View user's profile Send private message
te36
n00b
n00b


Joined: 24 Dec 2013
Posts: 17

PostPosted: Thu Nov 21, 2024 2:06 pm    Post subject: Reply with quote

@Zucca Thanks for the pointer to the doc and explanation, The man page IMHO is broken too, because the output shown does occur with or without the --verbose option enabled on the CLI. Oh well.

I've tried to summarize the feedback provided here to

https://wiki.gentoo.org/wiki/USE_flag

USE flags in () parenthesis are forced, masked or removed. This forcing may come from the selected profile or architecture. To understand why, you may need to analyse the profile file, such as "profiles/base/package.use.stable.mask". If you think the masking in the profile is in error, you may try to unmask it by adding the package (with no flags) to the "package.accept_keywords" file. If the masking was not in error, you will likely end up with either a broken build or no change at all (because the USE flag was not functional).

Hope this is useful.

Will try to emerge what i came here for (logitechmediaserver ultimately), and if i don't run into isues, i'll try to figure out how to search/open a bug against the masking.
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3747
Location: Rasi, Finland

PostPosted: Thu Nov 21, 2024 2:08 pm    Post subject: Reply with quote

Thank you very much for your contribution to the wiki. :)
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22730

PostPosted: Thu Nov 21, 2024 2:48 pm    Post subject: Reply with quote

Accepting unstable keywords only changes the behavior if the USE flag was masked via the use.stable.mask type mask. If it is blocked via use.mask, then accepting unstable keywords will have no effect on the mask. For example:
Code:
# ACCEPT_KEYWORDS=~amd64 USE=doc emerge -pvO repolite

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

[ebuild  N     ] dev-util/repolite-0.6.2-r1::gentoo  USE="(-doc)" PYTHON_TARGETS="python3_12 -python3_10 -python3_11" 58 KiB
This package's USE=doc is masked in profiles/base/package.use.mask with the note:
Code:
# Joonas Niilola <juippis@gentoo.org> (2024-11-07)
# Dependency for generating docs not packaged in Gentoo. #942992
dev-util/repolite doc
Compare to the success you got, where accepting unstable had an effect:
Code:
# ACCEPT_KEYWORDS='amd64 -~amd64' USE=gd emerge -pvO Template-Toolkit

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

[ebuild  N     ] dev-perl/Template-Toolkit-3.102.0::gentoo  USE="(-gd) -latex -mysql -postgres -test -vim-syntax -xml" PERL_FEATURES="(-debug) -ithreads -quadmath" 511 KiB

Total: 1 package (1 new), Size of downloads: 511 KiB
# ACCEPT_KEYWORDS='amd64 ~amd64' USE=gd emerge -pvO Template-Toolkit

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

[ebuild  N     ] dev-perl/Template-Toolkit-3.102.0::gentoo  USE="gd -latex -mysql -postgres -test -vim-syntax -xml" PERL_FEATURES="(-debug) -ithreads -quadmath" 511 KiB

Total: 1 package (1 new), Size of downloads: 511 KiB
Back to top
View user's profile Send private message
te36
n00b
n00b


Joined: 24 Dec 2013
Posts: 17

PostPosted: Sun Nov 24, 2024 4:17 am    Post subject: Reply with quote

@Hu sorry, but i am not sure i can parse correctly what you are trying to say. Can you rephrase ?
Back to top
View user's profile Send private message
te36
n00b
n00b


Joined: 24 Dec 2013
Posts: 17

PostPosted: Sun Nov 24, 2024 4:19 am    Post subject: Reply with quote

Opened https://bugs.gentoo.org/944789 about the mask in the system profile.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22730

PostPosted: Sun Nov 24, 2024 2:59 pm    Post subject: Reply with quote

Your addition to the Wiki, though well meaning, was incorrect. In some cases, adding the package to accept_keywords will override this use mask. As I read what you put on the Wiki, you are saying that in all cases, adding the package to accept_keywods will override the use mask. That is overly broad, and therefore readers in certain situations may try your advice and find that it does not work. I provided a demonstration of a package (repolite) where your instructions do not override the mask.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo 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