Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] emerge --emptytree fails after profile 23.0 upgrade
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
marcelser
Tux's lil' helper
Tux's lil' helper


Joined: 30 Sep 2004
Posts: 99

PostPosted: Tue Apr 16, 2024 5:05 pm    Post subject: [SOLVED] emerge --emptytree fails after profile 23.0 upgrade Reply with quote

Hi,

I have upgrade my amd64 profile from 17.1 to 23.0 according to the news article that was published. Everything worked smooth but as the last step it was recommended to re-emerge everything with:
Code:
emerge --ask --emptytree @world


But after 900 packages out of 1500 it failed in
Code:
net-dns/dnssec-root-20181220-r1::gentoo
with the following error:

Code:
>>> Source configured.
>>> Compiling source in /var/tmp/portage/net-dns/dnssec-root-20181220-r1/work/dnssec-root-20181220 ...
Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC entries checked: /etc/perl /usr/local/lib64/perl5/5.38/x86_64-linux-thread-multi /usr/local/lib64/perl5/5.38 /usr/lib64/perl5/vendor_perl/5.38/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.38 /usr/lib64/perl5/5.38/x86_64-linux-thread-multi /usr/lib64/perl5/5.38 /usr/lib64/perl5/vendor_perl/5.36) at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath/XMLParser.pm line 5.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath/XMLParser.pm line 5.
Compilation failed in require at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath.pm line 23.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath.pm line 23.
Compilation failed in require at /usr/bin/xpath line 5.
BEGIN failed--compilation aborted at /usr/bin/xpath line 5.
Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC entries checked: /etc/perl /usr/local/lib64/perl5/5.38/x86_64-linux-thread-multi /usr/local/lib64/perl5/5.38 /usr/lib64/perl5/vendor_perl/5.38/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.38 /usr/lib64/perl5/5.38/x86_64-linux-thread-multi /usr/lib64/perl5/5.38 /usr/lib64/perl5/vendor_perl/5.36) at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath/XMLParser.pm line 5.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath/XMLParser.pm line 5.
Compilation failed in require at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath.pm line 23.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath.pm line 23.
Compilation failed in require at /usr/bin/xpath line 5.
BEGIN failed--compilation aborted at /usr/bin/xpath line 5.
Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC entries checked: /etc/perl /usr/local/lib64/perl5/5.38/x86_64-linux-thread-multi /usr/local/lib64/perl5/5.38 /usr/lib64/perl5/vendor_perl/5.38/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.38 /usr/lib64/perl5/5.38/x86_64-linux-thread-multi /usr/lib64/perl5/5.38 /usr/lib64/perl5/vendor_perl/5.36) at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath/XMLParser.pm line 5.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath/XMLParser.pm line 5.
Compilation failed in require at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath.pm line 23.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath.pm line 23.
Compilation failed in require at /usr/bin/xpath line 5.
BEGIN failed--compilation aborted at /usr/bin/xpath line 5.
Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC entries checked: /etc/perl /usr/local/lib64/perl5/5.38/x86_64-linux-thread-multi /usr/local/lib64/perl5/5.38 /usr/lib64/perl5/vendor_perl/5.38/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.38 /usr/lib64/perl5/5.38/x86_64-linux-thread-multi /usr/lib64/perl5/5.38 /usr/lib64/perl5/vendor_perl/5.36) at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath/XMLParser.pm line 5.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath/XMLParser.pm line 5.
Compilation failed in require at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath.pm line 23.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.38/XML/XPath.pm line 23.
Compilation failed in require at /usr/bin/xpath line 5.
BEGIN failed--compilation aborted at /usr/bin/xpath line 5.
 * ERROR: net-dns/dnssec-root-20181220-r1::gentoo failed (compile phase):
 *   Sanity check failed: root-anchors.txt is empty or does not exist!
 *
 * Call stack:
 *     ebuild.sh, line 136:  Called src_compile
 *   environment, line 540:  Called die
 * The specific snippet of code:
 *           die "Sanity check failed: root-anchors.txt is empty or does not exist!";
 *
 * If you need support, post the output of `emerge --info '=net-dns/dnssec-root-20181220-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=net-dns/dnssec-root-20181220-r1::gentoo'`.
 * The complete build log is located at '/var/log/portage/net-dns:dnssec-root-20181220-r1:20240416-161336.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/net-dns/dnssec-root-20181220-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-dns/dnssec-root-20181220-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/net-dns/dnssec-root-20181220-r1/work/dnssec-root-20181220'
 * S: '/var/tmp/portage/net-dns/dnssec-root-20181220-r1/work/dnssec-root-20181220'


which is very strange so I did a quick
Code:
perl -we 'use XML::Parser';
and I got the following error
Code:
Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC entries checked: /etc/perl /usr/local/lib64/perl5/5.38/x86_64-linux-thread-multi /usr/local/lib64/perl5/5.38 /usr/lib64/perl5/vendor_perl/5.38/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.38 /usr/lib64/perl5/5.38/x86_64-linux-thread-multi /usr/lib64/perl5/5.38 /usr/lib64/perl5/vendor_perl/5.36) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
. So I checked install path and XML::Parser is installed in /usr/lib64/perl5/vendor_perl/5.38/x86_64-linux. If you take a closer you see that perl is not searching this directory but it's looking in /usr/lib64/perl5/5.38/x86_64-linux-thread-multi

So I ran perl-cleaner --all which fixed all the modules. Then I could use XML::Parser and also the failing package above worked well.

So, I re-ran the emergy --ask --emptytree @world and It failed with Exactly the same error again and after checking XML::Parserr it was again installed in the wrong directory!

How do I get out of this perl-cleaner & emptytree mess? Do I need to reboot machine, why are the perl modules even beeing reinstalled by portage into the wrong dirs during emptytree? I'm completely lost


Last edited by marcelser on Wed Apr 17, 2024 6:41 am; edited 1 time in total
Back to top
View user's profile Send private message
logrusx
Veteran
Veteran


Joined: 22 Feb 2018
Posts: 1550

PostPosted: Tue Apr 16, 2024 5:37 pm    Post subject: Reply with quote

Post the steps you took to migrate your profile along with your emerge --info.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21651

PostPosted: Tue Apr 16, 2024 6:14 pm    Post subject: Reply with quote

Also show the output of perl --version ; type perl ; emerge --pretend --verbose dev-lang/perl. For me, the non-threaded path is searched by a working Perl.
Back to top
View user's profile Send private message
marcelser
Tux's lil' helper
Tux's lil' helper


Joined: 30 Sep 2004
Posts: 99

PostPosted: Tue Apr 16, 2024 10:16 pm    Post subject: Reply with quote

logrusx wrote:
Post the steps you took to migrate your profile along with your emerge --info.

Best Regards,
Georgi


1.) ran "emerge --info" and noted down CHOST variable (was CHOST="x86_64-pc-linux-gnu")
2.) removed CHOST and all CHOST_ variables from /etc/portage/make.conf (actually there was just CHOST)
3.) used "eselect profile list" and "eselect profile set" and switch from "default/linux/amd64/17.1/desktop/plasma (stable)" to "default/linux/amd64/23.0/split-usr/desktop/plasma (stable)"
4.) cleared binary package cache "rm -r /var/cache/binpkgs/*
5.) checked if "binrepos.conf" was existing (but wasnt, so I created one with path to profile 23.0)
6.) ran the emerges listed so:
emerge --ask --oneshot sys-devel/binutils
binutils-config --list_profiles (there was only one and it was selected)
emerge --ask --nodeps --oneshot sys-devel/gcc (had to use --nodeps as otherwise it would have emerge glibc first which should not happen according to instructions)
gcc-config --list_profiles (there was 12 & 13 and 13 was selected so all good)
emerge --ask --oneshot sys-libs/glibc
7.) ran "emerge --info" again and compared CHOST with noted one from first step (was identical)
8.) env-update && source /etc/profile
9.) emerge --ask --oneshot libtool
10.) cleaned pkgdir again "rm -r /var/cache/binpkgs/*"
11.) emerge --ask --emptytree @world

and step 11 fhen failed ot some point.
Here's the output of emerge --info

Code:

Portage 3.0.61 (python 3.11.8-final-0, default/linux/amd64/23.0/split-usr/desktop/plasma, gcc-13, glibc-2.38-r11, 6.6.21-gentoo x86_64)
=================================================================
System uname: Linux-6.6.21-gentoo-x86_64-Intel-R-_Core-TM-_i3-5010U_CPU_@_2.10GHz-with-glibc2.38
KiB Mem:    16265012 total,   4308412 free
KiB Swap:    4193276 total,   4002044 free
Timestamp of repository gentoo: Tue, 16 Apr 2024 00:15:00 +0000
Head commit of repository gentoo: 2ce372fd34104373f2cbf04ae679680dbb3f9cba
Timestamp of repository guru: Mon, 15 Apr 2024 21:03:22 +0000
Head commit of repository guru: e0175e4fe4261640de0f5678453d0ef20189f39a

Timestamp of repository kde: Sun, 14 Apr 2024 20:18:18 +0000
Head commit of repository kde: ae09664379b45c491c17b9b67d9d978c12cee5fc

sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
distcc 3.4 x86_64-pc-linux-gnu [enabled]
ccache version 4.9.1 [enabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.1_p16-r6::gentoo
dev-build/autoconf:        2.71-r6::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.28.3::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.3.2::gentoo
dev-java/java-config:      2.3.3-r1::gentoo
dev-lang/perl:             5.38.2-r2::gentoo
dev-lang/python:           3.11.8_p1::gentoo, 3.12.3::gentoo
dev-lang/rust:             1.75.0-r1::gentoo
dev-util/ccache:           4.9.1::gentoo
sys-apps/baselayout:       2.14-r2::gentoo
sys-apps/openrc:           0.54::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.41-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           17.0.6::gentoo
sys-devel/gcc:             12.3.1_p20240209::gentoo, 13.2.1_p20240210::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/llvm:            17.0.6::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r11::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage
    priority: -1000
    volatile: True
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 3
    sync-rsync-extra-opts:

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: False

kde
    location: /var/db/repos/kde
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/kde.git
    masters: gentoo
    volatile: False

g-cpan
    location: /usr/local/overlay/g-cpan
    masters: gentoo
    priority: 5000
    volatile: True

local-portage-repo
    location: /usr/local/portage
    masters: gentoo
    priority: 10000
    volatile: True

Binary Repositories:

binhost
    priority: 9999
    sync-uri: https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/teamspeak3-server/ts3server.ini /etc/teamspeak3-server/ts3server_mariadb.ini /etc/teamspeak3-server/tsdns_settings.ini /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.9/conf"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.2/ext-active/ /etc/php/cgi-php8.2/ext-active/ /etc/php/cli-php8.2/ext-active/ /etc/php/fpm-php8.2/ext-active/ /etc/php/phpdbg-php8.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=core2 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--load-average 4.0 --getbinpkg"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-request-signature buildpkg-live ccache clean-logs config-protect-if-modified distcc distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms split-elog strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="https://mirror.init7.net/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
LINGUAS="de en"
MAKEOPTS="-j42"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acl acpi activities alsa amd64 apache2 bash-complection bluetooth branding bzip2 cairo cdda cdr cet clamav crypt cups dbus declarative dri dts dvd dvdr dvdread elogind encode exif ffmpeg flac fontconfig ftp gdbm gif glade gnutls gpm gtk gtk-sharp hal iconv icu imagemagick imap innodb ipv6 ithreads java jpeg jpg kde kwallet lcms libnotify libtirpc mad maildir midi mmx mng mozilla mp3 mp4 mpeg multilib mysql mysqli ncurses networkmanager nls nptl nptlonly odbc ogg opengl openmp openssl pam pango pcmcia pcre pdf pic pipewire plasma png policykit ppds pulseaudio qml qt5 readline samba sasl screencast sdl seccomp semantic-desktop sound spell split-usr sql sse sse2 ssl startup-notification svg test-rust tetex threads tiff truetype type1 udev udisks unicode upower usb vcd vorbis vulkan wayland widgets wxwidgets x264 xattr xcb xft xml xsl xslt xulrunner xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_12" ALSA_CARDS="hda-intel usb-audio" APACHE2_MODULES="cgi actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias slotmem_shm authn_core authz_core unixd socache_shmcb" APACHE2_MPMS="worker" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev" KERNEL="linux" L10N="de en" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" SANE_BACKENDS="pixma" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS


Last edited by marcelser on Tue Apr 16, 2024 10:32 pm; edited 2 times in total
Back to top
View user's profile Send private message
marcelser
Tux's lil' helper
Tux's lil' helper


Joined: 30 Sep 2004
Posts: 99

PostPosted: Tue Apr 16, 2024 10:26 pm    Post subject: Reply with quote

Hu wrote:
Also show the output of perl --version ; type perl ; emerge --pretend --verbose dev-lang/perl. For me, the non-threaded path is searched by a working Perl.


And here's the perl output:

Code:

$ perl --version

This is perl 5, version 38, subversion 2 (v5.38.2) built for x86_64-linux-thread-multi
(with 70 registered patches, see perl -V for more detail)

Copyright 1987-2023, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at https://www.perl.org/, the Perl Home Page.


Code:

$ type perl
perl is hashed (/usr/bin/perl)


Code:

$ emerge --pretend --verbose dev-lang/perl

Local copy of remote index is up-to-date and will be used.

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

Calculating dependencies... done!
Dependency resolution took 11.67 s (backtrack: 0/20).

[ebuild   R    ] dev-lang/perl-5.38.2-r2:0/5.38::gentoo  USE="berkdb gdbm ithreads -debug -doc -minimal -quadmath" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

!!! The following binary packages have been ignored due to non matching USE:

    =dev-lang/perl-5.38.2-r2 -berkdb -ithreads

NOTE: The --binpkg-respect-use=n option will prevent emerge
      from ignoring these binary packages if possible.
      Using --binpkg-respect-use=y will silence this warning.


Another strange thing I noticed in the thread above is that the @INC list still contains the /usr/lib64/perl5/vendor_perl/5.36 path which points to wrong perl version.

And interestingly if I run perl-cleaner --all it re-emerges all modules from the non-threaded dir to threaded dir and then it works until the next run of "emerge --empytree world" which puts them in the wrong place again. might have something to do with the fact that I enabled "ithreads" use-flag though but I don't understand what perl-cleaner is doing different from emerge --emptytree in the end both are using portage to install the perl modules but one does it the right way one doesn't or do I have to enabled "ithreads" use flag globally or so?
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1664

PostPosted: Tue Apr 16, 2024 11:45 pm    Post subject: Reply with quote

marcelser wrote:
Code:
!!! The following binary packages have been ignored due to non matching USE:

    =dev-lang/perl-5.38.2-r2 -berkdb -ithreads

NOTE: The --binpkg-respect-use=n option will prevent emerge
      from ignoring these binary packages if possible.
      Using --binpkg-respect-use=y will silence this warning.


Another strange thing I noticed in the thread above is that the @INC list still contains the /usr/lib64/perl5/vendor_perl/5.36 path which points to wrong perl version.

And interestingly if I run perl-cleaner --all it re-emerges all modules from the non-threaded dir to threaded dir and then it works until the next run of "emerge --empytree world" which puts them in the wrong place again. might have something to do with the fact that I enabled "ithreads" use-flag though but I don't understand what perl-cleaner is doing different from emerge --emptytree in the end both are using portage to install the perl modules but one does it the right way one doesn't or do I have to enabled "ithreads" use flag globally or so?

Using binpkgs is exactly your problem when it comes to dev-lang/perl[ithreads] and dev-perl/*. The former expects one location while the latter from a binpkg will install to another. Portage won't catch it since it is looking for USE differences.
If you wish to use binpkgs, then disalbe those ithreads on perl.
Back to top
View user's profile Send private message
marcelser
Tux's lil' helper
Tux's lil' helper


Joined: 30 Sep 2004
Posts: 99

PostPosted: Tue Apr 16, 2024 11:51 pm    Post subject: Reply with quote

grknight wrote:

Using binpkgs is exactly your problem when it comes to dev-lang/perl[ithreads] and dev-perl/*. The former expects one location while the latter from a binpkg will install to another. Portage won't catch it since it is looking for USE differences.
If you wish to use binpkgs, then disalbe those ithreads on perl.


There was a reason why I enabled "ithreads" on perl because I do have perl scripts that make use of it. So removing it is not an option. Is there way to permanently exclude perl packages from getbinpkg? Cause otherwise an @emptytree recompile takes like 3-4 days on my stone age machine
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1664

PostPosted: Wed Apr 17, 2024 12:03 am    Post subject: Reply with quote

marcelser wrote:
Is there way to permanently exclude perl packages from getbinpkg? Cause otherwise an @emptytree recompile takes like 3-4 days on my stone age machine

Not at this time. There are a bug or two open to enable binpkg exclusion, but this has not yet been worked on to my knowledge.
Back to top
View user's profile Send private message
marcelser
Tux's lil' helper
Tux's lil' helper


Joined: 30 Sep 2004
Posts: 99

PostPosted: Thu Apr 18, 2024 7:57 am    Post subject: solution for getbinpkg and perl[ithreads] Reply with quote

solving my own problem it can be done with this setting in /etc/portage/make.conf
Code:
EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --getbinpkg --usepkg-exclude 'dev-perl/* perl-gcpan/*'"


Then it automatically excludes binary packages for perl maybe you also want to exclude virtual/* but I don't think those hurt
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 1678

PostPosted: Thu Apr 18, 2024 8:19 am    Post subject: Reply with quote

For completeness, OP also filed bug 930123 for this specific issue.
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