Code: Select all
>>> Running pre-merge checks for dev-qt/qtwebengine-5.15.4_p20220505
* Checking for at least 64 GiB RAM ... [ !! ]
* There is NOT at least 64 GiB RAM
* Checking for at least 7 GiB disk space at "/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/temp" ... [ ok ]
* Checking for at least 150 MiB disk space at "/usr" ... [ ok ]
*
* Space constraints set in the ebuild were not met!
* The build will most probably fail, you should enhance the space
* as per failed tests.
*
* ERROR: dev-qt/qtwebengine-5.15.4_p20220505::gentoo failed (pretend phase):
* Build requirements not met!
*
* Call stack:
* ebuild.sh, line 127: Called pkg_pretend
* qtwebengine-5.15.4_p20220505.ebuild, line 153: Called qtwebengine_check-reqs
* qtwebengine-5.15.4_p20220505.ebuild, line 149: Called check-reqs_pkg_pretend
* check-reqs.eclass, line 104: Called check-reqs_pkg_setup
* check-reqs.eclass, line 95: Called _check-reqs_output
* check-reqs.eclass, line 302: Called die
* The specific snippet of code:
* [[ ${EBUILD_PHASE} == "pretend" && -z ${CHECKREQS_DONOTHING} ]] && \
* die "Build requirements not met!"
*
* If you need support, post the output of `emerge --info '=dev-qt/qtwebengine-5.15.4_p20220505::gentoo'`,
* the complete build log and the output of `emerge -pqv '=dev-qt/qtwebengine-5.15.4_p20220505::gentoo'`.
* The complete build log is located at '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/temp/die.env'.
* Working directory: '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/empty'
* S: '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/work/qtwebengine-5.15.3_p20220505'
>>> Failed to emerge dev-qt/qtwebengine-5.15.4_p20220505, Log file:
>>> '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/temp/build.log'
* Package: dev-qt/qtwebengine-5.15.4_p20220505
* Repository: gentoo
* Maintainer: qt@gentoo.org gyakovlev@gentoo.org
* Upstream: https://bugreports.qt.io/
* USE: abi_x86_64 alsa amd64 elibc_glibc jumbo-build kernel_linux system-ffmpeg system-icu userland_GNU widgets
* FEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox
* Checking for at least 64 GiB RAM ... [ !! ]
* There is NOT at least 64 GiB RAM
* Checking for at least 7 GiB disk space at "/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/temp" ... [ ok ]
* Checking for at least 150 MiB disk space at "/usr" ... [ ok ]
*
* Space constraints set in the ebuild were not met!
* The build will most probably fail, you should enhance the space
* as per failed tests.
*
* ERROR: dev-qt/qtwebengine-5.15.4_p20220505::gentoo failed (pretend phase):
* Build requirements not met!
*
* Call stack:
* ebuild.sh, line 127: Called pkg_pretend
* qtwebengine-5.15.4_p20220505.ebuild, line 153: Called qtwebengine_check-reqs
* qtwebengine-5.15.4_p20220505.ebuild, line 149: Called check-reqs_pkg_pretend
* check-reqs.eclass, line 104: Called check-reqs_pkg_setup
* check-reqs.eclass, line 95: Called _check-reqs_output
* check-reqs.eclass, line 302: Called die
* The specific snippet of code:
* [[ ${EBUILD_PHASE} == "pretend" && -z ${CHECKREQS_DONOTHING} ]] && \
* die "Build requirements not met!"
*
* If you need support, post the output of `emerge --info '=dev-qt/qtwebengine-5.15.4_p20220505::gentoo'`,
* the complete build log and the output of `emerge -pqv '=dev-qt/qtwebengine-5.15.4_p20220505::gentoo'`.
* The complete build log is located at '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/temp/die.env'.
* Working directory: '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/empty'
* S: '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/work/qtwebengine-5.15.3_p20220505'
* Messages for package dev-qt/qtwebengine-5.15.4_p20220505:
* There is NOT at least 64 GiB RAM
*
* Space constraints set in the ebuild were not met!
* The build will most probably fail, you should enhance the space
* as per failed tests.
*
* ERROR: dev-qt/qtwebengine-5.15.4_p20220505::gentoo failed (pretend phase):
* Build requirements not met!
*
* Call stack:
* ebuild.sh, line 127: Called pkg_pretend
* qtwebengine-5.15.4_p20220505.ebuild, line 153: Called qtwebengine_check-reqs
* qtwebengine-5.15.4_p20220505.ebuild, line 149: Called check-reqs_pkg_pretend
* check-reqs.eclass, line 104: Called check-reqs_pkg_setup
* check-reqs.eclass, line 95: Called _check-reqs_output
* check-reqs.eclass, line 302: Called die
* The specific snippet of code:
* [[ ${EBUILD_PHASE} == "pretend" && -z ${CHECKREQS_DONOTHING} ]] && \
* die "Build requirements not met!"
*
* If you need support, post the output of `emerge --info '=dev-qt/qtwebengine-5.15.4_p20220505::gentoo'`,
* the complete build log and the output of `emerge -pqv '=dev-qt/qtwebengine-5.15.4_p20220505::gentoo'`.
* The complete build log is located at '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/temp/die.env'.
* Working directory: '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/empty'
* S: '/var/tmp/portage/dev-qt/qtwebengine-5.15.4_p20220505/work/qtwebengine-5.15.3_p20220505'

Code: Select all
# (check-reqs added for bug #570534)
#
# Estimate the amount of RAM required
# Multiplier is *10 because Bash doesn't do floating point maths.
# Let's crudely assume ~2GB per compiler job for GCC.
local multiplier=20
# And call it ~1.5GB for Clang.
if tc-is-clang ; then
multiplier=15
fi
local CHECKREQS_DISK_BUILD="7G"
local CHECKREQS_DISK_USR="150M"
if ! has "distcc" ${FEATURES} ; then
# bug #830661
# Not super realistic to come up with good estimates for distcc right now
local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
fiCode: Select all
System:
Host: unstableKn18 Kernel: 5.17.9-gentoo-dist x86_64 bits: 64
Desktop: KDE Plasma 5.24.5 Distro: Gentoo Base System release 2.8
Machine:
Type: Desktop Mobo: Micro-Star model: MPG X570 GAMING PLUS (MS-7C37) v: 2.0
serial: 07C3722_L41D060312 UEFI: American Megatrends LLC. v: A.F0
date: 12/16/2021
CPU:
Info: 16-core model: AMD Ryzen 9 5950X bits: 64 type: MT MCP cache:
L2: 8 MiB
Speed (MHz): avg: 2275 min/max: 2200/5083 cores: 1: 2200 2: 2200 3: 2200
4: 2200 5: 2200 6: 2200 7: 3400 8: 2200 9: 2200 10: 2200 11: 2200 12: 2200
13: 2200 14: 2200 15: 2200 16: 2200 17: 2200 18: 2200 19: 2200 20: 2200
21: 2200 22: 2200 23: 2200 24: 2200 25: 2200 26: 2200 27: 2200 28: 2200
29: 2200 30: 2200 31: 2200 32: 3400
Graphics:
Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] driver: nouveau v: kernel
Display: x11 server: X.org v: 1.21.1.3 driver: X: loaded: nouveau
unloaded: modesetting gpu: nouveau resolution: <missing: xdpyinfo/xrandr>
resolution: 1920x1080
OpenGL: renderer: NV136 v: 4.3 Mesa 22.1.0
Audio:
Device-1: NVIDIA GP106 High Definition Audio driver: snd_hda_intel
Device-2: AMD Starship/Matisse HD Audio driver: snd_hda_intel
Sound Server-1: ALSA v: k5.17.9-gentoo-dist running: yes
Sound Server-2: PulseAudio v: 15.99.1 running: yes
Network:
Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
driver: r8169
IF: enp39s0 state: up speed: 1000 Mbps duplex: full
mac: d8:bb:c1:53:f3:ff
Drives:
Local Storage: total: 2.27 TiB used: 226.51 GiB (9.7%)
ID-1: /dev/nvme0n1 vendor: Samsung model: SSD 980 PRO 1TB
size: 931.51 GiB
ID-2: /dev/nvme1n1 vendor: Samsung model: SSD 980 1TB size: 931.51 GiB
ID-3: /dev/sda type: USB model: TO Exter nal USB 3.0 size: 465.76 GiB
Partition:
ID-1: / size: 29.36 GiB used: 10.88 GiB (37.1%) fs: ext4
dev: /dev/nvme0n1p18
Swap:
ID-1: swap-1 type: partition size: 8.56 GiB used: 0 KiB (0.0%)
dev: /dev/nvme0n1p3
Sensors:
System Temperatures: cpu: N/A mobo: N/A gpu: nouveau temp: 34.0 C
Fan Speeds (RPM): N/A gpu: nouveau fan: 1440
Info:
Processes: 369 Uptime: 33m Memory: 31.34 GiB used: 1.44 GiB (4.6%)
Shell: Bash inxi: 3.3.13

CPU mit 16 Kernen plus 16 threads hat man dann 32 logische Prozessoren,Code: Select all
CPU: Info: 16-core model: AMD Ryzen 9 5950X
Code: Select all
nprocWer LibreOffice, Firefox und qtwebengine gleichzeitig in einem tmpfs kompiliert wird bei -j24 auch mit 64GB nicht genug haben.ManfredB wrote:Nur dann können wahrscheinlich solche Proble wie mit qtwebengine nicht mehr auftreten.

danke, man lernt nie aus. ich hab wenn benötigt immer den output von lscpu geparsed, aber nproc sieht doch irgendwie einfacher ausJosef.95 wrote:Wenn keine MAKEOPTS gesetzt werden, dann nimmt portage den Wert, denausgibt.Code: Select all
nproc
Wer schlau ist, macht ein paar Tests - und misst die emerge-Zeiten für Pakete wie Glibc oder GCC o.ä. mit 4, 8, 12, 16, 20, 24 und 32 CPUs.Josef.95 wrote:Jo, mit der fettenCPU mit 16 Kernen plus 16 threads hat man dann 32 logische Prozessoren,Code: Select all
CPU: 16-core model: AMD Ryzen 9 5950X
Die richtige Lösung ist, nicht mehr Jobs laufen zu lassen, als man Kerne hat - im Falle einer einer AMD Ryzen 9 5950X CPU also 16. Dann braucht man auch keine 64GB RAM. Wenn man Lust und Zeit hat, kann man ein paar Tests machen und die Jobs noch etwas erhöhen. Aber nur, wenn man auch wirklich eine nennenswerte Geschwindigkeitssteigerung sieht.Nach diesen Berechnungen werde ich mit meinem Sohn sprechen, ob wir den RAM-Speicher von 32 auf 64 erhöhen.
Ja. Wenn der pre-merge Check ausfehlert, gehe auf -j15 oder -j14.Macht es Sinn, auf -j16 zu gehen ohne Erhöhung des RAM-Speichers?
AAAhhhh, da wird über diese Einstellung in make.conf dauerhaft ein € 573,27 Teil zu einemManfredB wrote: MAKEOPTS aktiviert: "-j8"
Code: Select all
mkdir -p /etc/portage/env
echo 'MAKEOPTS="-j16 -l15"' >> /etc/portage/env/makeopt-j16
echo 'dev-qt/qtwebengine makeopt-j16' >> /etc/portage/package.envCode: Select all
echo 'MAKEOPTS="-j21 -l20"' >> /etc/portage/env/makeopt-j21
echo 'sys-devel/clang makeopt-j21' >> /etc/portage/package.envWow. Ich wusste gar nicht dass du dichten kannst.mike155 wrote:
- Windows: Reboot tut immer gut!
- Gentoo: Neuinstallation! Dann wird das schon!
Ja, mir auch. Ebenso kann ich die Empfehlung Hyperthreading/SMT auszuschalten nicht nachvollziehen.Marlo wrote:AAAhhhh, da wird über diese Einstellung in make.conf dauerhaft ein [...] zu einem [...] runtergestuft. Das tut weh.
Ja, ich auch ! ...Marlo wrote:Also ich bin ja eher ein Fan vom Gentoo Wiki [...]
Josef.95 wrote:Manfred, (bez. Notebook)
so als Faustformel braucht man etwa 2GB RAM pro CPU-Kern/Thread zum Pakete bauen.
Sprich, mit deiner i5-7200U CPU, mit 2 Kernen plus zwei Threads (=4 Threads insgesamt) mal 2GB sollten die 8GB RAM idR gut ausreichen,
sprich MAKEOPTS="-j4" sollte mit den 8GB RAM gut funktionieren.
Aber auch hier würde ich EMERGE_DEFAULT_OPTS="--jobs=2" eher rausnehmen. Beachte, für zwei emerge Jobs, die beide gleichzeitig mit MAKEOPTS="-j4" bauen können,
kommt man dann auf insgesamt -j8
(für 8 Jobs mit je 2GB RAM bräuchte es also dann schon 16 GB RAM - und die hast du nicht)
Vorschlag: Lasse auf dem Notebook die
MAKEOPTS="-j4"
und tausche im EMERGE_DEFAULT_OPTS=--jobs=2 gegen --quiet-build=y
Ich denke das sollte gut funktionieren
Ja, Mike, das war letztes Jahr ... wir beide - zusammen mit allen anderen alten Gentoo-Hasen - wissen doch, dass manchmal User (nach eigenen Aussagen) noch älter sind als wir ... und auch ein bischen vergesslich ... deshalb: Verlinken - tut niemals stinkenmike155 wrote:An dieser Stelle darf ich noch auf diesen Thread verlinken: viewtopic-p-8605491.htm
Das hatten wir nämlich alles schon mal diskutiert!
Es war nicht unbedingt eine Empfehlung, sondern ich habe geschrieben, dass ich das so mache.pietinger wrote:Ebenso kann ich die Empfehlung Hyperthreading/SMT auszuschalten nicht nachvollziehen.
Ich mache das tatsächlich auf den meisten meiner Rechner so.mike155 wrote:Ich persönlich würde übrigens Hyperthreading/SMT im BIOS ausschalten. Dann hat das System 16 Kerne und 16 CPUs - und gut ist.
Ich kenne mindestens einen weiteren: Es ist sicherer. Dies wird m.M. aber eher an Servern benötigt die virtuelle Maschinen untrusted Leuten zur Verfügung stellen (außerdem haben die letzten Kernel-Versionen einen Teil davon wieder eingefangen).mike155 wrote:Es gibt noch weitere Gründe, Hyperthreading/SMT nicht einzuschalten - aber das würde an dieser Stelle zu weit führen.
Wenn man die Anzahl der gleichzeitig ablaufenden Compilier-Jobs um die der logischen Kerne auch nur um einen überschreitet, wird alles wieder langsamer - völlig korrekt (getestet mit verschiedenen CPUs; steht auch in meiner Anleitung).mike155 wrote:Wenn man das verstehen will: schnappt Euch ein Paket wie GCC und messt die Kompilierzeiten für unterschiedliche Anzahl von Jobs. Auf vielen (den meisten?) Systeme ist es so, dass die Kompilierzeiten nicht mehr schneller werden, wenn man Hyperthreading/SMT eingeschaltet hat und die Anzahl der Kerne (nicht: CPUs) deutlich überschreitet. Ich habe auch bei einigen Systemen festgestellt, dass Turbo Boost weniger gut funktioniert, wenn Hyperthreading/SMT eingeschaltet ist.
Was den Energieverbrauch betrifft, gilt dies nur für Notebooks ... wir alle kennen doch "Marketing" ... bei Desktops gilt dies nicht. Was die Abwärme betrifft: Hier ist natürlich entscheidend, genügend Wärme abzuführen (nein, ich will jetzt nicht über Wasser-Kühlung contra konventioneller Luft-Kühlung sprechen). WENN die CPU wegen ungenügender Kühlung throtteln muß, dann bringt SMT natürlich weniger (bis hin zu Null) ... dies sollte aber bei einem Desktop (oder Server) nicht der Fall sein.mike155 wrote:[...] ist es auch so, dass die Leistungsfähigkeit der Chips durch den Energieverbrauch beschränkt ist. Wenn 16 Kerne bereits das Wärmebudget ausschöpfen, dann kann das System nicht mehr schneller werden, wenn man Hyperthreading/SMT einschaltet
Solche Beschleunigungen habe ich noch nicht gemessen.pietinger wrote: Zwar nicht um 100 % aber immerhin um irgendetwas zwischen 40 und 70 %.
Code: Select all
+-----------------------------------------+----------+----------+----------+
| MAKEOPTS="-jN" | 8 | 12 | 16 |
+-----------------------------------------+----------+----------+----------+
| SMT aus (8 Kerne, 8 CPUs), emerge glibc | 120 s | 119 s | |
| SMT aus (8 Kerne, 8 CPUs), emerge gcc | 1241 s | 1247 s | |
+-----------------------------------------+----------+----------+----------+
| SMT an (8 Kerne, 16 CPUs), emerge glibc | 119 s | 112 s | 108 s |
| SMT an (8 Kerne, 16 CPUs), emerge gcc | 1223 s | 1175 s | 1121 s |
+-----------------------------------------+----------+----------+----------+Das glaube ich. Bei mathematischen Berechnungen mit Multithreading habe ich auch schon größere Effekte gesehen. Da gibt es wenig I/O, die Kerne führen denselben Code aus, Caches müssen nicht dauernd neu geladen werden, usw. Mit den Ergebnissen solcher Benchmarks werben auch die Prozessor-Hersteller... Aber das ist ein ganz spezielles Anwendungszenario.SMT ist bei mir aber eingeschaltet ... weil ... meine Schach-Engine (Stockfish) dann halt schneller analysiert (getestet).
Ich glaube, da hatten wir schon mal drüber gesprochen. Bei meinen Notebooks reduziere ich auch die Performance, damit der Lüfter leise bzw. aus bleibt und das Gerät nicht zu heiß wird. Das kann man über die Anzahl der Jobs machen. Noch besser geht es über die Maximalfrequenz - weil die Frequenz fast quadratisch in den Energieverbrauch der CPU eingeht (zum einen über die Anzahl der Schaltvorgänge pro Sekunde, zum anderen über die CPU-Spannung).P.S.: Ich habe an meinem Intel 8-Kerner den Wert "-j4" eingestellt (trotz 16 GB) ... weil ... ich meine Updates in der Nacht laufen lasse, wo es mich nicht interessiert, wie lange die laufen. Wenn man aber auf einen emerge wartet, kann ich schon verstehen, daß man da mit Höchst-Geschwindigkeit fahren will ...
Und hier wieder wird eine Messung für eine allgemeine Aussage verwendet. Der mehr am RAM verbrauch beim übersetzen von qtwebengine hat aber null mit HT zu tun!mike155 wrote:Hyperthreading bringt hier eine Beschleunigung von 10%. Also, das lohnt sich nicht wirklich - und wenn man dann auch noch die doppelte Menge RAM dafür braucht...
Es ist kein spezielles Anwendungszenario das ist halt ein anderes Szenario. Das Problem ist, so kommt es mir zu mindestens so vor, dass du gerne mit allgemeinen Aussagen daher kommst welche sich aber auf Daten von wenigen Anwendungsfällen stützen.mike155 wrote:Das glaube ich. Bei mathematischen Berechnungen mit Multithreading habe ich auch schon größere Effekte gesehen. Da gibt es wenig I/O, die Kerne führen denselben Code aus, Caches müssen nicht dauernd neu geladen werden, usw. Mit den Ergebnissen solcher Benchmarks werben auch die Prozessor-Hersteller... Aber das ist ein ganz spezielles Anwendungszenario.SMT ist bei mir aber eingeschaltet ... weil ... meine Schach-Engine (Stockfish) dann halt schneller analysiert (getestet).