FreeBSD 4.11 im Jahre 2017: Abkömmling außergewöhnlicher Auferstehung
Neubau des Compilers
Bevor wir den Compiler neu bauen, aktualisieren wir zuerst die beiden Mathe-Bibliotheken (und erstellen einen weiteren Symlink, so dass das Kompilieren weiterhin funktioniert):
# cd /usr/pkgsrc/16/devel/gmp # bmake package clean clean-depends # pkg_add -uu /usr/pkgsrc/16/packages/All/gmp-6.1.2.tgz # ln -s /usr/local/pkgsrc/lib/libgmp.so.13 /usr/local/pkgsrc/lib/libgmp.so.11 # cd /usr/pkgsrc/16/math/mpfr # bmake package clean clean-depends # pkg_add -uu /usr/pkgsrc/16/packages/All/mpfr-3.1.5.tgz
Damit ist leider der Compiler vorerst kaputt. Aber wir können immernoch auf den alten GCC3 zurückgreifen, um den GCC4 nochmals zu bauen, richtig? Richtig:
# cp /usr/pkgsrc/13/distfiles/gcc-4.4.7.tar.bz2 /usr/pkgsrc/16/distfiles # cp /root/.cshrc /root/.cshrc.bak # sed 's:pkgsrc/gcc44:temp/gcc34:' /root/.cshrc.bak > /root/.cshrc # source /root/.cshrc # cc -v
Auch wenn wir wohl noch immer weder Objective-C noch Java benötigen, könnten wir den endgültigen GCC diesmal mit diesen beiden Sprachen aktiviert bauen. Java benötigt Python 2.7, aber das lässt sich tatsächlich aus dem 2014er Baum bauen! Das Problem ist, dass, um Java zu bauen, mehr RAM erforderlich ist, als 32-Bit-Maschinen unterstützen und deswegen der Kompiliervorgang abbricht. Allerdings ist Java bei GCC 4.4 im 2016er Baum ohnehin standardmäßig deaktiviert. Löschen wir also einfach unsere händisch angepassten Optionen und bauen und installieren das Standardpaket:
# cp /usr/local/pkgsrc/etc/mk.conf /usr/local/pkgsrc/etc/mk.conf.bak # sed '/PKG_OPTIONS.gcc44/d' /usr/local/pkgsrc/etc/mk.conf.bak > /usr/local/pkgsrc/etc/mk.conf # cd /usr/pkgsrc/16/lang/gcc44 # bmake package clean clean-depends # pkg_add -uu /usr/pkgsrc/16/packages/All/gcc44-4.4.7nb7.tgz
Jetzt muss nur noch der richtige Pfad wiederhergestellt werden und wir haben unseren GCC4 zurück (sogar mit einem neueren Patchlevel):
# cp /root/.cshrc.bak /root/.cshrc # source /root/.cshrc # cc -v gcc version 4.4.7 (GCC)