View previous topic :: View next topic |
Author |
Message |
rfx Tux's lil' helper
Joined: 19 Apr 2023 Posts: 145 Location: de-by
|
Posted: Tue Feb 06, 2024 8:33 am Post subject: Etwas von github kompilieren |
|
|
Hallo zusammen,
ich weiß das es nicht der bevorzugte Weg unter Gentoo ist, Software außerhalb von Portage einzuschleußen. Allerdings benutze ich beruflich (Webanwendung) und Privat für fast alles was ich mache einen Browser (brave). Genau dieser ist in Gentoo leider nur als bin über fremd-repositories verfügbar.
Daher würde ich diesen gerne selbst kompilieren, aber ich habe keine Ahnung wie das geht und wo ich anfangen soll und bin genau hierfür für Hilfe von euch sehr dankbar.
Es scheint den Browser "aus offiziellen Quellen" auf github zu geben: https://github.com/brave/brave-browser
Aber ich habe keine Ahnung, ob/wie ich so einen Link als vielleicht "fremd-repo" einbinden soll, oder was ich alternativ oder danach tun kann |
|
Back to top |
|
|
Christian99 Veteran
Joined: 28 May 2009 Posts: 1715
|
Posted: Tue Feb 06, 2024 9:45 am Post subject: |
|
|
Hi,
der Link den du angegeben hast ist leider kein Repository im Sinne von gentoo.
Ein gentoo repository beinhaltet sogenannte ebuilds. Das sind anleitungen für portage (oder alternative gentoo Paketmanager), wie man aus dem Quellcode eines Programms, etwas ausführbares macht.
Hinter dem angegebenen Link verbirgt sich ein Quellcoderepository. Vermutlich entstand das Missverständnis durch die Mehrfachbelegung des Begriffes Repository, der häufig ohne genauere Bezeichnung verwendet wird, und dann muss man anhand des Kontextes unterscheiden, was jetzt gemeint ist.
Deswegen hast du jetzt zwei Möglichkeiten: Entweder suchst du ein gentoo Repository (mit ebuilds, ich mache das immer über diese Seite: http://gpo.zugaina.org/) und fügst das als overlay hinzu (siehe hier: https://wiki.gentoo.org/wiki/Ebuild_repository) und installierst dann brave mit emerge.
Oder du lädst den Quellcode aus dem Quellcoderepository herunter und machst alles manuell ohne portage. In der README.md datei steht eine kurze Anleitung was man dafür machen muss.
Falls du noch weitere Fragen hast, nur zu! |
|
Back to top |
|
|
rfx Tux's lil' helper
Joined: 19 Apr 2023 Posts: 145 Location: de-by
|
Posted: Tue Feb 06, 2024 10:54 am Post subject: |
|
|
Christian99 wrote: | du lädst den Quellcode aus dem Quellcoderepository herunter und machst alles manuell ohne portage. In der README.md datei steht eine kurze Anleitung was man dafür machen muss.
Falls du noch weitere Fragen hast, nur zu! |
Hallo Christian99,
danke für die Antwort. Bisher nutze ich das in der wiki angegebene brave-overlay (https://gitlab.com/jason.oliveira/brave-overlay.git) für die brave-bin. Aber ich habe hiermit ein paar Fehler und möchte es daher mal selbst kompilieren um zu sehen, ob es dadurch besser läuft.
Ich ging nun den für mich einfachsten Weg
Code: | eselect repository add brave-browser git https://github.com/brave/brave-browser.git |
Nun habe ich die Dateien von github in /var/db/repos/brave-browser. In der readme steht ich soll "einfach" in .../brave-browser/src und "npm install" ausführen. Aber mein .../brave-browser/src Ordner ist leer, genau wie Quelle (https://github.com/brave/brave-browser/tree/master/src) und ich habe Fragezeichen über meinem Kopf. Dementsprechend funktioniert es nicht.
In der readme steht "npm install"
Code: | added 6 packages, and audited 7 packages in 885ms
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities |
Gefolgt von "npm run build"
Code: | > brave@1.64.50 build
> cd src/brave && npm run build --
sh: Zeile 1: cd: src/brave: Datei oder Verzeichnis nicht gefunden |
Ich frage mich auch, woher der Befehl run build eine Version 1.64.50 holen möchte. Stabil ist 1.62.156. Klingt nach Beta- die ich nicht möchte. Ich dachte ich kann dies mit "npm run build 1.62.156" festlegen, jedoch steht hier wieder die Version 1.64.50
Code: | > brave@1.64.50 build
> cd src/brave && npm run build -- 1.62.156
sh: Zeile 1: cd: src/brave: Datei oder Verzeichnis nicht gefunden |
|
|
Back to top |
|
|
Christian99 Veteran
Joined: 28 May 2009 Posts: 1715
|
Posted: Tue Feb 06, 2024 11:12 am Post subject: |
|
|
rfx wrote: |
Ich ging nun den für mich einfachsten Weg
Code: | eselect repository add brave-browser git https://github.com/brave/brave-browser.git |
|
Nein nicht so. Das ist kein repository eines gentoo overlays und sollte deswegen nicht mit eselect repository verwendet werden. Bitte entferne das wieder. Das führt nur zu Warnmeldungen bei künftigen emerge befehlen.
Quote: |
Nun habe ich die Dateien von github in /var/db/repos/brave-browser. In der readme steht ich soll "einfach" in .../brave-browser/src und "npm install" ausführen. Aber mein .../brave-browser/src Ordner ist leer, genau wie Quelle (https://github.com/brave/brave-browser/tree/master/src) und ich habe Fragezeichen über meinem Kopf. Dementsprechend funktioniert es nicht.
In der readme steht "npm install"
Code: | added 6 packages, and audited 7 packages in 885ms
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities |
Gefolgt von "npm run build"
Code: | > brave@1.64.50 build
> cd src/brave && npm run build --
sh: Zeile 1: cd: src/brave: Datei oder Verzeichnis nicht gefunden |
Ich frage mich auch, woher der Befehl run build eine Version 1.64.50 holen möchte. Stabil ist 1.62.156. Klingt nach Beta- die ich nicht möchte. Ich dachte ich kann dies mit "npm run build 1.62.156" festlegen, jedoch steht hier wieder die Version 1.64.50
Code: | > brave@1.64.50 build
> cd src/brave && npm run build -- 1.62.156
sh: Zeile 1: cd: src/brave: Datei oder Verzeichnis nicht gefunden |
|
Wenn du es manuell bauen möchtest, dann solltest du den angegebenen git clone Befehl ausführen:
Code: |
git clone git@github.com:brave/brave-core.git path-to-your-project-folder/src/brave
^ ^
|
Das markierte Verzeichnis ist dann das, wo der inhalt des repositories hinkopiert wird. und da gehst du dann rein. Das "src" das hier im beispiel steht ist nicht das "src" Verzeichnis im Repository!
Probiere es dann von da aus nochmal zu bauen |
|
Back to top |
|
|
rfx Tux's lil' helper
Joined: 19 Apr 2023 Posts: 145 Location: de-by
|
Posted: Tue Feb 06, 2024 11:39 am Post subject: |
|
|
Ich verstehe gerade nicht, woran es bei github und mir hakt. Der Befehlt:
Code: | git clone git@github.com:brave/brave-core.git /home/rfx/.brave/src/brave |
führt zu einem Fehler Code: | Klone nach '/home/rfx/.brave/src/brave'...
git@github.com: Permission denied (publickey).
Schwerwiegend: Konnte nicht vom Remote-Repository lesen.
Bitte stellen Sie sicher, dass die korrekten Zugriffsberechtigungen bestehen
und das Repository existiert.
|
Also habe ich in der Wiki ( https://docs.github.com/en/authentication/troubleshooting-ssh/error-permission-denied-publickey ) von github gelesen, dass ich dies mit dem Befehl "ssh -vT git@github.com" testen kann. Es kommt Connection established:
Code: | OpenSSH_9.6p1, OpenSSL 3.0.12 24 Oct 2023
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Reading configuration data /etc/ssh/ssh_config.d/9999999gentoo-security.conf
debug1: Reading configuration data /etc/ssh/ssh_config.d/9999999gentoo.conf
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to github.com [140.82.121.3] port 22.
debug1: Connection established. |
Bereits der Befehl sorgt bei mir für Fehler, anders als im Wiki angegeben "ssh -T git@github.com":
Code: | git@github.com: Permission denied (publickey).
|
Alles als su, nicht als sudo, ausprobiert. Stand auch so im Github-wiki |
|
Back to top |
|
|
Christian99 Veteran
Joined: 28 May 2009 Posts: 1715
|
Posted: Tue Feb 06, 2024 11:51 am Post subject: |
|
|
ah, ja stimmt. das hab ich übersehen.
Um sich bei github einloggen zu können, braucht man da einen Account. Kannst du machen, brauchst du aber nicht.
Der Befehl Code: | git clone git@github.com:brave/brave-core.git /home/rfx/.brave/src/brave | verwendet ssh als übertragungsprotokoll, wie du schon festgestellt hast.
Git untertützt aber auch https, dafür braucht man keinen guithub account, kann aber dann nichts hochladen. Aber das scheinst du ja erst mal auch nicht zu brauchen.
wenn du also
Code: | git clone https://github.com/brave/brave-browser /home/rfx/.brave/src/brave |
machst, sollte es gehen. |
|
Back to top |
|
|
rfx Tux's lil' helper
Joined: 19 Apr 2023 Posts: 145 Location: de-by
|
Posted: Tue Feb 06, 2024 12:03 pm Post subject: |
|
|
Danke für deine Zeit und Geduld
Mit https:// funktioniert das klonen.
Die Fehlermeldungen sind die selben wie vorhin, das geklonte Verzeichnis hat auch nur eine Größe von 27,6 MB
"npm install"
Code: | added 6 packages, and audited 7 packages in 631ms
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities |
"npm run build"
Code: |
> brave@1.64.50 build
> cd src/brave && npm run build --
sh: Zeile 1: cd: src/brave: Datei oder Verzeichnis nicht gefunden
|
|
|
Back to top |
|
|
Christian99 Veteran
Joined: 28 May 2009 Posts: 1715
|
Posted: Tue Feb 06, 2024 12:35 pm Post subject: |
|
|
da fehlt noch
dazwischen |
|
Back to top |
|
|
rfx Tux's lil' helper
Joined: 19 Apr 2023 Posts: 145 Location: de-by
|
Posted: Tue Feb 06, 2024 2:52 pm Post subject: |
|
|
Die Kleinigkeit hatte ich übersehen.
Vielen vielen Dank, Christian99
Habe mich schon lange gefragt, wie das geht und eigentlich stand auch fast alles was ich brauchte in der readme (...)
Nun heißt es warten, bis es fertig ist. Bin schonmal über die Größe faszinierd, die bin war 150 MB. Der Download von github ist gerade fertig geworden, es sind fast 50 GB im Ordner belegt |
|
Back to top |
|
|
Christian99 Veteran
Joined: 28 May 2009 Posts: 1715
|
Posted: Wed Feb 07, 2024 10:07 am Post subject: |
|
|
Kein Problem.
Aber beachte bitte: Für das kompilieren eines Programms/Bibliothek gibt es kein Standardverfahren. Es gibt verschiedene Build tools, die den Entwickler dabei Unterstützen, sein Programm zu bauen. Dabei sind wohl Autotools und cmake mit die häufigsten die schätzungsweise 60-70% abdecken, aber es gibt hier noch einige mehr.
In diesem Fall ist es wohl npm, das hab ich als build tool noch nicht gesehen, ich kenne das aus der Node.js/JavaScript Welt. Aber damit irgendwelchen C++ quellcode zu kompilieren hab ich noch nicht gesehen. Aber hauptsache es geht am ende
Aus diesem Grund haben aber die meisten Programme, die im Quellcode vorliegen, irgendwo in einer README Datei oder ähnlichen eine kurze Erklärung, was man machen muss, um sie gebaut zu kriegen. Und wenn sie das nicht haben, ist das schon verdächtig |
|
Back to top |
|
|
rfx Tux's lil' helper
Joined: 19 Apr 2023 Posts: 145 Location: de-by
|
Posted: Thu Feb 08, 2024 7:30 am Post subject: |
|
|
Ich hab auf jeden Fall wieder neue Dinge gelernt ;D
Auf dem Laptop (8 GB ram + 4 GB zram) brach das kompilieren nach ungefähr 12 Stunden ab. Im Büro (ähnliche Hardware, 16 GB Ram) wurde es fertig gestellt. Der Ordner hatte am Ende fast 80GB auf der SSD belegt und die Nutzung von brave aus der selbst kompilierten Version hatte die selben kleinen fehler, die ich mit der *.bin aus dem gentoo-overlay kurz ansprach.
Zumal in der selbst kompilierten Version jeder Mausklick träge war und 1-2 Sekunden Verzögerung hatte, woran auch immer das liegen mag. Ich bleibe daher besser erstmal beim *.bin aus dem Overlay und nutze momentan keinerlei selbst hinzugefügte Fremdsoftware
Gentoo <3 |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5324
|
Posted: Thu Feb 08, 2024 5:10 pm Post subject: |
|
|
rfx wrote: | Ich hab auf jeden Fall wieder neue Dinge gelernt ;D
Auf dem Laptop (8 GB ram + 4 GB zram) brach das kompilieren nach ungefähr 12 Stunden ab. Im Büro (ähnliche Hardware, 16 GB Ram) wurde es fertig gestellt. Der Ordner hatte am Ende fast 80GB auf der SSD belegt und die Nutzung von brave aus der selbst kompilierten Version hatte die selben kleinen fehler, die ich mit der *.bin aus dem gentoo-overlay kurz ansprach.
Zumal in der selbst kompilierten Version jeder Mausklick träge war und 1-2 Sekunden Verzögerung hatte, woran auch immer das liegen mag. Ich bleibe daher besser erstmal beim *.bin aus dem Overlay und nutze momentan keinerlei selbst hinzugefügte Fremdsoftware
Gentoo <3 |
Vermutlich hast du einen unoptimierten Build erstellt, denn wenn du das ganze "von hand" baust musst du selbst dafür sorgen das die passenden compilerflags verwendet werden. _________________ 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 |
|
|
Banana Moderator
Joined: 21 May 2004 Posts: 1773 Location: Germany
|
|
Back to top |
|
|
rfx Tux's lil' helper
Joined: 19 Apr 2023 Posts: 145 Location: de-by
|
Posted: Fri Feb 09, 2024 7:42 am Post subject: |
|
|
rfx wrote: | Bisher nutze ich das in der wiki angegebene brave-overlay (https://gitlab.com/jason.oliveira/brave-overlay.git) für die brave-bin. Aber ich habe hiermit ein paar Fehler und möchte es daher mal selbst kompilieren um zu sehen, ob es dadurch besser läuft. |
|
|
Back to top |
|
|
Banana Moderator
Joined: 21 May 2004 Posts: 1773 Location: Germany
|
|
Back to top |
|
|
Erdie Advocate
Joined: 20 May 2004 Posts: 2652 Location: Heidelberg - Germany
|
Posted: Fri Feb 09, 2024 5:49 pm Post subject: |
|
|
Ich habe brave auch schon mal selbst compiliert. Mit 8GB RAM wird das aber schon verdammt knapp. Ich kann mir gut vorstellen, dass das einfach zuwenig ist. Der build ging bei mir durch aber bei der Updatefrequenz war mir das Binary Paket dann doch lieber. _________________ Desktop AMD Ryzen 9 5900X 32GB RAM, Asus GF GTX 1060.
Notebook Tuxedo Pulse 15 Gen1 AMD Ryzen 7 4800H mit Radeon Vega 7
Raspberry Pi 1 + 2 + 3B+ + Zero W |
|
Back to top |
|
|
|