View previous topic :: View next topic |
Author |
Message |
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3480 Location: Berlin
|
Posted: Sat Jan 20, 2018 8:28 am Post subject: [gelöst]cpuid2cpuflags |
|
|
Code: | echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpuflags | Funktioniert nicht, da /etc/portage/package.use eine Datei ist. Ist das ein Bug oder hat sich da in der Verzeichnisstruktur etwas geändert?
Code: | bash: /etc/portage/package.use/00cpuflags: Ist kein Verzeichnis |
Last edited by flammenflitzer on Sat Jan 20, 2018 3:42 pm; edited 1 time in total |
|
Back to top |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Sat Jan 20, 2018 8:46 am Post subject: |
|
|
package.use, package.accept_keywords etc. kann man schon seit Ewigkeiten als Verzeichnis anlegen. Es ist aber immer noch optional. Du hast package.use als Datei. Dann musst du den Befehl natürlich anpassen. Oder du siehst einen Vorteil in der neuen Struktur und machst aus package.use ein Verzeichnis
Edit: "Befehl anpassen" schließt die Umleitung mit ein: ">" ersetzt den Inhalt, du willst unbedingt ">>" verwenden, um die neuen Zeilen anzuhängen!!!!! |
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Sat Jan 20, 2018 10:42 am Post subject: |
|
|
Ich wundere mich, was hier vor sich geht.
1) Früher hat man die CPU Flags bei den USE Flags eingetragen.
2) In 2015 gab es dann eine Änderung. Seitdem soll man die CPU Flags nicht mehr bei den USE Flags eintragen, sondern als separate Variable in make.conf:
Code: | CPU_FLAGS_X86="aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" |
3) Jetzt lese ich im Gentoo Wiki und in der Readme-Datei von cpuid2cpuflags etwas von: echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpuflags
Ist das eine erneute Änderung? Braucht man das zusätzlich zu CPU_FLAGS_X86? Oder anstelle von? |
|
Back to top |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Sat Jan 20, 2018 11:08 am Post subject: |
|
|
Du hast die ELOG-Ausgabe nicht gelesen (oder cpuid2cpuflags nicht installiert/aktualisiert). Hintergrund ist die Kompatibilität zu Paludis.
Code: | Please note that the output has changed in v2. The new format is suitable
both for Portage and Paludis. To use it, e.g.:
$ echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpuflags
(you may need to convert package.use into a directory if you want to use
separate file as presented here) |
|
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8935
|
Posted: Sat Jan 20, 2018 12:11 pm Post subject: |
|
|
Und die News nicht gelesen: 2015-01-28 cpu_flags_x86-introduction
EDIT: Hm, die scheint zwischenzeitlich verloren gegangen zu sein... |
|
Back to top |
|
|
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3480 Location: Berlin
|
Posted: Sat Jan 20, 2018 3:41 pm Post subject: |
|
|
Ich habe jetzt ein Verzeichnis /etc/portage/package.use/. Dort habe ich die alte Datei package.use und die neue 00cpuflags. |
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Sat Jan 20, 2018 6:22 pm Post subject: |
|
|
asturm wrote: | Und die News nicht gelesen: 2015-01-28 cpu_flags_x86-introduction
EDIT: Hm, die scheint zwischenzeitlich verloren gegangen zu sein... |
Sehr witzig
Das News-Item gibt es natürlich noch, z.B. hier: https://archives.gentoo.org/gentoo-commits/message/b83469277f6b787ab24d72835722ea09
Und dort steht genau das drin, was ich oben beschrieben habe: man soll die CPU Flags von den USE Flags in die neue Variable CPU_FLAGS_X86 kopieren - und dann nach einem Jahr bei den USE flags löschen. Das habe ich damals getan - und jetzt frage ich mich, was die empfohlene Anweisung
Code: | echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpuflags |
soll? Ist es das gleiche wie CPU_FLAGS_X86 in make.conf? Braucht man es zusätzlich? Braucht man es anstelle von CPU_FLAGS_X86? |
|
Back to top |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Sat Jan 20, 2018 7:14 pm Post subject: |
|
|
Wie oben geschrieben: paludis-Unterstützung. make.conf kennt dieser Paketmanager nicht, ebenso CPU_FLAGS als Umgebungsvariable. Und nachdem portage den "*/*" kennt (was früher nicht der Fall war) ist es einfacher, die CPU_FLAGS-Einstellung so zu setzen. Außerdem ist es eine Umgebungsvariable weniger im Build-Environment - k.A. inwieweit das evtl. für Probleme o.Ä. sorgte wie z.B. LIGUAS... |
|
Back to top |
|
|
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3480 Location: Berlin
|
Posted: Sat Jan 20, 2018 7:34 pm Post subject: |
|
|
mike155 wrote: |
soll? Ist es das gleiche wie CPU_FLAGS_X86 in make.conf? Braucht man es zusätzlich? Braucht man es anstelle von CPU_FLAGS_X86? |
Interessiert mich auch. Nach dem Eintrag in den Pfad Code: | /etc/portage/package.use/00cpuflags | wurden bei mir 2 Pakete neu compilliert, obwohl ich den gleichen Eintrag in der make.conf habe.
Code: | cat /etc/portage/package.use/00cpuflags
*/* CPU_FLAGS_X86: aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3 |
Code: | cat /etc/make.conf | grep CPU_FLAGS_X86
CPU_FLAGS_X86="aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" |
|
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Sat Jan 20, 2018 8:07 pm Post subject: |
|
|
franzf wrote: | Wie oben geschrieben: paludis-Unterstützung. make.conf kennt dieser Paketmanager nicht, ebenso CPU_FLAGS als Umgebungsvariable. Und nachdem portage den "*/*" kennt (was früher nicht der Fall war) ist es einfacher, die CPU_FLAGS-Einstellung so zu setzen. |
Hallo franzf, danke für Deine ausführliche Antwort! Ich glaube, dass ich es jetzt verstanden habe: man kann die CPU Flags ENTWEDER über die Variable CPU_FLAGS_X86 in make.conf ODER über den Eintrag in package.use setzen - wobei letzteres den Vorteil hat, dass dann auch Paludis damit umgehen kann.
Da ich Paludis nicht nutze, kann ich aber vermutlich bei der make.conf-Variante bleiben, oder?
franzf wrote: | Außerdem ist es eine Umgebungsvariable weniger im Build-Environment |
Das wiederum verstehe ich nicht. Wenn ich "emerge --info" starte, wird in beiden Fällen eine Umgebungsvariable CPU_FLAGS_X86 ausgegeben.
Interessanterweise hat diese bei der make.conf-Variante genau den Inhalt, den ich in make.conf definiert habe. Bei der packages.use-Variante werden die CPU-Flags jedoch umsortiert. So wird aus
Code: | */* CPU_FLAGS_X86: aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3
|
bei emerge --info:
Code: | CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx f16c pclmul popcnt sse3 sse4_1 sse4_2 ssse3" |
Keine Ahnung, ob das etwas ausmacht? |
|
Back to top |
|
|
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3480 Location: Berlin
|
Posted: Sat Jan 20, 2018 8:19 pm Post subject: |
|
|
Ich habe beide Einträge. emerge --info Code: | CPU_FLAGS_X86="aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" | Passt.
Danke an alle. |
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Sat Jan 20, 2018 8:30 pm Post subject: |
|
|
flammenflitzer wrote: | Ich habe beide Einträge. |
Ich bezweifele, dass das gut ist! Die CPU Flags sollten - wie auch alle anderen Daten - nur einmal definiert werden - und nicht mehrfach.
Deswegen frage ich ja so genau nach, was die richtige Stelle ist. |
|
Back to top |
|
|
|