metro
i² = -1
Als Erweiterung zu diesem Thread :
http://www.bsdforen.de/showthread.php?t=26082
hab ich mal nachgestochert:
Einige Anwendungen benutzen zum Kompilieren Ihre eigenen Optionen und Flags etc. So weit, so gut.
Der springende Punkt scheint , dass manche nur einmal, nämlich wenn sie selbst gebaut werden, /etc/make.conf auslesen und dann in ihren jeweiligen eigenen Konfigurationsdateinen speichern. Diese 'festgeschriebenen' Flags etc. werden dann später benutzt.
So werden u.a. CC: und CXX: so aufgerufen, wie sie zu der Zeit, als die jeweilige Anwendung selbst kompiliert wurde, in /etc/make.conf gelistet waren, und damit ccache.
Wenn ccache seine Pfade ändert (so wie im letzten Update) , führen die alten CC: & CXX: Flags dann ins Leere.
Da /etc/make.conf nicht mehr gelesen wird, sind sämtliche dort vorgenommenen Änderungen wirkungslos und ein beherztes 'NOCCACHE=yes' wird ebenfalls ignoriert. Das hat funktioniert, solange 'world-cc' etc. noch existierten, aber seit der Pfad sich geändert hat, ist Schluss mit lustig.
Evtl. betroffene Anwendungen (ohne Anspruch auf Vollständigkeit) kann man finden mit:
aber nicht alles da ist wichtig. Die entscheidenden haben eigene libs unter
/usr/local/lib. Also einfach mal nachschauen.
Auf dieser Box ergab:
( ja, es gibt Irre die OO-alllangs bauen
)
davon haben folgende 'hardcoded' oder festgeschriebene CC & CXX mit entsprechendem alten ccache Flags in
Ich bezweifle, dass manuelle Änderungen in diesen Dateien einen Effekt haben, also ist der jeweilige Neubau nach Änderungen an CC / CXX in /etc/make.conf wohl der Weg (zusätzlich zu /ports/UPDATING).
@klimaschreck:
ocaml ist wohl die Ursache für den Abbruch bei py27-keybindings-kde .
hth
P.S.
Wer python auf die Version 2.7 erneuert hat, kann mal schauen, ob unter /usr/local/lib noch ein Ordner python2.6 oder früher existiert. Nach dem korrekten Update (siehe /ports/UPDATING) sollte der leer sein. Voll oder leer: ||*auf eigenes Risiko*|| weg damit.
http://www.bsdforen.de/showthread.php?t=26082
hab ich mal nachgestochert:
Einige Anwendungen benutzen zum Kompilieren Ihre eigenen Optionen und Flags etc. So weit, so gut.
Der springende Punkt scheint , dass manche nur einmal, nämlich wenn sie selbst gebaut werden, /etc/make.conf auslesen und dann in ihren jeweiligen eigenen Konfigurationsdateinen speichern. Diese 'festgeschriebenen' Flags etc. werden dann später benutzt.
So werden u.a. CC: und CXX: so aufgerufen, wie sie zu der Zeit, als die jeweilige Anwendung selbst kompiliert wurde, in /etc/make.conf gelistet waren, und damit ccache.
Wenn ccache seine Pfade ändert (so wie im letzten Update) , führen die alten CC: & CXX: Flags dann ins Leere.
Da /etc/make.conf nicht mehr gelesen wird, sind sämtliche dort vorgenommenen Änderungen wirkungslos und ein beherztes 'NOCCACHE=yes' wird ebenfalls ignoriert. Das hat funktioniert, solange 'world-cc' etc. noch existierten, aber seit der Pfad sich geändert hat, ist Schluss mit lustig.
Evtl. betroffene Anwendungen (ohne Anspruch auf Vollständigkeit) kann man finden mit:
Code:
pkg_info -oa |grep lang
/usr/local/lib. Also einfach mal nachschauen.
Code:
grep -i ccache /usr/local/lib/$siehe_unten/*
grep -i ccache /usr/local/lib/$siehe_unten/*/*
grep -i ccache /usr/local/lib/$siehe_unten/*/*/* usw.
Code:
$ pkg_info -oa |grep lang
lang/f2c
lang/gawk
lang/lua
lang/ocaml
Information for openoffice.org-alllangs-3.3.0:
lang/p5-Error
lang/perl5.12
lang/python27
lang/ruby18
lang/tcl85
lang/tcl-modules
lang/vala
lang/vala-vapigen
)davon haben folgende 'hardcoded' oder festgeschriebene CC & CXX mit entsprechendem alten ccache Flags in
Code:
perl
/usr/local/lib/perl5/5.12.3/mach/Config.pm
/usr/local/lib/perl5/5.12.3/mach/Config_heavy.pl
python
/usr/local/lib/python2.7/config/Makefile
ocaml
/usr/local/lib/ocaml/Makefile.config
ruby
/usr/local/lib/ruby/1.8/amd64-freebsd8/rbconfig.rb
tcl
/usr/local/lib/tcl8.5/tclConfig.sh
@klimaschreck:
ocaml ist wohl die Ursache für den Abbruch bei py27-keybindings-kde .
hth
P.S.
Wer python auf die Version 2.7 erneuert hat, kann mal schauen, ob unter /usr/local/lib noch ein Ordner python2.6 oder früher existiert. Nach dem korrekten Update (siehe /ports/UPDATING) sollte der leer sein. Voll oder leer: ||*auf eigenes Risiko*|| weg damit.