Login
Newsletter
Werbung

Do, 24. August 2017, 15:00

FreeBSD 4.11 im Jahre 2017: Des Trampels tölpelhafte Totenbeschwörung

Compiler: Von uralt zu alt

Da nun alle Abhängigkeiten von vor 2013 installiert sind, können wir das größte Update in Angriff nehmen. Noch immer sind wir nicht an Java und Object-C interessiert, also editieren wir die Pkgsrc-Konfiguration nochmals:

# vi /usr/local/pkgsrc/etc/mk.conf

und fügen eine weitere Zeile ein (nach der von Perl):

PKG_OPTIONS.gcc44=      -gcc-java -gcc-objc

Um die neuere Version von GCC bauen zu können, werden auch noch zwei weitere Abhängigkeiten gebaut. Eine davon ist libgmp. GMP ist das erste Paket bisher, das C++ benutzt und tatsächlich war unser C++-Compiler die ganze Zeit über kaputt. Zum Glück kann ein einfacher Symlink ihn reparieren und ein weiterer GCC so weit zufriedenstellen, dass wir den Port endlich bauen können - was durchaus ein bißchen Zeit in Anspruch nimmt (mir ist es zweimal passiert, dass das Kompilieren abgebrochen ist und ich kann nicht wirklich sagen, was da passiert. Aber einfach nochmals bmake aufzurufen führt schließlich zum erfolgreichen Abchluss des Portbaus!):

# ln -s /usr/local/pkgsrc/lib/libiconv.so.7 /usr/lib/libiconv.so.7
# ln -s /usr/local/temp/gcc34/lib/libgcc_s.so.1 /usr/lib/libgcc_s.so.1
# cd /usr/pkgsrc/13/lang/gcc44/
# bmake install clean clean-depends

Sobald das geschafft ist, muss nochmals der Pfad verändert werden, so dass der neuere GCC der primäre Compiler wird:

# mv /root/.cshrc /root/.cshrc.bak
# sed 's:temp/gcc34:pkgsrc/gcc44:' /root/.cshrc.bak > /root/.cshrc

GCC 4.4.7 läuft auf FreeBSD 4.11!

Michael Reim

GCC 4.4.7 läuft auf FreeBSD 4.11!

Damit die Änderung greift, müssen wir uns nur aus- und wieder einloggen:

# exit
# logout
> su -
# /usr/local/temp/bin/screen

Dann wollen wir mal sehen, ob der neue Compiler auf cc hört (und gleich C++ reparieren, wenn wir schon dabei sind):

# ln -sf /usr/local/pkgsrc/gcc44/lib/libgcc_s.so.1 /usr/lib/libgcc_s.so.1
# cc -v
[...]
gcc version 4.4.7 (GCC)

Ja, wir haben wirklich GCC in Version 4.4 auf FreeBSD 4.11 am Laufen! Wenngleich das sicherlich kein moderner Compiler ist, ist er doch neu genug, um eine ganze Menge Programme bauen zu können. Die aktuellste Version von OpenBSD, die im September 2016 veröffentlichte Version 6.0, liefert übrigens immer noch (aus Lizenzgründen) GCC 4.2 mit! Richtig, OpenBSD hat die Kompilersammlung die ganze Zeit gepflegt und patcht sie stark. Trotzdem haben wir jetzt einen Compiler auf FreeBSD 4.11 von 2005 installiert, der zwei Hauptversionen neuer ist!

Damit sind wir gewissermaßen zurück im Geschäft. Da dieser Artikel aber wirklich lang genug ist, findet das »Große Finale« das nächste Mal statt. Dort finden Sie dann auch das Endergebnis dieses »kleinen« Experiments, das letztlich erheblich mehr Zeit in Anspruch genommen hat, als ich ursprünglich für möglich gehalten hätte (das aber doch fast die ganze Zeit über interessant und spannend war).

  • Das Werk darf vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden, Abwandlungen und Bearbeitungen des Werkes sind erlaubt. Der Name des Autors/Rechteinhabers muss in der von ihm festgelegten Weise genannt werden.

    - Weitere Informationen
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung