Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Etwas von github kompilieren
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
rfx
Tux's lil' helper
Tux's lil' helper


Joined: 19 Apr 2023
Posts: 126
Location: de-by

PostPosted: Tue Feb 06, 2024 8:33 am    Post subject: Etwas von github kompilieren Reply with quote

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
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1668

PostPosted: Tue Feb 06, 2024 9:45 am    Post subject: Reply with quote

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
View user's profile Send private message
rfx
Tux's lil' helper
Tux's lil' helper


Joined: 19 Apr 2023
Posts: 126
Location: de-by

PostPosted: Tue Feb 06, 2024 10:54 am    Post subject: Reply with quote

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
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1668

PostPosted: Tue Feb 06, 2024 11:12 am    Post subject: Reply with quote

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
View user's profile Send private message
rfx
Tux's lil' helper
Tux's lil' helper


Joined: 19 Apr 2023
Posts: 126
Location: de-by

PostPosted: Tue Feb 06, 2024 11:39 am    Post subject: Reply with quote

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
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1668

PostPosted: Tue Feb 06, 2024 11:51 am    Post subject: Reply with quote

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
View user's profile Send private message
rfx
Tux's lil' helper
Tux's lil' helper


Joined: 19 Apr 2023
Posts: 126
Location: de-by

PostPosted: Tue Feb 06, 2024 12:03 pm    Post subject: Reply with quote

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
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1668

PostPosted: Tue Feb 06, 2024 12:35 pm    Post subject: Reply with quote

da fehlt noch
Code:
npm run init

dazwischen
Back to top
View user's profile Send private message
rfx
Tux's lil' helper
Tux's lil' helper


Joined: 19 Apr 2023
Posts: 126
Location: de-by

PostPosted: Tue Feb 06, 2024 2:52 pm    Post subject: Reply with quote

Die Kleinigkeit hatte ich übersehen.

Vielen vielen Dank, Christian99 :wink:

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
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1668

PostPosted: Wed Feb 07, 2024 10:07 am    Post subject: Reply with quote

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
View user's profile Send private message
rfx
Tux's lil' helper
Tux's lil' helper


Joined: 19 Apr 2023
Posts: 126
Location: de-by

PostPosted: Thu Feb 08, 2024 7:30 am    Post subject: Reply with quote

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
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5190

PostPosted: Thu Feb 08, 2024 5:10 pm    Post subject: Reply with quote

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
View user's profile Send private message
Banana
Veteran
Veteran


Joined: 21 May 2004
Posts: 1392
Location: Germany

PostPosted: Fri Feb 09, 2024 7:09 am    Post subject: Reply with quote

Warum nicht so: https://wiki.gentoo.org/wiki/Brave
_________________
My personal space
My delta-labs.org snippets do expire

PFL - Portage file list - find which package a file or command belongs to.
Back to top
View user's profile Send private message
rfx
Tux's lil' helper
Tux's lil' helper


Joined: 19 Apr 2023
Posts: 126
Location: de-by

PostPosted: Fri Feb 09, 2024 7:42 am    Post subject: Reply with quote

Banana wrote:
Warum nicht so: https://wiki.gentoo.org/wiki/Brave


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
View user's profile Send private message
Banana
Veteran
Veteran


Joined: 21 May 2004
Posts: 1392
Location: Germany

PostPosted: Fri Feb 09, 2024 2:56 pm    Post subject: Reply with quote

hatte das falsch interpretiert da du gleich von der git Adresse gesprochen hast.
_________________
My personal space
My delta-labs.org snippets do expire

PFL - Portage file list - find which package a file or command belongs to.
Back to top
View user's profile Send private message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2576
Location: Heidelberg - Germany

PostPosted: Fri Feb 09, 2024 5:49 pm    Post subject: Reply with quote

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
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
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