Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
i686 binpkgs on amd64 host [SOLVED]
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
abfipes
n00b
n00b


Joined: 07 Apr 2024
Posts: 10

PostPosted: Sun Apr 07, 2024 10:28 pm    Post subject: i686 binpkgs on amd64 host [SOLVED] Reply with quote

I am trying to build binhost for my i686 machine.
Everythink work fine, but emerge-i686-glibc-linux-gnu do not respect configs from /usr/i686-glibc-linux-gnu/etc/portage
or rather is using both /etc/portage and /usr/i686-glibc-linux-gnu/etc/portage configs

example:

Code:

archlinux /usr/i686-glibc-linux-gnu # emerge-i686-glibc-linux-gnu --pretend xorg-server

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

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


The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by x11-libs/gtk+-3.24.39::gentoo
# required by x11-themes/adwaita-icon-theme-45.0::gentoo
>=x11-libs/cairo-1.18.0 X
# required by media-libs/mesa-24.0.4::gentoo
# required by media-libs/libepoxy-1.5.10-r2::gentoo[egl]
# required by x11-libs/gtk+-3.24.39::gentoo
# required by x11-themes/adwaita-icon-theme-45.0::gentoo
>=media-libs/libglvnd-1.7.0 X
# required by x11-misc/xdg-utils-1.2.1-r1::gentoo
# required by net-print/cups-2.4.7-r2::gentoo[X]
# required by x11-libs/gtk+-3.24.41::gentoo[cups]
# required by gnome-extra/polkit-gnome-0.105-r2::gentoo
# required by sys-auth/polkit-124-r1::gentoo[gtk]
# required by sys-auth/elogind-252.9::gentoo[policykit]
# required by sys-apps/dbus-1.15.8::gentoo[elogind]
# required by gnome-base/dconf-0.40.0::gentoo
# required by dev-libs/glib-2.78.4-r1::gentoo[dbus]
# required by dev-libs/gobject-introspection-1.78.1::gentoo
# required by gnome-base/librsvg-2.57.3::gentoo[introspection]
# required by x11-themes/adwaita-icon-theme-45.0::gentoo
>=app-text/xmlto-0.0.28-r11 text

 * In order to avoid wasting time, backtracking has terminated early
 * due to the above autounmask change(s). The --autounmask-backtrack=y
 * option can be used to force further backtracking, but there is no
 * guarantee that it will produce a solution.

!!! All ebuilds that could satisfy ">=app-eselect/eselect-pinentry-0.7.4" have been masked.
!!! One of the following masked packages is required to complete your request:
- app-eselect/eselect-pinentry-0.7.4::gentoo (masked by: ~amd64 keyword)

(dependency required by "app-crypt/pinentry-1.3.0-r2::gentoo" [ebuild])
(dependency required by "app-crypt/gnupg-2.4.5::gentoo" [ebuild])
(dependency required by "app-portage/gemato-20.5::gentoo[gpg]" [ebuild])
(dependency required by "sys-apps/portage-3.0.63::gentoo[-build,rsync-verify]" [ebuild])
(dependency required by "app-admin/perl-cleaner-2.31::gentoo[-pkgcore]" [ebuild])
(dependency required by "dev-lang/perl-5.38.2-r2::gentoo" [ebuild])
(dependency required by "dev-perl/File-MimeInfo-0.330.0::gentoo" [ebuild])
(dependency required by "x11-misc/xdg-utils-1.2.1-r1::gentoo" [ebuild])
(dependency required by "net-print/cups-2.4.7-r2::gentoo[X]" [ebuild])
(dependency required by "x11-libs/gtk+-3.24.41::gentoo[cups]" [ebuild])
(dependency required by "gnome-extra/polkit-gnome-0.105-r2::gentoo" [ebuild])
(dependency required by "sys-auth/polkit-124-r1::gentoo[gtk]" [ebuild])
(dependency required by "sys-auth/elogind-252.9::gentoo[policykit]" [ebuild])
(dependency required by "sys-apps/dbus-1.15.8::gentoo[elogind]" [ebuild])
(dependency required by "gnome-base/dconf-0.40.0::gentoo" [ebuild])
(dependency required by "dev-libs/glib-2.78.4-r1::gentoo[dbus]" [ebuild])
(dependency required by "dev-libs/gobject-introspection-1.78.1::gentoo" [ebuild])
(dependency required by "gnome-base/librsvg-2.57.3::gentoo[introspection]" [ebuild])
(dependency required by "x11-themes/adwaita-icon-theme-45.0::gentoo" [ebuild])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.


Code:

archlinux /usr/i686-glibc-linux-gnu # emerge-i686-glibc-linux-gnu --info
Portage 3.0.61 (python 3.11.8-final-0, default/linux/x86/23.0/i686/desktop, gcc-13, unavailable, 6.8.2-arch2-1 x86_64)
=================================================================
System uname: Linux-6.8.2-arch2-1-x86_64-12th_Gen_Intel-R-_Core-TM-_i5-12450H-with-glibc2.38
KiB Mem:     7829576 total,   2815424 free
KiB Swap:    8388604 total,   6219764 free
Timestamp of repository gentoo: Sun, 07 Apr 2024 00:45:00 +0000
Head commit of repository gentoo: 2801668e5dcf8ce6cd942a97dcbc357081973eaa
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-extra-opts:
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 3

ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -fomit-frame-pointer"
CHOST="i686-glibc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer"
DISTDIR="/var/cache/distfiles"
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 -march=i686 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news nodoc noinfo noman parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=i686 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
PKGDIR="/usr/i686-glibc-linux-gnu/var/cache/binpkgs/"
PORTAGE_CONFIGROOT="/usr/i686-glibc-linux-gnu/"
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="/usr/i686-glibc-linux-gnu/tmp/"
SHELL="/bin/bash"
USE="X a52 aac acl acpi alsa bluetooth branding bzip2 cairo cdda cdr crypt cups dbus dri dts dvd dvdr elogind encode exif flac gdbm gif gpm gtk gui iconv icu ipv6 jpeg lcms libnotify libtirpc lzma mad mng mp3 mp4 mpeg ncurses nls ogg opengl openmp pam pango pcre pdf png policykit ppds qt5 readline sdl seccomp sound spell ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wxwidgets x264 x86 xattr xcb xft xml xv xvid zlib zstd" ABI_X86="32" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx sse" 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" INPUT_DEVICES="libinput" KERNEL="linux" 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" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" 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, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, MAKEOPTS, 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


usr/i686-glibc-linux-gnu/etc/portage/make.conf
Code:

# Note: profile variables are set/overridden in profile/ files:
# etc/portage/profile/use.force (overrides kernel_* USE variables)
# etc/portage/profile/make.defaults (overrides ARCH, KERNEL, ELIBC variables)

CHOST=i686-glibc-linux-gnu
CBUILD=x86_64-pc-linux-gnu

ROOT=/usr/${CHOST}/

ACCEPT_KEYWORDS="${ARCH} ~${ARCH}"

USE="${ARCH}"

CFLAGS="-O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

FEATURES="-collision-protect sandbox buildpkg noman noinfo nodoc"
# Be sure we dont overwrite pkgs from another repo..
PKGDIR=${ROOT}var/cache/binpkgs/
PORTAGE_TMPDIR=${ROOT}tmp/

PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/"
#PORTDIR_OVERLAY="/var/db/repos/local/"


/etc/portage/make.conf
Code:

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

# NOTE: This stage was built with the bindist Use flag enabled

# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C.utf8


i was just following
https://wiki.gentoo.org/wiki/Binary_package_guide#Advanced_topics
https://wiki.gentoo.org/wiki/Crossdev

a real 32-bit machine is too weak to compile
A 32-bit VM is much slower than a non-VM and is limited to 4GB RAM (without PAM)
all i really need is to fix the config mixing

thanks in advance <3


Last edited by abfipes on Thu Apr 11, 2024 8:30 pm; edited 4 times in total
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54572
Location: 56N 3W

PostPosted: Mon Apr 08, 2024 1:11 pm    Post subject: Reply with quote

abfipes,

What profile is in use on the build host?
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
abfipes
n00b
n00b


Joined: 07 Apr 2024
Posts: 10

PostPosted: Mon Apr 08, 2024 1:31 pm    Post subject: Reply with quote

eselect profile list
Code:
[21]  default/linux/amd64/23.0 (stable) *


PORTAGE_CONFIGROOT=/usr/i686-glibc-linux-gnu eselect profile list
Code:
[16]  default/linux/x86/23.0/i686/desktop (stable) *
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54572
Location: 56N 3W

PostPosted: Mon Apr 08, 2024 2:03 pm    Post subject: Reply with quote

abfipes,

How did you install a cross toolchain for i686-glibc-linux-gnu on a system that is default/linux/amd64/23.0?

As default/linux/amd64/23.0 is multilib, it should not be possible.
The cross toolchain would overwrite some of your host binaries and you host can produce 32 bit binaries anyway, so a cross compiler is not required.

Maybe your topic title Crossdev emerge is mixing configs is misleading?

You should be able to chroot into /usr/i686-glibc-linux-gnu with
Code:
linux32 chroot /usr/i686-glibc-linux-gnu /bin/bash
and be able to use your 32 bit chroot just like a normal install.
Don't forget the env-update, source /etc/profile steps once inside the chroot.

The above does not apply to /no-multilib/ profiles as the 32 bit support is entirely absent.
Crossdev is the way to go there.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
abfipes
n00b
n00b


Joined: 07 Apr 2024
Posts: 10

PostPosted: Mon Apr 08, 2024 6:30 pm    Post subject: Reply with quote

something must have gone terribly wrong, for some reason crossdev isn't complaining.

Code:

archlinux / # crossdev  -t i686-glibc-linux-gnu
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 * crossdev version:      20240209
 * Host Portage ARCH:     amd64
 * Host Portage System:   x86_64-pc-linux-gnu (i686-pc-linux-gnu x86_64-pc-linux-gnu)
 * Target Portage ARCH:   x86
 * Target System:         i686-glibc-linux-gnu
 * Stage:                 4 (C/C++ compiler)
 * USE=multilib:          no
 * Target ABIs:           default

 * binutils:              binutils-[latest]
 * gcc:                   gcc-[latest]
 * headers:               linux-headers-[latest]
 * libc:                  glibc-[latest]

 * CROSSDEV_OVERLAY:      /var/db/repos/crossdev
 * PORT_LOGDIR:           /var/log/portage
 * PORTAGE_CONFIGROOT:    /
 * Portage flags:         
  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~
 * leaving sys-kernel/linux-headers in /var/db/repos/crossdev
 * leaving sys-libs/glibc in /var/db/repos/crossdev
 * leaving sys-devel/binutils in /var/db/repos/crossdev
 * leaving sys-devel/gcc in /var/db/repos/crossdev
 * leaving dev-debug/gdb in /var/db/repos/crossdev
 * leaving metadata/layout.conf alone in /var/db/repos/crossdev
  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~
 * Log: /var/log/portage/cross-i686-glibc-linux-gnu-binutils.log
 * Emerging cross-binutils ...


also

Code:

archlinux / # linux32 chroot /usr/i686-glibc-linux-gnu /bin/bash
chroot: failed to run command ‘/bin/bash’: No such file or directory


I made a new amd64 chroot and crossdev correctly complains.

Code:

archlinux / # crossdev -t i686-pc-linux-gnu
 * Refusing to create a cross-compiler using the same
 * target name as your host utils.
 * Consider using sys-devel/multilib-gcc-wrapper package.


I cannot find anything about how to use multilib-gcc-wrapper
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54572
Location: 56N 3W

PostPosted: Mon Apr 08, 2024 6:51 pm    Post subject: Reply with quote

abfipes,

Well, it exists.
Code:
$ eix sys-devel/multilib-gcc-wrapper
* sys-devel/multilib-gcc-wrapper
     Available versions:  0-r2
     Homepage:            https://wiki.gentoo.org/wiki/No_homepage
     Description:         Wrappers for gcc tools to be used on non-native CHOSTs

I've never used multilib. so I correctly have a cross toolchain for i686.

Code:
archlinux / # linux32 chroot /usr/i686-glibc-linux-gnu /bin/bash
chroot: failed to run command ‘/bin/bash’: No such file or directory

Either your kernel does not support 32 bit code. That would be a bit odd on a multilib system.

or /bin/bash does not exist in /usr/i686-glibc-linux-gnu but its provided in the i686 stage3, or one of the libs that bash depends on is missing.

What does
Code:
file /usr/i686-glibc-linux-gnu/bin/bash
tell?
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
abfipes
n00b
n00b


Joined: 07 Apr 2024
Posts: 10

PostPosted: Mon Apr 08, 2024 7:20 pm    Post subject: Reply with quote

I don't think that https://wiki.gentoo.org/wiki/No_homepage is about multilib-gcc-wrapper

there is no i686 stage3 inside /usr/i686-glibc-linux-gnu, it contains only cross-tools compiled by crossdev -t i686-glibc-linux-gnu

Code:

archlinux / # ls /usr/i686-glibc-linux-gnu/sbin/
ldconfig  sln
archlinux / # ls /usr/i686-glibc-linux-gnu/bin/
ls: cannot access '/usr/i686-glibc-linux-gnu/bin/': No such file or directory


My kernel does support 32 bit code.

installing and linux32 chrooting into i686-step-3 is not perfect as some packages depend on 64 bit host.

Code:

# Andreas Sturmlechner <asturm@gentoo.org> (2023-02-06)
# Successful build of dev-qt/qtwebengine depends on 64-bit host
# Bug #893234
Back to top
View user's profile Send private message
abfipes
n00b
n00b


Joined: 07 Apr 2024
Posts: 10

PostPosted: Tue Apr 09, 2024 6:12 am    Post subject: Reply with quote

I can create chroot with no multilib-amd64 and compile the crossdev tools and packages here, but this is not an optimal solution.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54572
Location: 56N 3W

PostPosted: Tue Apr 09, 2024 11:12 am    Post subject: Reply with quote

abfipes,

Does sys-devel/multilib-gcc-wrapper have a man page?
No ... its just a pile of symbolic links to /usr/bin/distccd, that won't help at all.

Crossdev is not a silver bullet either. Many packages will not cross compile ... some by build system design.

You build 32 bit code on a multilib system by passing gcc the -m32 option, or more properly, by setting ABI_X86="64 32" for the package, so both versions are built and installed.

I suspect that something is horribly broken on your build host as you were able to install crossdev in the first place.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22578

PostPosted: Tue Apr 09, 2024 3:13 pm    Post subject: Reply with quote

When I wanted to build for a pure 32-bit machine, I had my amd64 system create an i686 chroot and run the build there. It was considered "native" by the package manager, since I set an i686 profile and CHOST, and an amd64 CPU can natively run i686 code. This completely avoids dealing with crossdev and ABI_X86 issues.
Back to top
View user's profile Send private message
abfipes
n00b
n00b


Joined: 07 Apr 2024
Posts: 10

PostPosted: Tue Apr 09, 2024 3:32 pm    Post subject: Reply with quote

with i686-step-3 chroot i can compile and run my system with most of wanted programms.

dont worry about that "horribly broken build host" i have a new clean amd64 chroot but,

with
(1)
Code:

ABI_X86="64 32"
COMMON_FLAGS="-O2 -march=pentium-m -pipe"

(2)
Code:

ABI_X86="64 32"
COMMON_FLAGS="-O2 -m32 -pipe"

(3)
Code:

COMMON_FLAGS="-O2 -m32 -pipe"

emerge on host complains

and with
(4)
Code:

ABI_X86="64 32"
COMMON_FLAGS="-O2  -pipe"

emerge on i686 machine complains.

logs:
(1)
Code:

archlinux /etc/portage # emerge --info '=sys-process/htop-3.3.0::gentoo'
Portage 3.0.61 (python 3.11.8-final-0, default/linux/amd64/23.0/desktop, gcc-13, glibc-2.38-r10, 6.8.2-arch2-1 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.8.2-arch2-1-x86_64-12th_Gen_Intel-R-_Core-TM-_i5-12450H-with-glibc2.38
KiB Mem:     7829576 total,   1188292 free
KiB Swap:    8388604 total,   7809376 free
Timestamp of repository gentoo: Mon, 08 Apr 2024 00:45:00 +0000
Head commit of repository gentoo: 9428b7b54576cfaa84da562e1148a804acd6cc30
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
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/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.3.2::gentoo
dev-lang/perl:             5.38.2-r2::gentoo
dev-lang/python:           3.11.8_p1::gentoo, 3.12.2_p1::gentoo
sys-apps/baselayout:       2.14-r2::gentoo
sys-apps/openrc:           0.53.1::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.41-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/gcc:             13.2.1_p20240210::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r10::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-extra-opts:
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 3
    sync-rsync-verify-metamanifest: yes

crossdev
    location: /var/db/repos/crossdev
    masters: gentoo
    volatile: False

Binary Repositories:

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

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=pentium-m -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d"
CXXFLAGS="-O2 -march=pentium-m -pipe"
DISTDIR="/var/cache/distfiles"
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 -march=pentium-m -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live config-protect-if-modified 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 strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=pentium-m -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j12 -l12"
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 alsa amd64 bluetooth branding bzip2 cairo cdda cdr cet crypt cups dbus dri dts dvd dvdr elogind encode exif flac gdbm gif gpm gtk gui iconv icu ipv6 jpeg lcms libnotify libtirpc lzma mad mng mp3 mp4 mpeg multilib ncurses nls ogg opengl openmp pam pango pcre pdf png policykit ppds qt5 readline sdl seccomp sound spell ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wxwidgets x264 xattr xcb xft xml xv xvid zlib zstd" ABI_X86="64 32" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" 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" INPUT_DEVICES="libinput" KERNEL="linux" 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" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" 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, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, 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

=================================================================
                        Package Settings
=================================================================

sys-process/htop-3.3.0::gentoo was built with the following:
USE="unicode -caps -debug -delayacct -hwloc -llvm-libunwind -lm-sensors -openvz -unwind -vserver" ABI_X86="(64)"
CFLAGS="-O2 -pipe"
CXXFLAGS="-O2 -pipe"


(2)
Code:

archlinux /etc/portage # emerge --info '=sys-process/htop-3.3.0::gentoo'
Portage 3.0.61 (python 3.11.8-final-0, default/linux/amd64/23.0/desktop, gcc-13, glibc-2.38-r10, 6.8.2-arch2-1 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.8.2-arch2-1-x86_64-12th_Gen_Intel-R-_Core-TM-_i5-12450H-with-glibc2.38
KiB Mem:     7829576 total,   1199448 free
KiB Swap:    8388604 total,   7809376 free
Timestamp of repository gentoo: Mon, 08 Apr 2024 00:45:00 +0000
Head commit of repository gentoo: 9428b7b54576cfaa84da562e1148a804acd6cc30
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
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/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.3.2::gentoo
dev-lang/perl:             5.38.2-r2::gentoo
dev-lang/python:           3.11.8_p1::gentoo, 3.12.2_p1::gentoo
sys-apps/baselayout:       2.14-r2::gentoo
sys-apps/openrc:           0.53.1::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.41-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/gcc:             13.2.1_p20240210::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r10::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-extra-opts:
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 3
    sync-rsync-verify-metamanifest: yes

crossdev
    location: /var/db/repos/crossdev
    masters: gentoo
    volatile: False

Binary Repositories:

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

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -m32 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d"
CXXFLAGS="-O2 -m32 -pipe"
DISTDIR="/var/cache/distfiles"
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 -m32 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live config-protect-if-modified 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 strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -m32 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j12 -l12"
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 alsa amd64 bluetooth branding bzip2 cairo cdda cdr cet crypt cups dbus dri dts dvd dvdr elogind encode exif flac gdbm gif gpm gtk gui iconv icu ipv6 jpeg lcms libnotify libtirpc lzma mad mng mp3 mp4 mpeg multilib ncurses nls ogg opengl openmp pam pango pcre pdf png policykit ppds qt5 readline sdl seccomp sound spell ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wxwidgets x264 xattr xcb xft xml xv xvid zlib zstd" ABI_X86="64 32" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" 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" INPUT_DEVICES="libinput" KERNEL="linux" 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" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" 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, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, 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

=================================================================
                        Package Settings
=================================================================

sys-process/htop-3.3.0::gentoo was built with the following:
USE="unicode -caps -debug -delayacct -hwloc -llvm-libunwind -lm-sensors -openvz -unwind -vserver" ABI_X86="(64)"
CFLAGS="-O2 -pipe"
CXXFLAGS="-O2 -pipe"


(3)
Code:

archlinux /etc/portage # emerge --info '=sys-process/htop-3.3.0::gentoo'
Portage 3.0.61 (python 3.11.8-final-0, default/linux/amd64/23.0/desktop, gcc-13, glibc-2.38-r10, 6.8.2-arch2-1 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.8.2-arch2-1-x86_64-12th_Gen_Intel-R-_Core-TM-_i5-12450H-with-glibc2.38
KiB Mem:     7829576 total,   1103668 free
KiB Swap:    8388604 total,   7809376 free
Timestamp of repository gentoo: Mon, 08 Apr 2024 00:45:00 +0000
Head commit of repository gentoo: 9428b7b54576cfaa84da562e1148a804acd6cc30
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
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/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.3.2::gentoo
dev-lang/perl:             5.38.2-r2::gentoo
dev-lang/python:           3.11.8_p1::gentoo, 3.12.2_p1::gentoo
sys-apps/baselayout:       2.14-r2::gentoo
sys-apps/openrc:           0.53.1::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.41-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/gcc:             13.2.1_p20240210::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r10::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-extra-opts:
    sync-rsync-verify-max-age: 3
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1

crossdev
    location: /var/db/repos/crossdev
    masters: gentoo
    volatile: False

Binary Repositories:

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

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -m32 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d"
CXXFLAGS="-O2 -m32 -pipe"
DISTDIR="/var/cache/distfiles"
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 -m32 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live config-protect-if-modified 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 strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -m32 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j12 -l12"
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 alsa amd64 bluetooth branding bzip2 cairo cdda cdr cet crypt cups dbus dri dts dvd dvdr elogind encode exif flac gdbm gif gpm gtk gui iconv icu ipv6 jpeg lcms libnotify libtirpc lzma mad mng mp3 mp4 mpeg multilib ncurses nls ogg opengl openmp pam pango pcre pdf png policykit ppds qt5 readline sdl seccomp sound spell ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wxwidgets x264 xattr xcb xft xml xv xvid zlib zstd" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" 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" INPUT_DEVICES="libinput" KERNEL="linux" 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" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" 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, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, 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

=================================================================
                        Package Settings
=================================================================

sys-process/htop-3.3.0::gentoo was built with the following:
USE="unicode -caps -debug -delayacct -hwloc -llvm-libunwind -lm-sensors -openvz -unwind -vserver" ABI_X86="(64)"
CFLAGS="-O2 -pipe"
CXXFLAGS="-O2 -pipe"


(4)
"htop" have been masked (masked by: CHOST: x86_64-pc-linux-gnu)

same for
(5)
Code:

ABI_X86="32"
COMMON_FLAGS="-O2 -pipe"


anyway, this cannot be the correct approach as it uses the amd64 profile and hosts' make.conf
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54572
Location: 56N 3W

PostPosted: Tue Apr 09, 2024 3:45 pm    Post subject: Reply with quote

abfipes,

I think I know what to do but I need to rebuild by kernel to add 32 bit support and perform an install in an i686 chroot.
It will be a few hours, maybe 24 hours.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
abfipes
n00b
n00b


Joined: 07 Apr 2024
Posts: 10

PostPosted: Tue Apr 09, 2024 4:08 pm    Post subject: Reply with quote

you are awesome
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54572
Location: 56N 3W

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

abfipes,

This is making my head hurt.
I have a no-multilib install running on top of an amd64 kernel with 32 bit support.

I've made a directory /usr/pentium-m and untarred stage3-i686-openrc-20240408T164940Z.tar.xz there. Ahh its merged-usr but my hast is split-usr. That may not matter.
I've mounted /proc, sys /and /dev inside /usr/pentium-m along with my repos and distfiles, which are safe to share.
In theory

Code:
linux32 chroot /usr/pentium-m /bin/bash
just works and I have a 32 bit chroot on top of a 64 bit kernel.
But ...

Code:
# linux32 chroot /usr/pentium-m /bin/bash
neddy_static / #
exit
neddy_static /usr/pentium-m #

That exit it not supposed to be there.

Code:
linux32 chroot /usr/pentium-m uname -a
Linux neddy_static 6.8.4-gentoo #1 SMP PREEMPT_DYNAMIC Tue Apr  9 16:54:11 BST 2024 i686 AMD Ryzen 9 5950X 16-Core Processor AuthenticAMD GNU/Linux
does it's thing.
It reports the kernel as being i686, even though its not.

Clearly my understanding is flawed but I have not spotted where yet.

I can reproduce the problem in an i464 target dir that was created by cross compiling too, so I think its something outside of the chroot.

-- edit --

32 bit needs COMPAT_32BIT_TIME in the kernel.
Now I have a 32bit chroot on an default/linux/amd64/23.0/split-usr/no-multilib build host.

And we are off !!
215 packages in @world to build
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54572
Location: 56N 3W

PostPosted: Tue Apr 09, 2024 9:29 pm    Post subject: Reply with quote

abfipes,

My chroot emerge --info is
Code:
(pentium-m) neddy_static / # emerge --info
Portage 3.0.61 (python 3.11.8-final-0, default/linux/x86/23.0/i686/desktop, gcc-13, glibc-2.38-r11, 6.8.4-gentoo x86_64)
=================================================================
System uname: Linux-6.8.4-gentoo-x86_64-AMD_Ryzen_9_5950X_16-Core_Processor-with-glibc2.38
KiB Mem:   131822144 total, 123615976 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Tue, 09 Apr 2024 15:30:00 +0000
Head commit of repository gentoo: 36743b3902395fde41a127aabdcb6e3d911ddaf1
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
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-lang/perl:             5.38.2-r2::gentoo
dev-lang/python:           3.11.8_p1::gentoo, 3.12.2_p1::gentoo
dev-lang/rust-bin:         1.75.0::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/gcc:             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: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-max-age: 3
    sync-rsync-extra-opts:
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://distfiles.gentoo.org/releases/x86/binpackages/23.0/i686

ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="@FREE"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium-m  -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d"
CXXFLAGS="-O2 -march=pentium-m  -pipe"
DISTDIR="/var/cache/distfiles"
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 -march=pentium-m  -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified 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 strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=pentium-m  -pipe"

Its just completed a @world update ... but I didn't save binpackages :(

GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j16"
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 alsa bluetooth branding bzip2 cairo cdda cdr crypt cups dbus dri dts dvd dvdr elogind encode exif flac gdbm gif gpm gtk gui iconv icu ipv6 jpeg lcms libnotify libtirpc lzma mad mng mp3 mp4 mpeg ncurses nls ogg opengl openmp pam pango pcre pdf png policykit ppds qt5 readline sdl seccomp sound spell ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wxwidgets x264 x86 xattr xcb xft xml xv xvid zlib zstd" ABI_X86="32" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx sse sse2" 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" INPUT_DEVICES="libinput" KERNEL="linux" 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" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" 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, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, 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

_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
abfipes
n00b
n00b


Joined: 07 Apr 2024
Posts: 10

PostPosted: Wed Apr 10, 2024 9:05 am    Post subject: Reply with quote

Thanks NeddySeagoon!

my i686 chroot works but I had a problem with www-client/falkon because "dev-qt/qtwebengine depends on 64 bit host"
I thought I could create a crossdev toolchain to make qtwebengine stop complaining.
Fortunately, once unmasked, Falkon compiled in my i686 chroot and runs on my i686 machine.

The best solution would be to ask the crossdev team if they are considering enabling something like "crossdev -t i686-glibc-linux-gnu --use-system-toolchain" for amd64-multilib systems, as this would solve the Falkon problem and increase performance with 64-bit gcc.

off topic,
I use
RUSTFLAGS="-C target-processor=pentium-m"

I see that the default make.conf file has C, C++ and Fortan flags, maybe it's time to add some Rust to the default make.config files

For example
RUSTFLAGS="-C target-cpu=i686"
in i686-stage-3 tarball

What do you think about it?

Also, why do I need linux32 chroot, normally chroot seems to work?
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22578

PostPosted: Wed Apr 10, 2024 3:15 pm    Post subject: Reply with quote

You need linux32 to cause uname to return i686 instead of x86_64. Some build systems inspect this to decide what platform they are on, so you may get bad results if you omit it when it is needed.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54572
Location: 56N 3W

PostPosted: Thu Apr 11, 2024 7:29 am    Post subject: Reply with quote

abfipes,

The easy bit first.

Code:
# Andreas Sturmlechner <asturm@gentoo.org> (2023-02-06)
# Successful build of dev-qt/qtwebengine depends on 64-bit host
# Bug #893234


dev-qt/qtwebengine is package masked on x86 as it will not build in a 4G Virtual Address Space, which is the limit on a real x86.
It protects real x86 users from themselves.

When you build it on a an amd64 install, with an x86 chroot, the 64 bit kernel can give each process its own 4G Virtual Address Space.

With a profile of
Code:
default/linux/x86/23.0/i686/desktop


and make.conf
Code:
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-O2 -march=pentium-m  -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

# NOTE: This stage was built with the bindist Use flag enabled

# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C.utf8

# Neddys Additions

ACCEPT_KEYWORDS="~x86"

FEATURES="buildpkg"

# Not on a real pentium-m
# CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 vpclmulqdq"

# From https://en.wikipedia.org/wiki/Pentium_M
CPU_FLAGS_X86="mmx sse sse2"

MAKEOPTS="-j16"

USE="minizip qml"


Something is testing only so ACCEPT_KEYWORDS="~x86".

Lastly to address, the package.mask
Create /etc/portage/package.unmask containing
Code:
# Will it build in a 32 bit chroot?
<dev-qt/qtwebengine-6

and yes it builds. Notice the R for rebuild below. It was even running 16 parallel make threads, with each one in its own 4G Virtual Memory space.

Code:
# emerge -pv dev-qt/qtwebengine

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

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

[ebuild   R   #] dev-qt/qtwebengine-5.15.13_p20240322:5/5.15::gentoo  USE="alsa jumbo-build system-icu -bindist -debug -designer -geolocation -kerberos -pulseaudio -screencast -test -widgets" 0 KiB

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

 * IMPORTANT: 16 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.


So far, I have not used linux32 chroot but that does not affect kernel behaviour. Just how the kernel advertises itself with uname.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54572
Location: 56N 3W

PostPosted: Thu Apr 11, 2024 8:22 pm    Post subject: Reply with quote

abfipes,

Code:
>>> Recording www-client/falkon in "world" favorites file...
>>> Completed (14 of 14) www-client/falkon-23.08.5::gentoo
>>> Jobs: 14 of 14 complete                         Load avg: 9.8, 13.3, 14.0


It needs a package.unmask entry too, as it depends on qtwebengine which cannot be built on a real i686.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
abfipes
n00b
n00b


Joined: 07 Apr 2024
Posts: 10

PostPosted: Thu Apr 11, 2024 8:34 pm    Post subject: Reply with quote

Because my system and binhost are working, I mark this problem as solved. Thank you all for your help!
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