Fink

F.A.Q. - 7. Probleme beim Übersetzen - Bestimmte Pakete

F.7.1: Das Übersetzen eines Pakets bricht mit einer Fehlermeldung ab, in der sed vorkommmt.

A.: Dieser Fehler kann auftreten, wenn das Login-Skript (also ~/.cshrc) etwas in ein Terminalfenster schreiben möchte, z. B. mit "echo Hello" oder xttitle. Man kann den Fehler beheben, in dem man die Zeile auskommentiert oder löscht.

Wollen sie das Echo aber unbedingt behalten, können sie den Fehler so abfangen:

if ( $?prompt) then
	echo Hello 
endif

F.7.2: Ich kann gtk+2 auf OS X 10.5 nicht installieren.

A.: Dieser Fehler geht meistens auf fehlende Bibliotheken zurück, z. B.: /usr/X11/lib/libXrandr.2.0.0.dylib oder /usr/X11/lib/libXdamage.1.1.0.dylib (oder andere Versionen der Bibliotheken in /usr/X11/lib/).

Derzeit ist die beste Lösung Xcode 3.1.3 oder später zu installieren.

F.7.3: Wenn ich ein Paket xml-sax-pm installiere, bekomme ich Fehlermeldungen mit _Perl_Gthr_key_ptr.

A.: Sieht der Fehler so oder so ähnlich aus

update-perl5123-sax-parsers: adding Perl SAX parser
module info file of XML::SAX::Expat...
dyld: lazy symbol binding failed: Symbol not found:
_Perl_Gthr_key_ptr
  Referenced from: /sw/lib/perl5/5.12.3/darwin-
  thread-multi-2level/auto/XML/Parser/Expat/Expat.bundle
  Expected in: flat namespace

wird meistens ein anderes perl5.12 statt das des Systems ausgewählt (oder je nach System perl5.10.0 oder perl5.8.8).

Sie können dies mit folgendem Befehl überprüfen:

type -a perl5.12

wenn sie die Shell bash verwenden oder

where perl5.12

wenn sie die Shell tcsh verwenden (und ersetzen sie perl5.12 entsprechend ihrer Situation).

Ein temporäre Lösung ist perl5.12 umzubenennen, solange sie mit Fink Pakete erstellen.

F.7.4: Ich kann das Finkpaket gcc wegen "conflicting types for 'pointer_t'" nicht erstellen.

A.: Der Fehler sieht meistens so aus:

../../gcc-4.6.3/gcc/fortran/module.c:110:1:
error: conflicting types for 'pointer_t'
/usr/include/mach/vm_types.h:40:26:
note: previous declaration of 'pointer_t' was here
make[3]: *** [fortran/module.o] Error 1

Das kommt meistens davon, dass unnötigerweise ein Symlink /usr/include/malloc.h->/usr/include/malloc/malloc.h eingerichtet wurde. Löschen sie den Symlink.

Auf OS X sollte normalerweise statt #include <malloc.h>. #include <stdlib.h> verwendet werden.

F.7.5: Ich habe mit Paketen Probleme, die hier nicht aufgeführt sind.

A.: Da Probleme mit Paketen oft nur vorübergehend sind, haben wir uns entschieden, sie auf der Fink Wiki-Seite einzutragen. Schauen sie auf der Seite Package issues page nach.

Weiter: 8. Benutzung von Paketen - Allgemein