Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Update von clang-10 "out of memory"
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2, 3, 4, 5, 6  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 288

PostPosted: Fri Jul 10, 2020 2:36 pm    Post subject: Reply with quote

Es wurde zumindest mal irgendwann in der Fachpresse behauptet das Mozilla Gecko nicht mehr weiter entwickelt und zu chrome Rendering wechselt. Ist aber schon ewig her das ich das mal gelesen habe.

Nein erst mal werde ich das nicht mehr tun das war wie weiter oben steht nicht der einzige Grund. Mal sehen was dabei herauskommt.
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 288

PostPosted: Sat Jul 11, 2020 8:11 am    Post subject: Reply with quote

Gibt scheinbar schon mehr Projekte die glauben ein Compiler Zwang sei eine Zeichen für Freie Software ... :(

Code:

Calculating dependencies... done!
[ebuild  N     ] sys-devel/llvm-common-10.0.0
[ebuild  N     ] sys-libs/libomp-10.0.0  USE="(-cuda) -hwloc -offload -ompt -test" ABI_X86="(64) -32 (-x32)"
[ebuild  N     ] sys-devel/llvm-10.0.0  USE="libffi ncurses xml -debug -doc -exegesis -gold -libedit -test -xar -z3" ABI_X86="(64) -32 (-x32)" LLVM_TARGETS="AMDGPU BPF NVPTX (X86) -AArch64 -ARC -ARM -AVR -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore"
[ebuild  N     ] sys-libs/compiler-rt-10.0.0  USE="-clang -test"
[ebuild  N     ] sys-libs/compiler-rt-sanitizers-10.0.0  USE="libfuzzer profile sanitize xray -clang -test"
[ebuild  N     ] sys-devel/clang-runtime-10.0.0  USE="compiler-rt openmp sanitize -libcxx" ABI_X86="(64) -32 (-x32)"
[ebuild  N     ] sys-devel/clang-10.0.0  USE="static-analyzer xml -debug -default-compiler-rt -default-libcxx -doc -test" ABI_X86="(64) -32 (-x32)" LLVM_TARGETS="AMDGPU BPF NVPTX (X86) -AArch64 -ARC -ARM -AVR -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore" PYTHON_SINGLE_TARGET="python3_7 -python3_6 -python3_8"
[ebuild  N     ] sys-devel/clang-common-10.0.0
[ebuild  N     ] media-tv/v4l-utils-1.16.6  USE="bpf qt5 -opengl"

Would you like to merge these packages? [Yes/No] no
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4535

PostPosted: Sat Jul 11, 2020 8:36 am    Post subject: Reply with quote

gib emerge die Option "--tree" mit, dann siehst du, was lllvm und clang braucht.
Die genaue Ursache findest du im ebuild.
Hier:
https://gitweb.gentoo.org/repo/gentoo.git/tree/media-tv/v4l-utils/v4l-utils-1.16.6.ebuild#n30
Hier die Beschreibung des bpf-USE-Flags:
https://packages.gentoo.org/useflags/bpf

//edit:
Und da es sich hinter nem USE-Flag versteckt (was sich auf die build-Opzionen und somit Funktionsumfang der Software auswirkt) ist es kein Zwang.
Dass clang/llvm verwendet werden liegt daran, dass die Funktionen nicht mit gcc implementiert werden können.
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 288

PostPosted: Sat Jul 11, 2020 8:41 am    Post subject: Reply with quote

Da hatte ich schon rein geschaut was ist den bpf? sagt mir jetzt nix.

Code:

alien /etc/portage/env # emerge --ask --tree media-tv/v4l-utils

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


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

Calculating dependencies... done!
[ebuild  N     ] media-tv/v4l-utils-1.16.6  USE="bpf qt5 -opengl"
[nomerge       ]  sys-devel/clang-10.0.0  USE="static-analyzer xml -debug -default-compiler-rt -default-libcxx -doc -test" ABI_X86="(64) -32 (-x32)" LLVM_TARGETS="AMDGPU BPF NVPTX (X86) -AArch64 -ARC -ARM -AVR -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore" PYTHON_SINGLE_TARGET="python3_7 -python3_6 -python3_8"
[ebuild  N     ]   sys-devel/clang-common-10.0.0
[ebuild  N     ]    sys-devel/clang-10.0.0  USE="static-analyzer xml -debug -default-compiler-rt -default-libcxx -doc -test" ABI_X86="(64) -32 (-x32)" LLVM_TARGETS="AMDGPU BPF NVPTX (X86) -AArch64 -ARC -ARM -AVR -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore" PYTHON_SINGLE_TARGET="python3_7 -python3_6 -python3_8"
[ebuild  N     ]     sys-devel/clang-runtime-10.0.0  USE="compiler-rt openmp sanitize -libcxx" ABI_X86="(64) -32 (-x32)"
[ebuild  N     ]      sys-libs/compiler-rt-sanitizers-10.0.0  USE="libfuzzer profile sanitize xray -clang -test"
[ebuild  N     ]      sys-libs/compiler-rt-10.0.0  USE="-clang -test"
[ebuild  N     ]       sys-devel/llvm-10.0.0  USE="libffi ncurses xml -debug -doc -exegesis -gold -libedit -test -xar -z3" ABI_X86="(64) -32 (-x32)" LLVM_TARGETS="AMDGPU BPF NVPTX (X86) -AArch64 -ARC -ARM -AVR -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore"
[ebuild  N     ]        sys-devel/llvm-common-10.0.0
[ebuild  N     ]      sys-libs/libomp-10.0.0  USE="(-cuda) -hwloc -offload -ompt -test" ABI_X86="(64) -32 (-x32)"

Would you like to merge these packages? [Yes/No]


... und wie sehe ich hier was die Ursache ist?
Sieht für mich aus wie die erste Liste anders sortiert und mit einer Menge mehr USE-Flags.
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 288

PostPosted: Sat Jul 11, 2020 8:43 am    Post subject: Reply with quote

Nicht Dein ernst: "Funktionen nicht mit gcc implementiert werden können"?

Was sollte man mit ihm nicht machen können?

Soll das das sein:
bpf = Berkeley Packet Filter (Paket Filter kann man nicht mit dem gcc bauen.) Hm ...
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4535

PostPosted: Sat Jul 11, 2020 9:06 am    Post subject: Reply with quote

alexander_ro wrote:
Nicht Dein ernst: "Funktionen nicht mit gcc implementiert werden können"?

Was sollte man mit ihm nicht machen können?

Doch, ist mein Ernst. Wenn du etwas nicht kennst oder verstehst, frag bitte in Zukunft normal nach, dann bleibt das Klima freundlich.

Es geht um Infrarot-Fernbedienungen (wie es aussieht):
https://lwn.net/Articles/759188/
Auf Deutsch kannst du den Artikel lesen, wenn du die obige URL kopierst und bei translate.google.com einfügst.
Das gibt dir rechts nen Link, der den übersetzten Text enthält.
Der entscheidende Teil:
"A BPF program can be written in a number of different ways, but the easiest way is to use clang with the target BPF. This allows the BPF program to be written in a sort of restricted C that does not allow the use of C-library functions or loops, for example."
Also grob: "BPF-Programme kann man auf viele Arten schreiben, aber am einfachsten ist es mit clang unter der Verwendeung des BPF targets. Damit kann man das Programm in einer Art reduziertem C schreiben." [Anm: und C kann man besser verstehen als irgendwelche kryptischen/exotischen Sprachen.]
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4535

PostPosted: Sat Jul 11, 2020 9:17 am    Post subject: Reply with quote

alexander_ro wrote:
Da hatte ich schon rein geschaut was ist den bpf? sagt mir jetzt nix.

Code:

alien /etc/portage/env # emerge --ask --tree media-tv/v4l-utils

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


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

Calculating dependencies... done!
[ebuild  N     ] media-tv/v4l-utils-1.16.6  USE="bpf qt5 -opengl"
[nomerge       ]  sys-devel/clang-10.0.0  USE="static-analyzer xml -debug -default-compiler-rt -default-libcxx -doc -test" ABI_X86="(64) -32 (-x32)" LLVM_TARGETS="AMDGPU BPF NVPTX (X86) -AArch64 -ARC -ARM -AVR -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore" PYTHON_SINGLE_TARGET="python3_7 -python3_6 -python3_8"
[ebuild  N     ]   sys-devel/clang-common-10.0.0
[ebuild  N     ]    sys-devel/clang-10.0.0  USE="static-analyzer xml -debug -default-compiler-rt -default-libcxx -doc -test" ABI_X86="(64) -32 (-x32)" LLVM_TARGETS="AMDGPU BPF NVPTX (X86) -AArch64 -ARC -ARM -AVR -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore" PYTHON_SINGLE_TARGET="python3_7 -python3_6 -python3_8"
[ebuild  N     ]     sys-devel/clang-runtime-10.0.0  USE="compiler-rt openmp sanitize -libcxx" ABI_X86="(64) -32 (-x32)"
[ebuild  N     ]      sys-libs/compiler-rt-sanitizers-10.0.0  USE="libfuzzer profile sanitize xray -clang -test"
[ebuild  N     ]      sys-libs/compiler-rt-10.0.0  USE="-clang -test"
[ebuild  N     ]       sys-devel/llvm-10.0.0  USE="libffi ncurses xml -debug -doc -exegesis -gold -libedit -test -xar -z3" ABI_X86="(64) -32 (-x32)" LLVM_TARGETS="AMDGPU BPF NVPTX (X86) -AArch64 -ARC -ARM -AVR -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore"
[ebuild  N     ]        sys-devel/llvm-common-10.0.0
[ebuild  N     ]      sys-libs/libomp-10.0.0  USE="(-cuda) -hwloc -offload -ompt -test" ABI_X86="(64) -32 (-x32)"

Would you like to merge these packages? [Yes/No]


... und wie sehe ich hier was die Ursache ist?
Sieht für mich aus wie die erste Liste anders sortiert und mit einer Menge mehr USE-Flags.

Das ist ne Baumansicht von den Abhängigkeiten. Du siehst da sofort, dass v4l-utils direkt clang als Abhängigkeit verlangt. clang braucht clang-common usw.
So kannst du (vor allem bei längeren Listen) direkt ungewollte Abhängigkeiten erkennen und aussortieren.
War immer wieder recht nützlich, wenn plötzlich irgendwas wieder geoclue oder den ganzen modemmanager- und blutooth-Kram reingezogen hat (was ich nicht brauche, weil ich weder blutooth noch modem im Laptop hab).
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 288

PostPosted: Sat Jul 11, 2020 10:10 am    Post subject: Reply with quote

Ja das ist gut zu wissen. Ich habe da jetzt immer mit "equery depends <Paketname>" gesucht. Aber das von Dir sieht übersichtlicher aus weil es sich auf das eine Paket beschränkt davon aber alles.

Die haben in eine neue Programmiersprache und VM erfunden die der gcc nicht unterstützt. PHP kann der auch nicht aber deshalb könnte man das mit dem Implementieren man müsste halt ein Sprache verwenden die zu Umfang der Unterstützten Sprachen gehört. Die Google Übersetzungen benutze ich schon aber die sind oft echt Schlecht. Google hat nur gute Übersetzungen wo Menschen gute Übersetzungen geliefert haben. Ist nicht so das da alles maschinell gemacht würde.

Ich habe doch gefragt ob es Dein ernst ist das war jetzt nicht unfreundlich gemeint. Hier sagt man das so wenn eine Erklärung Überraschender ist als erwartet.

<Edit>
Ja stimmt ich habe das mal aus gemacht dann geht auch mit dem gcc. Das ist ein Digitales Mikroskop da brauch ich keine Infrarot Fernbedienung. Die Seite von Dir zur Infrarotfernbedienung ist gut die hatte ich nicht gefunden. Mir war aber auch nicht gleich klar das die Fernbedienungen meinen.

Ich weiß bei den ebuilds leider nicht wirklich was die da tun und bin auch nicht gleich auf die Idee gekommen das bpf? ein USE-Flag meinen könnte.
</Edit>
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1627
Location: Schweiz

PostPosted: Sun Jul 26, 2020 7:32 pm    Post subject: Reply with quote

Hier wurde einige male über die Vorzüge vom GNU Gold Linker gegenüber dem GNU BFD Linker diskutiert und einige scheinen den sogar als Standard verwenden, aber wie sieht es disbezüglich mit dem LLD Linker aus dem LLVM-Projekt aus? Hat den auch schon mal jemand als Standard ausprobiert?
Ich habe mal versucht diesen bei ein paar kleineren Paketen zu verwenden und bis jetzt scheint er bestens zu funktionieren. Sogar der Kernel unterstützt dessen Verwendung, ganz im Gegensatz zum GNU Gold Linker.

PS: Über den RAM-Verbrauch vom LLD weiss ich jetzt nichts aber die Performance soll angeblich deutlich besser sein, was bei Paketen wie "app-office/libreoffice" oder "dev-qt/qtwebengine" sicher interessant sein könnte.
https://lld.llvm.org/#performance

EDIT:
Ich habe den LLD über folgende Konfigurations-Datei ausprobiert.
/etc/portage/env/ld_lld:
LDFLAGS="${LDFLAGS} -fuse-ld=lld"

_________________
GPG: 0x3FC78AEE51E5FB95
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4556

PostPosted: Mon Jul 27, 2020 7:53 am    Post subject: Reply with quote

schmidicom wrote:
Hier wurde einige male über die Vorzüge vom GNU Gold Linker gegenüber dem GNU BFD Linker diskutiert und einige scheinen den sogar als Standard verwenden

Wobei der gold linker von google nicht mehr weiterentwickelt wird (https://www.phoronix.com/scan.php?page=news_item&px=GNU-Gold-Stagnate-F31)
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 288

PostPosted: Mon Jul 27, 2020 8:02 am    Post subject: Reply with quote

Interessant ich wusste bisher nicht mal das es beim llvm einen Linker gibt. Deshalb habe ich den auch noch nie ausprobiert.

Ich tendiere aber dazu wenn es keinen wichtigen Grund gibt das zu ändern die Default Tools der Projekte zu verwenden. Also im falle vom gcc den BFD Linker. Wenn ich das richtig übersetzt habe ist der golden Linker nur für spezial Fälle gemacht worden. Da ich auch auf verschiedenen Plattformen Entwickle muss ich auch immer schauen ob die Tools auf allen laufen. Ich werde nicht anfangen auf jeder Plattform eine eigene Entwicklungsumgebung zu betreiben. Hat man überall die gleichen Tools kennt man schon die Eigenheiten und muss nur Plattformspezifisches dazu lernen.

Es gab bei Gentoo ja erst ein gcc Update das konnte der auf einem Raspi mit 1GB RAM und 1GB Swap mit -j2 bauen. Dauert zwar sehr lange aber das kann gut übernacht laufen. Man kann - da nur zwei von vier Kerne benutzt werden - mit dem Raspi sogar nebenbei andere Dinge machen. Also ich für meinen Teil bleibe erst mal bei dem gcc mit default Linker.

In der Konfigurationsdatei legt man fest welchen Linker Portage verwenden soll?
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1627
Location: Schweiz

PostPosted: Mon Jul 27, 2020 8:15 am    Post subject: Reply with quote

alexander_ro wrote:
...
Da ich auch auf verschiedenen Plattformen Entwickle muss ich auch immer schauen ob die Tools auf allen laufen. Ich werde nicht anfangen auf jeder Plattform eine eigene Entwicklungsumgebung zu betreiben. Hat man überall die gleichen Tools kennt man schon die Eigenheiten und muss nur Plattformspezifisches dazu lernen.

Der LLD unterstützt so weit ich weiss mehrere Plattformen (Linux, MacOS und Windows).

alexander_ro wrote:
In der Konfigurationsdatei legt man fest welchen Linker Portage verwenden soll?

Meine Konfigurationsdatei erlaubt es den Linker für einzelne Pakete zu ändern.
Alles weitere dazu findest du in der Gentoo-Doku: https://wiki.gentoo.org/wiki//etc/portage/package.env
Um es für alle Pakete zu ändern müsste man die Variable "LDFLAGS" in der "/etc/portage/make.conf" neu konfigurieren.
_________________
GPG: 0x3FC78AEE51E5FB95
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 288

PostPosted: Mon Jul 27, 2020 8:57 am    Post subject: Reply with quote

Quote:
/etc/portage/env/ld_lld

Ach das ist das gleiche wie die package.env. Gut zu wissen.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6
Page 6 of 6

 
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