Wieviele C-Compiler braucht eine FreeBSD Maschine?

serie300

Well-Known Member
Hallo

habe nach dem letzten "pkg upgrade" (wo er natürlich auch die kompletten C Compiler Pakete updated) mal nachgeschaut, wieviele C Compiler auf meinem Rechner sind (zur Info: die Maschine wurde seit FreeBSD 10.1 immer mit freebsd-update und pkg upgrade hochgezogen):
Habe jetzt:
gcc-6, gcc-7, llvm50, llvm60 und vielleicht nochwas anderes, das ich momentan nicht finde).

Wie bekomme ich raus, welche Compiler Pakete der Rechner wirklich braucht und was obsolet ist. Kann ich einfach ältere Versionen löschen oder habe ich danach nächtelangen Spaß rauszufinden, warum eine bestimmte Library nicht gefunden wurde ...

"pkg autoremove" ist ja keine Hilfe

Serie300
 
gcc-6, gcc-7, llvm50, llvm60 und vielleicht nochwas anderes, das ich momentan nicht finde
Ich bin mir fast sicher, dass Du gcc-6 und llvm50 entfernen kannst ohne Nachteile zu haben. Ich habe beide nicht auf meinen FreeBSD 11.2 Rechnern.

Wie bekomme ich raus, welche Compiler Pakete der Rechner wirklich braucht und was obsolet ist.
Zumindest liefert pkg remove gcc6 ggf. Hinweise.

oder habe ich danach nächtelangen Spaß rauszufinden, warum eine bestimmte Library nicht gefunden wurde ...
Gerade solche Probleme sind ja relativ einfach zu lösen, weil ja angezeigt wird, welche Library fehlt und Du nur denn nachschauen musst, in welchem Paket sie enthalten ist.
 
Oder halt "pkg info -r":
Code:
-r, --required-by
    Display the list of packages which	require	pkg-name.
 
Ich hab mir heute ähnliches gedacht beim pkg upgrade, zumindest bei mir konnte ich den gcc-6 ohne Probleme die mir bis jetzt aufgefallen wären entfernen.
 
"Ab und zu an mal 'pkg autoremove'" - war das jetzt sarkastisch?

Autoremove wäre bei mir keine gute Idee - das sägt auf dem Ast auf dem ich sitze...
'pkg autoremove -n'
==> xorg-libraries, gcc7, linux-base, perl5.20, python2, xtrans, spidermonkey, autoconf etc.
sind m.E. schon wichtig.
 
@serie300 Du könntest aber die Äste, die du brauchst auch explizit installieren, damit pkg weiß was es löschen darf. :)

autoremove löscht nur keine Runtime-Dependency von explizit installieren (also nichts automatisch als Abhängigkeit installiertes) ist.
Ja, leider ist das etwas fragmentiert mit den Compiler-Versionen. Ähnlich ist es ja wenn man nicht vorsichtig ist mit webkit-Installationen, was gerade beim selbst kompilieren nervig sein kann. Da hat man potentiell Webkit für einen Browser, dann noch Webkit für unterschiedliche Qt-Versionen und unterschiedliche GTK-Versionen.

Bei Compileren ist das so eine Sachen. Die "musst" du nicht installiert haben damit das System läuft, aber eben als Build-Dependency, womit sie bei autoremove rausfallen.
 
Mit ports-mgmt/bsdadminscripts2 kommt ein Tool namens pkg_trim das Dich per Dialog durch alle Pakete führt zu denen es keine Abhängigkeiten gibt.
 
Zurück
Oben