Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 930123 - dev-lang/perl[ithreads] use flag not compatible with getbinpkg option for perl-packages
Summary: dev-lang/perl[ithreads] use flag not compatible with getbinpkg option for per...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-17 00:26 UTC by melser_regs@gmxpro.net
Modified: 2024-04-21 08:02 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description melser_regs@gmxpro.net 2024-04-17 00:26:32 UTC
emerge/portage can't handle the case where the "ithreads" use flag on perl is enabled when using getbinpkg in FEATURES.

The reason is that getbinpkg does not see a use flag change on the module itself and installs the binary version of the module (which goes to a different install location on non-threaded perl opposed to perl with ithreads enabled).

If perl then searches for the module it cannot find it. It should have been installed not from source.

To fix this we either need some global use flag on all affected perl modules (so binpkg sees a change in flags) or some way to permanently exclude all dev-perl and virtual/perl-* packages from a build which is not supported by emerge afaik

Reproducible: Always

Steps to Reproduce:
1. enable getbinpkg on FEATURES or EMERGE_DEFAULT_OPTS in /etc/portage/make.conf
2. enable "ithreads" use flag on perl and emerge it
3. try to install any binary perl package (for example XML::Parser) which install in wrong location
Actual Results:  
all binary perl packages are not compatible with ithreads use-flag on perl and getbinpkg. It breaks the system

Expected Results:  
Some way that perl-modules are excluded from getbinpkg if ithreads is enabled.
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-04-17 00:30:16 UTC
This is a frustrating one because it mostly doesn't matter for source builds (we warn the user on dev-lang/perl changing flags and then that's good enough really), but for binpkgs, you could have contaminated your cache and not realise until a while after.

I agree this makes it more pressing. If we can't fix bug 680496 any time soon, I tthink a global USE or something would be better than nothing.
Comment 2 Andreas K. Hüttel archtester gentoo-dev 2024-04-17 03:52:40 UTC
(In reply to Sam James from comment #1)
> This is a frustrating one because it mostly doesn't matter for source builds
> (we warn the user on dev-lang/perl changing flags and then that's good
> enough really), but for binpkgs, you could have contaminated your cache and
> not realise until a while after.
> 
> I agree this makes it more pressing. If we can't fix bug 680496 any time
> soon, I tthink a global USE or something would be better than nothing.

My suggestion would be a USE_EXPAND

PERL_FEATURES="debug ithreads quadmath"

which is auto-added by the eclass, and adds the corresponding runtime/buildtime dependency on perl ...

i.e. perl_features_quadmath => require dev-lang/perl[quadmath] 
and so on