sun*_*ica 8 cygwin perl gcc cpan
我正在尝试通过 安装模块 ( Package::Stash::XS
) cpanm
,但由于 gcc 错误导致安装失败。命令:
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
Run Code Online (Sandbox Code Playgroud)
失败并出现错误:
XS.xs:1:20: fatal error: EXTERN.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)
在线:
#line 1 "XS.xs"
#include "EXTERN.h"
Run Code Online (Sandbox Code Playgroud)
但是,该文件EXTERN.h
确实存在于-I
包含的/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
Run Code Online (Sandbox Code Playgroud)
可能是什么问题,我怎样才能使编译成功?我试过更改-I
为-iquote
(尽管 gcc 手册确实说双引号包括最终也使用 -I),但这无济于事。我的第一个想法是这是一个权限问题,但这是 Cygwin 并且 cpanm 像我一样运行,我确实EXTERN.h
对 CORE 目录具有读取访问权限和 exec 访问权限。
好的,我相信我已经找到了问题所在。如前所述,我正在 Cygwin 中运行它,而且 Cygwin 似乎试图使用 Windows 草莓 Perl 的 gcc,因为它自己的 gcc 没有安装!Windows gcc 可能在 Cygwin 样式路径方面存在问题,因此出现了奇怪的错误。我现在已经安装了 Cygwin 的 gcc,这个问题就消失了。它接下来抱怨一个<crypt.h>
,这也通过libcrypt-devel
从 Cygwin 安装对话框安装来解决。
归档时间: |
|
查看次数: |
15208 次 |
最近记录: |