Ich versuche, ein Modul ( Package::Stash::XS
) über zu installieren cpanm
, aber die Installation schlägt 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 ist EXTERN.h
jedoch in folgendem -I
Lieferumfang enthalten /usr/lib/perl5/5.14/x86_64-cygwin-threads/CORE
:
$ 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 Kompilierung zum Erfolg führen? Ich habe versucht, das -I
zu ändern -iquote
(obwohl das GCC-Handbuch sagt, dass doppelte Anführungszeichen auch irgendwann -I verwenden), aber das hilft nicht. Mein erster Gedanke war, dass es sich um ein Berechtigungsproblem handelte, aber dies ist Cygwin und cpanm wird ausgeführt, während ich EXTERN.h
Lesezugriff auf das CORE-Verzeichnis und Exec-Zugriff darauf habe.