Dies wurde durch die Installation behoben libcrypt-devel
.
Dann hat alles bestens geklappt ... also Problem gelöst!
Das erklärt es besser: Re: Schwieriges Kompilieren von Package :: Stash :: XS
Ich versuche, ein Modul (Package :: Stash :: XS) über cpanm zu installieren, die Installation schlägt jedoch aufgrund eines gcc-Fehlers fehl. Der Befehl
gcc -c -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -fstack-protector -DUSEIMPORTLIB -O3 -DVERSION=\"0.28\" -DXS_VERSION=\"0.28\" "-I/usr/lib/perl5/5.14/x86_64-cygwin-threads/CORE" XS.c
schlägt mit dem Fehler fehl:
XS.xs:1:20: fatal error: EXTERN.h: No such file or directory compilation terminated.
an der Linie
#line 1 "XS.xs" #include "EXTERN.h"
Die Datei EXTERN.h ist jedoch in der Datei -I /usr/lib/perl5/5.14/x86_64-cygwin-threads/CORE enthalten:
$ ls /usr/lib/perl5/5.14/x86_64-cygwin-threads/CORE/E* /usr/lib/perl5/5.14/x86_64-cygwin-threads/CORE/EXTERN.h
Was könnte das Problem sein und wie kann ich die Zusammenstellung erfolgreich machen? Ich habe versucht, die Option -I in -iquote zu ändern (obwohl gcc manual nicht sagt, dass doppelte Anführungszeichen auch die Verwendung von -I enthalten), aber das hilft nicht. Mein erster Gedanke war, dass es sich um ein Erlaubnisproblem handelte, aber dies ist Cygwin, und cpanm läuft wie ich und ich habe Lesezugriff auf EXTERN.h und Exec-Zugriff auf das CORE-Verzeichnis.
Dies wurde durch die Installation behoben libcrypt-devel
.
Dann hat alles bestens geklappt ... also Problem gelöst!
Das erklärt es besser: Re: Schwieriges Kompilieren von Package :: Stash :: XS
Ok, ich glaube, ich habe das Problem gefunden. Ich führe dies in Cygwin wie erwähnt aus und es scheint, als hätte Cygwin versucht, Windows-Erdbeer-Perls gcc zu verwenden, da sein eigener gcc nicht installiert wurde! Das Windows gcc hatte wahrscheinlich Probleme mit einem Cygwin-Pfad, daher der seltsame Fehler. Ich habe jetzt Cygwins gcc installiert und dieses Problem ist weg. Als nächstes beklagte er sich über ein <crypt.h>
Problem, das ebenfalls durch die Installation einiger Bibliotheken zur Verschlüsselung im Cygwin-Setup-Dialog gelöst wurde.