# Portage und emerge ungewohnt langsam

## alfcyber

Hallo Forum, 

wie der Titel schon verrät, ist mein Laptop die letzten Monate beim emerge update world unerträglich langsam geworden. 

Es ist ein betagtes Gerät (amd a4 prozessor, aber  mit SSD) und mir auch klar, dass dies nicht wie ein moderneres Gerät performed.

Aber es kommt mir unnatürlich langsam vor, z.B. ein emerge -uvDN world dauert bis zu 50min. bis es startet und dabei nur

ca 90 Pakete updaten will. Aufgefallen ist mir dies so nach u. nach seit dem Umstieg von gcc6 auf 7 (u. jetzt 8 ). Die Pakete werden

hier bei jedem Sprung etwas größer u. wie genlop verrät auch die Zeit sie zu bauen bei jedem Versionssprung größer. 

Warum ich ins Forum schreibe? Eine suche nach einem entsprechenden Thema ergab leider keine Ergebnisse. Es gibt einige Jahre alte Threads

im englischem Forum (damals beklagte man sich über 2 Minuten Wartezeit bis emerge Abhängigkeiten beim update auflöst).

Ich bin kein Anfänger, kann mir aber im Moment nicht helfen u. wollte mal fragen, ob andere auch solche Dinge (vllt. auf älteren Geräten) feststellen mußten.

(zunächst vermutet man vllt. dass die SSD überfüllt ist (noch unter 75%, also nein, ein fsck, fstrim u. emaint world wurde schon versucht). Wie gesagt sind die Probleme nur

mit emerge, eix z.b. funktioniert super flott auf dem Gerät. Es sind 1084 Pakete installiert (vielleicht liegt es daran?). Das Portage tmp Verzeichnis liegt wie im Wiki für SSDs vorgeschlagen im RAM (tmpfs) 

Auch beim kompilieren einzelner Pakete ist das configurieren manchmal wahnsinnig langsam, aber komischerweise nicht bei jedem Paket. Kann mir jemand bestätigen, dass dies normal ist oder hat jemand einen Hinweis wo man noch nachschauen könnte?

----------

## mike155

Wenn ich es richtig verstehe, dauert ein

```
emerge --update --deep --newuse --pretend --verbose @world
```

bis zu 50 Minuten. Das ist selbst für ältere Rechner außergewöhnlich lange. Bitte poste die Ausgabe von:

```
emerge --info
```

und auch die Ausgabe von

```
df -k
```

 und 

```
time emerge --update --deep --newuse --pretend --verbose @world
```

----------

## alfcyber

Hallo, danke für die Hilfe :: (Bitte nicht von MAKEOPS verwirren lassen es ist ohne distcc und mit -j4 exakt das gleiche)

zusätzlicher Hinweis nach einem strace emerge fällt auf, dass sehr häufig ein ENOTTY nach fstat ausgegeben wird

alf@think2 ~ $ 

```
emerge --info

Portage 2.3.66 (python 3.6.5-final-0, default/linux/amd64/17.0/desktop, gcc-8.3.0, glibc-2.29-r2, 4.19.27-gentoo-r1 x86_64)

=================================================================

System uname: Linux-4.19.27-gentoo-r1-x86_64-AMD_A4-5000_APU_with_Radeon-TM-_HD_Graphics-with-gentoo-2.6

KiB Mem:     7420808 total,   1263632 free

KiB Swap:    8388604 total,   8388604 free

Timestamp of repository gentoo: Sat, 01 Jun 2019 21:00:01 +0000

Head commit of repository gentoo: c17dc398e7161ec9ead11ecf3b34e7db7ea6e948

sh bash 4.4_p23-r1

ld GNU ld (Gentoo 2.31.1 p7) 2.31.1

distcc 3.3.2 x86_64-pc-linux-gnu [enabled]

ccache version 3.6 [enabled]

app-shells/bash:          4.4_p23-r1::gentoo

dev-java/java-config:     2.2.0-r4::gentoo

dev-lang/perl:            5.28.2-r1::gentoo

dev-lang/python:          2.7.15::gentoo, 3.5.5::gentoo, 3.6.5::gentoo

dev-util/ccache:          3.6::gentoo

dev-util/cmake:           3.14.3::gentoo

dev-util/pkgconfig:       0.29.2::gentoo

sys-apps/baselayout:      2.6-r1::gentoo

sys-apps/sandbox:         2.13::gentoo

sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo

sys-devel/automake:       1.11.6-r3::gentoo, 1.16.1-r1::gentoo

sys-devel/binutils:       2.31.1-r6::gentoo

sys-devel/gcc:            7.3.0-r3::gentoo, 8.2.0-r6::gentoo, 8.3.0-r1::gentoo

sys-devel/gcc-config:     2.0::gentoo

sys-devel/libtool:        2.4.6-r3::gentoo

sys-devel/make:           4.2.1-r4::gentoo

sys-kernel/linux-headers: 4.14-r1::gentoo (virtual/os-headers)

sys-libs/glibc:           2.29-r2::gentoo

Repositories:

gentoo

    location: /usr/portage

    sync-type: rsync

    sync-uri: rsync://rsync.gentoo.org/gentoo-portage

    priority: -1000

    sync-rsync-verify-jobs: 1

    sync-rsync-verify-metamanifest: yes

    sync-rsync-extra-opts: 

    sync-rsync-verify-max-age: 24

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="@FREE android no-source-code freedist linux-firmware Broadcom fmod bluez-firmware"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=btver2 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mbmi -mno-sgx -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mno-rdrnd -mf16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=btver2"

CHOST="x86_64-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/php/apache2-php7.2/ext-active/ /etc/php/cgi-php7.2/ext-active/ /etc/php/cli-php7.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS="-march=btver2 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mbmi -mno-sgx -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mno-rdrnd -mf16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=btver2"

DISTDIR="/usr/portage/distfiles"

ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"

FCFLAGS="-O2 -pipe"

FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs ccache config-protect-if-modified distcc distcc-pump distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"

FFLAGS="-O2 -pipe"

GENTOO_MIRRORS="http://distfiles.gentoo.org"

LANG="de_DE.UTF-8"

LC_ALL=""

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

LINGUAS="de en"

MAKEOPTS="-j20 -l8"

PKGDIR="/usr/portage/packages"

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"

USE="3dnow 3dnownext X a52 aac acl acpi alsa amd64 audiofile avahi berkdb bluetooth branding bzip2 cairo cdda cli cpudetection crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam ffmpeg fftw flac fonts fortran gdbm gif gimp glamor gpm gstreamer gtk guile gzip hal iconv id3tag ipv6 jack jpeg jpeg2k lame laptop lcms ldap libnotify libsamplerate libtirpc lm_sensors lzma mad midi mikmod mmx mng mod modplug mp3 mp4 mpeg multilib musepack ncurses nls nptl ogg opengl openmp pam pango pcre pdf php png policykit ppds pulseaudio python readline sdl seccomp smp sndfile sox spell sse sse2 ssl startup-notification svg systemd tcpd threads thunar tiff truetype udev udisks unicode upower usb vorbis wavpack wifi wxwidgets x264 xattr xcb xml xv xvid zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache 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="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" L10N="de de_DE" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-1" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="amdgpu radeonsi radeon" XFCE_PLUGINS="power brightness battery clock trash multiload-nandhp xmonad" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
```

--------------------------------------------------------------------------------------

ein timed emerge (wohlgemerkt nachdem ein Worldupdate bereits durchgeführt war ....)

think2 /home/alf # 

```
time emerge -uDNpv world

 * IMPORTANT: config file '/etc/portage/package.license' needs updating.

 * See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS

 * sections of the emerge man page to learn how to update config files.

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

Calculating dependencies... done!

[ebuild  rR    ] media-sound/audacity-2.2.2::gentoo  USE="alsa ffmpeg flac id3tag jack ladspa lame lv2 mad midi nls portmixer soundtouch vorbis vst -doc -libav -sbsms -twolame -vamp" CPU_FLAGS_X86="sse" 0 KiB

[ebuild  rR    ] x11-misc/slim-1.3.6-r5::gentoo  USE="branding pam -consolekit" 0 KiB

[ebuild  N     ] dev-java/icedtea-bin-3.10.0-r2:8::gentoo  USE="alsa cups gtk pulseaudio webstart (-big-endian) -doc -examples -headless-awt -multilib -nsplugin (-selinux) -source" ABI_X86="(64) -32 (-x32)" 0 KiB

[ebuild  N     ] dev-java/ant-core-1.10.5-r2::gentoo  USE="-doc -source" 0 KiB

Total: 4 packages (2 new, 2 reinstalls), Size of downloads: 0 KiB

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-libs/libpcre:3

  (dev-libs/libpcre-8.42:3/3::gentoo, ebuild scheduled for merge) conflicts with

    <dev-libs/libpcre-8.42 required by (media-libs/opencollada-1.6.62:0/0::gentoo, installed)

    ^                 ^^^^

app-text/poppler:0

  (app-text/poppler-0.74.0:0/85::gentoo, ebuild scheduled for merge) conflicts with

    >=app-text/poppler-0.35[qt5] required by (app-text/qpdfview-0.4.16:0/0::gentoo, installed)

                            ^^^ 

app-doc/doxygen:0

  (app-doc/doxygen-1.8.14-r1:0/0::gentoo, ebuild scheduled for merge) conflicts with

    app-doc/doxygen[dot] required by (sci-physics/bullet-2.86:0/2.86::gentoo, installed)

                    ^^^ 

!!! The following installed packages are masked:

- media-sound/milkytracker-1.0.0::gentoo (masked by: || ( ) AIFFWriter.m license(s))

A copy of the 'AIFFWriter.m' license is located at '/usr/portage/licenses/AIFFWriter.m'.

For more information, see the MASKED PACKAGES section in the emerge

man page or refer to the Gentoo Handbook.

 * IMPORTANT: 2 news items need reading for repository 'gentoo'.

 * Use eselect news read to view new items.

real   55m45,819s

user   37m37,768s

sys   0m7,983s

think2 /home/alf # 

alf@think2 ~ $ df -k

Dateisystem    1K-Blöcke  Benutzt Verfügbar Verw% Eingehängt auf

/dev/root      102653240 73054820  24360868   75% /

devtmpfs         3708124        0   3708124    0% /dev

tmpfs            3710404    44096   3666308    2% /dev/shm

tmpfs            3710404     1332   3709072    1% /run

tmpfs            3710404        0   3710404    0% /sys/fs/cgroup

/dev/sda5          99150    35344     58686   38% /boot

tmpfs            3710404     1948   3708456    1% /tmp

tmpfs            4194304     7956   4186348    1% /var/tmp/portage

tmpfs             742080       12    742068    1% /run/user/1000

alf@think2 ~ $ 

```

-------------------------------------------------------------------------------

u. hier noch ein Beispiel wie sich die compilierzeiten verschlechtert haben am Beispiel von Audacity (mehr als doppelt so lange)

lf@think2 /usr/src/linux-4.19.44-gentoo $ 

```
genlop -c

 Currently merging 25 out of 28

 * media-sound/audacity-2.2.2 

       current merge time: 31 minutes and 41 seconds. 

       ETA: any time now.

alf@think2 /usr/src/linux-4.19.44-gentoo $ genlop -ei audacity

 * media-sound/audacity

     Wed Sep 16 19:02:26 2015 >>> media-sound/audacity-2.0.5

     Tue May  9 19:17:27 2017 >>> media-sound/audacity-2.0.5

     Fri Jun  9 20:37:00 2017 >>> media-sound/audacity-2.0.5-r1

     Thu Jul 13 23:55:13 2017 >>> media-sound/audacity-2.1.3-r1

     Mon Dec 11 08:36:17 2017 >>> media-sound/audacity-2.1.3-r1

     Fri Sep  7 22:34:59 2018 >>> media-sound/audacity-2.2.2

     Tue Nov  6 00:43:46 2018 >>> media-sound/audacity-2.2.2

   Total builds: 7

   Global build time: 1 hour, 46 minutes and 33 seconds.

   Average merge time: 15 minutes and 13 seconds. 

   Info about currently installed ebuild:

   * media-sound/audacity-2.2.2

   Install date: Tue Nov  6 00:43:46 2018

   USE=""

   CFLAGS="-march=btver2 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mbmi -mno-sgx -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mno-rdrnd -mf16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=btver2"   CXXFLAGS="-march=btver2 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mbmi -mno-sgx -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mno-rdrnd -mf16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=btver2"   LDFLAGS="-Wl,-O1 -Wl,--as-needed"

alf@think2 /usr/src/linux-4.19.44-gentoo $ 
```

-------------------------------------------------------------------------------------------

u. hier ein Beispiel anhand der gcc updates ::::::

alf@think2 ~ $ 

```
genlop -ei gcc

 * sys-devel/gcc

     Fri Oct 10 23:25:15 2014 >>> sys-devel/gcc-4.7.3-r1

     Sat Oct 18 19:19:30 2014 >>> sys-devel/gcc-4.7.3-r1

     Sat Nov  8 17:27:36 2014 >>> sys-devel/gcc-4.8.3

     Mon Mar  2 15:53:31 2015 >>> sys-devel/gcc-4.9.2

     Tue Mar 24 20:49:37 2015 >>> sys-devel/gcc-4.7.3-r1

     Sun Apr  5 13:43:57 2015 >>> sys-devel/gcc-4.9.2

     Thu Jun  4 03:13:41 2015 >>> sys-devel/gcc-4.9.2

     Thu Jun  4 23:00:25 2015 >>> sys-devel/gcc-4.7.4

     Sat Oct 31 17:43:55 2015 >>> sys-devel/gcc-4.9.3

     Mon May 30 23:25:22 2016 >>> sys-devel/gcc-4.9.3

     Tue May 31 02:57:37 2016 >>> sys-devel/gcc-4.7.4

     Wed Jul 13 03:21:12 2016 >>> sys-devel/gcc-4.9.3

     Fri Aug  5 03:01:12 2016 >>> sys-devel/gcc-4.7.4

     Sat Jan 28 00:02:20 2017 >>> sys-devel/gcc-4.1.2

     Sun Feb 19 02:15:31 2017 >>> sys-devel/gcc-4.9.4

     Thu Apr 20 20:27:56 2017 >>> sys-devel/gcc-5.4.0-r3

     Wed Oct  4 23:24:24 2017 >>> sys-devel/gcc-5.4.0-r3

     Thu Oct  5 13:36:58 2017 >>> sys-devel/gcc-4.9.4

     Sun Nov 26 16:00:28 2017 >>> sys-devel/gcc-6.4.0

     Sat Dec  9 03:38:21 2017 >>> sys-devel/gcc-6.4.0

     Sun Dec 10 23:48:21 2017 >>> sys-devel/gcc-6.4.0

     Fri Jan 19 23:29:14 2018 >>> sys-devel/gcc-6.4.0-r1

     Sat Apr 27 17:10:47 2019 >>> sys-devel/gcc-8.2.0-r6

     Sun Jun  2 12:21:59 2019 >>> sys-devel/gcc-8.3.0-r1

   Total builds: 24

   Global build time: 2 days, 11 hours and 24 seconds.

   Average merge time: 2 hours, 27 minutes and 31 seconds.

   Info about currently installed ebuild:

   * sys-devel/gcc-8.2.0-r6

   Install date: Sat Apr 27 17:10:47 2019

   USE=""

   CFLAGS="-march=btver2 -mno-3dnow -mno-sha -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi2 -mno-tbm -mno-avx2 -mno-hle -mno-rdrnd -mno-fsgsbase -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mtune=btver2"   CXXFLAGS="-march=btver2 -mno-3dnow -mno-sha -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi2 -mno-tbm -mno-avx2 -mno-hle -mno-rdrnd -mno-fsgsbase -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mtune=btver2"   LDFLAGS="-Wl,-O1 -Wl,--as-needed"

   * sys-devel/gcc-7.3.0-r3

Use of uninitialized value $e_date in concatenation (.) or string at /usr/bin/genlop line 873.

   Install date: 

   USE=""

   CFLAGS="-march=native -O2 -pipe"   CXXFLAGS="-march=native -O2 -pipe"   LDFLAGS="-Wl,-O1 -Wl,--as-needed"

   * sys-devel/gcc-8.3.0-r1

   Install date: Sun Jun  2 12:21:59 2019

   USE=""

   CFLAGS="-march=btver2 -mno-3dnow -mno-sha -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi2 -mno-tbm -mno-avx2 -mno-hle -mno-rdrnd -mno-fsgsbase -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mtune=btver2"   CXXFLAGS="-march=btver2 -mno-3dnow -mno-sha -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi2 -mno-tbm -mno-avx2 -mno-hle -mno-rdrnd -mno-fsgsbase -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mtune=btver2"   LDFLAGS="-Wl,-O1 -Wl,--as-needed"

alf@think2 ~ $
```

----------

## misterjack

https://forums.gentoo.org/viewtopic-t-103561.html #13 bitte beachten, so ist das nicht wirklich lesbar

----------

## Josef.95

 *alfcyber wrote:*   

> ein timed emerge (wohlgemerkt nachdem ein Worldupdate bereits durchgeführt war ....)
> 
> think2 /home/alf # time emerge -uDNpv world
> 
> * IMPORTANT: config file '/etc/portage/package.license' needs updating.
> ...

 

Huh ja zugegeben, das ist schon eine lange Zeit. Aber, dein dep tree ist ja auch nicht sauber aufgelöst.

Vorschlag: Löse die noch vorhandenen Konflikte auf - dann wird portage auch wieder wesentlich schneller auflösen können.

Grade auch diese Subslot [ebuild rR ] rebuilds brauchen viel Zeit zum auflösen.

Beispiel: 

```
$ time emerge -uDNpv world

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

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 KiB

real    0m23,431s

user    0m22,791s

sys     0m0,448s
```

----------

## mike155

Hallo alfcyber,

danke für Deine Daten!

Bitte packe Deine Ausgaben in "code"-Blöcke - sie sind dann wesentlich einfacher zu lesen. Du kannst Deinen Post auch noch nachträglich editieren und die "code"-Blöcke einfügen.

Ich stimme Josef.95 zu. Ein Teil der 55 Minuten entsteht dadurch, dass Du Confilicts hast.

Bei Gentoo sollte man regelmäßig (mindestens ein Mal im Monat, nach einem 'emerge --sync' oder 'eix-sync')  folgende Wartungsarbeiten ausführen:

```
emerge --update --deep --newuse -av @world

emerge -a @preserved-rebuild

revdep-rebuild

emerge -a --depclean
```

Dabei sollte man darauf achten, dass alle Anweisungen sauber durchlaufen und dass keine Konfilkte oder Blocker (wie in Deinem Fall) angezeigt werden. Alle Probleme, Konflikte oder Blocker sollten sofort behoben werden. 

Wie lange dauert ein "emerge --update --deep --newuse -av @world", nachdem Du diese Wartungsarbeiten durchgeführt hast?

Wenn ich es richtig sehe, ist es ein Notebook? Gibt es in den System-Logs Meldungen zu Überhitzungen und Thermal Throtteling? Hast Du die CPU-Temperatur mal mit 'sensors' überwacht, während "emerge läuft"? 

Bei längeren emerge-Jobs auf meinem Notebook reduziere ich die maximale CPU-Frequenz etwas:

```
cpupower frequency-info

cpupower frequency-set --max 2200MHz    # ca. 20% unter der Nominal-Frequenz

cpupower frequency-info   
```

Das reduziert die CPU-Temperatur und die Lautstärke des CPU-Lüfters und - falls Du Thermal Throtteling hast, auch dieses.

Du verwendest recht komplizierte CFLAGS, vermutlich wegen distcc. Stimmen die CFLAGS noch? Die empfohlenen CFLAGS können sich zwischen GCC Versionen ändern - und dann sind CFLAGS, die bei einer GCC Version gut waren, auf einmal nicht mehr so gut.

Ich frage mich, ob Du Dir mit Deinen CFLAGS, distcc und ccache einen Gefallen tust. Ich würde (das ist jetzt meine persönliche Meinung) distcc und ccache deinstallieren, und auf

```
CFLAGS="-march=native -O2 -pipe"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j4" 

```

wechseln - so mache ich das bei meinem Notebook. Große Pakete wie GCC, Libreoffice und Firefox baue ich auf meinem Desktop, erstelle ein Binärpaket und installiere dann das Binärpaket auf mein Notebook.

Mike

----------

## alfcyber

Hallo danke schon mal für die Hinweise, sorry wegen Forumregel 13 (hatte ich vergessen)

Ich habe die angezeigten conflicts aufgelöst, derzeit läuft noch emerge update (es ackert noch), ich werde wieder berichten. 

Zu den CPU Flags, die ich mir selbst jetzt das erstemal genauer angeschaut habe (denn sie wurden via script von der wiki Seite generiert), stimme ich auch voll zu,

sie passten vermutlich zum gcc7 und haben sich zum gcc8.3 verändert (vor allem fehlen komplett die simd Optimierungen, die ohne Zweifel auf einer A4 apu vorhanden sind..., ja ok,

das könnte mit dazu beitragen, allerdings ist es mir ohne genauere Kenntnis der inneren Funktionsweise von Portage, nicht klar, ob simd Optimierungen zu Vorteilen, bzw. Kontra Nachteile führen würden. (Ein installierter Blender läuft z.b. einwandfrei).

Ich werde aber die Vorschläge beherzigen u. alles wichtige mit Flag nativ neu kompilieren. (Die Conflikte alleine verlangsamen den emerge mMn nicht).

An der Cpu Temparatur und des damit evtl. verbundenen Drosselung liegt es mMn auch nicht (der a4 taktet max. auf 1.5Ghz der Lüfter ist sozusagen unhörbar u. der Akku hält

extrem lange, das ist das Gute an diesem Laptop). Der Takt kann via Applett beobachtet werden u. ist beim kompilieren ständig am oberen Limit.

Zudem hab ich jetzt auch defrag prüfen lassen, ob eine Fragmentierung vorliegt -> nein keine.

Ich hoffe, dass das System stabil bleibt bei gemischten cflags.

Eine Frage hätte ich dann noch, es gab mal eine gentoo news, dass standardmäßig auf pic umgestellt wird, ich glaube ab dem gcc6.4. Diese news kann ich auf keinen meiner Rechner mehr finden. War das nur einbildung?

----------

## mike155

Die Average Merge time vom GCC

```
Average merge time: 2 hours, 27 minutes and 31 seconds.
```

zeigt ja, dass Dein Rechner einigermaßen schnell ist. Deshalb sollte ein 

```
time emerge --update --deep --newuse --pretend --verbose @world
```

auch deutlich schneller sein als 55 Minuten.

Ist Dein Notebook vielleicht am swappen? Glaube ich zwar nicht, aber überprüfe das mal

Was sagt

```
hdparm -Tt /dev/sda
```

Was sagt

```
smartctl -a /dev/sda
```

Seriennummer und evtl. andere "persönliche" Daten bitte auskommentieren.

Schau Dir auch /var/lib/portage/world an. Wenn Du beim Lösen von Problemen nicht konsequent die emerge-Option "--oneshot" verwendest hast, solltest Du dort vermutlich mal aufräumen.

----------

## Josef.95

 *alfcyber wrote:*   

> Eine Frage hätte ich dann noch, es gab mal eine gentoo news, dass standardmäßig auf pic umgestellt wird, ich glaube ab dem gcc6.4. Diese news kann ich auf keinen meiner Rechner mehr finden. War das nur einbildung?

  Nein, das wa keine Einbildung :-) Vermutlich suchst du die News zu den neueren 17er Profilen

----------

## alfcyber

Hallo danke an alle, die sich am Beitrag beteiligen,

die wichtigen Pakete wie glibc, utils, make, libtool, python, gcc ect habe ich neu gebaut. Das emerge hatte nach dem Auflösen der Konflikte und dem Neubau einmal eine 

User Zeit von ca. 3 min. ausgegeben ein anderes mal ca. 6 min u. ein weiteresmal ca. 5 min. Es hat also etwas gebracht. Ich weiß nicht, ob man diese Zeiten für dieses

System als normal bezeichnen u. damit den Thread als gelöst markieren könnte (eher nicht? zumal kein einziges Update ansteht/anstand). Falls jemand ein ähnliches System hat,

könnte er sich dazu äußern?

Zu den GCC Bauzeiten täuscht die avrg. Time, denn der gcc4 wurde viele Jahre gepflegt u. konnte wesentlich schneller kompiliert werden. Ein aktueller GCC8.3 dauert länger als 3 Stunden zu

bauen. Es ist quasi so, dass ein genlop Aufruf beim Kompilieren zur Bauzeit fast immer : Any time now anzeigt (also es länger dauert als jemals zuvor). 

Dies könnte nun nach den Umstellungen auf die neueren GCC Versionen "evtl. normal" sein? Zudem könnte die Umstellung auf PIE (also nicht pic, ist aber im Sinne ähnlich) auch mitbegründet

sein. Auf Stack Overflow scheint dieses Thema sehr populär  zu sein (zwar nicht unbedingt gentoo bezogen) aber sehr interessant. Die Meinungen über den Sinn gehen auseinander...

Warum gab es für gentoo (end)User keine Option das alte Schema zu behalten? Auch der Umstieg auf min GCC6.4 wurde zwangsweise mit maskierungen vorgegeben. Wobei mMn nach c++14 das System nicht verlangsamt.

Ich poste hier noch die Ergebnisse von hdparm u. smartctl (der Wert von hdparm ist für mich nachvollziehbar, weil ich ein weiteres pc system mit ähnlicher Ausstattung habe (der Portage dort ist aber schneller u. benötigt nur ca. eine Minute um "nichts" updaten zu wollen), bei smartctl ist mir nichts aufgefallen:

```

alf@think2 ~ $ sudo smartctl -a /dev/sda

Passwort: 

smartctl 7.0 2018-12-30 r4883 [x86_64-linux-4.19.44-gentoo] (local build)

Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===

Model Family:     Marvell based SanDisk SSDs

Device Model:     SanDisk SDSSDHII240G

Serial Number:    143376401***

LU WWN Device Id: 5 001b44 c6d7b41**

Firmware Version: X31000RL

User Capacity:    240.057.409.536 bytes [240 GB]

Sector Size:      512 bytes logical/physical

Rotation Rate:    Solid State Device

Form Factor:      2.5 inches

Device is:        In smartctl database [for details use: -P show]

ATA Version is:   ACS-2 T13/2015-D revision 3

SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)

Local Time is:    Wed Jun  5 20:48:09 2019 CEST

SMART support is: Available - device has SMART capability.

SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===

SMART overall-health self-assessment test result: PASSED

General SMART Values:

Offline data collection status:  (0x00)   Offline data collection activity

               was never started.

               Auto Offline Data Collection: Disabled.

Self-test execution status:      (   0)   The previous self-test routine completed

               without error or no self-test has ever 

               been run.

Total time to complete Offline 

data collection:       (    0) seconds.

Offline data collection

capabilities:           (0x11) SMART execute Offline immediate.

               No Auto Offline data collection support.

               Suspend Offline collection upon new

               command.

               No Offline surface scan supported.

               Self-test supported.

               No Conveyance Self-test supported.

               No Selective Self-test supported.

SMART capabilities:            (0x0003)   Saves SMART data before entering

               power-saving mode.

               Supports SMART auto save timer.

Error logging capability:        (0x01)   Error logging supported.

               General Purpose Logging supported.

Short self-test routine 

recommended polling time:     (   2) minutes.

Extended self-test routine

recommended polling time:     (  10) minutes.

SMART Attributes Data Structure revision number: 4

Vendor Specific SMART Attributes with Thresholds:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE

  5 Reallocated_Sector_Ct   0x0032   100   100   ---    Old_age   Always       -       0

  9 Power_On_Hours          0x0032   253   100   ---    Old_age   Always       -       6182

 12 Power_Cycle_Count       0x0032   100   100   ---    Old_age   Always       -       1460

165 Total_Write/Erase_Count 0x0032   100   100   ---    Old_age   Always       -       133169480013

166 Min_W/E_Cycle           0x0032   100   100   ---    Old_age   Always       -       1

167 Min_Bad_Block/Die       0x0032   100   100   ---    Old_age   Always       -       35

168 Maximum_Erase_Cycle     0x0032   100   100   ---    Old_age   Always       -       27

169 Total_Bad_Block         0x0032   100   100   ---    Old_age   Always       -       0

171 Program_Fail_Count      0x0032   100   100   ---    Old_age   Always       -       0

172 Erase_Fail_Count        0x0032   100   100   ---    Old_age   Always       -       0

173 Avg_Write/Erase_Count   0x0032   100   100   ---    Old_age   Always       -       6

174 Unexpect_Power_Loss_Ct  0x0032   100   100   ---    Old_age   Always       -       82

187 Reported_Uncorrect      0x0032   100   100   ---    Old_age   Always       -       0

194 Temperature_Celsius     0x0022   053   058   ---    Old_age   Always       -       47 (Min/Max 20/58)

199 SATA_CRC_Error          0x0032   100   100   ---    Old_age   Always       -       0

230 Perc_Write/Erase_Count  0x0032   100   100   ---    Old_age   Always       -       1348637819194

232 Perc_Avail_Resrvd_Space 0x0033   100   100   004    Pre-fail  Always       -       100

233 Total_NAND_Writes_GiB   0x0032   100   100   ---    Old_age   Always       -       1311

234 Perc_Write/Erase_Ct_BC  0x0032   100   100   ---    Old_age   Always       -       3343

241 Total_Writes_GiB        0x0030   253   253   ---    Old_age   Offline      -       2309

242 Total_Reads_GiB         0x0030   253   253   ---    Old_age   Offline      -       2110

244 Thermal_Throttle        0x0032   000   100   ---    Old_age   Always       -       0

SMART Error Log Version: 1

No Errors Logged

SMART Self-test log structure revision number 1

Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error

# 1  Short offline       Completed without error       00%       528         -

# 2  Short offline       Completed without error       00%       291         -

# 3  Short offline       Completed without error       00%       128         -

Selective Self-tests/Logging not supported

alf@think2 ~ $ sudo hdparm -tT /dev/sda

Passwort: 

/dev/sda:

 Timing cached reads:   2222 MB in  2.00 seconds = 1110.80 MB/sec

 Timing buffered disk reads: 1512 MB in  3.00 seconds = 503.33 MB/sec

alf@think2 ~ $ 

```

Anmerkung die buffered read Time ist hier aussergewöhnlich schnell, normalerweise oft mit 200-300 MB/sec gemessen.

----------

## mike155

Eine Reduktion der Ausführungszeit von 55 Minuten auf 5 Minuten ist doch ein toller Erfolg! Ich vermute, dass es die Blocker waren, die Du aufgelöst hast - die können viel Zeit kosten.

Eine Ausführungszeit von 5 Minuten auf Deinem Rechner klingt realistisch. Du kannst versuchen, die Zeit weiter zu verkürzen, indem Du weitere Konfigurationsdateien wie /var/lib/portage/world und /etc/portage/* aufräumst. Meines Erachtens hast Du auch zu viele USE Flags in /etc/portage/make.conf spezifiziert - hier könntest Du auch optimieren. "hal" gibt es schon lange nicht mehr, und manche der USE Flags sollte man besser paketbezogen in /etc/portage/package.use definieren.

Die Ausgaben von Deiner Festplatte sehen in Ordnung aus.

----------

## franzf

 *mike155 wrote:*   

> Meines Erachtens hast Du auch zu viele USE Flags in /etc/portage/make.conf spezifiziert - hier könntest Du auch optimieren. "hal" gibt es schon lange nicht mehr, und manche der USE Flags sollte man besser paketbezogen in /etc/portage/package.use definieren.

 

Das ist die Ausgabe von emerge --info, dort werden sämtliche über make.conf und profile aktivierten USE-Flags ausgegeben, die Liste ist sehr lang auch mit ungesetztem USE in make.conf.

Nicht mehr vorhandene USE-Flags sollten nicht verlangsamen, auch global gesetzte USE-Flags die nur für einzelne Pakete verfügbar sind.

Portage wird ja langsamer mit unveränderter config. Merke ich auch. Das liegt an den vielen neuen Features, die dazugekommen sind.

Von 55 Minuten bin ich glücklicherweise weit entfernt, aber 5 Minuten braucht es mittlerweile schon manchmal. Schön waren die Zeiten, in denen man in (weit) unter 1 Minute die Update-Liste präsentiert bekam.

----------

## alfcyber

Hallo,

vielen Dank für die Beiträge. Demnach (nach dem Beitrag über diesem), könnte der Thread also als gelöst markiert werden. Ich habe ihn mir nochmal durchgelesen und möchte deshalb etwas

richtig stellen. Leider hatte ich aus zeitmangel nur flüchtig die CFLAGS angeschaut und versehentlich die gelesen, die im Thread zum GCC ausgegeben waren. In der make.conf waren natürlich 

cflags mit simd optimierung angegeben. Eine jetzt intensivere Nachschau hat ergeben, dass sich die nativ flags aber von gcc 8.2 auf 8.3 tatsächlich verändert haben.

Es sind aber -mno... Flags, also Features, die der GCC hinzubekommen hat u. auf diese CPU scheinbar nicht wirken. (Die aber evlt. standardmäßig aktiviert sein könnten.)

(Danke also für diesen wichtigen Hinweis, wenn zukünftig mit distcc kompiliert werden soll.). Das neue kompilieren der wichtigen Pakekte kann somit keine Wirkung gehabt haben.

----------

