安装Perl模块时出错。错误代码129

时间:2012-08-01 20:05:09

标签: perl module installation install cmd

感谢您花时间阅读本文,希望能帮助我成功解决问题。

我删除了之前的帖子,因为它已经死了(没有答案的时间),所以我希望能恢复它。

我正在尝试安装名为Rose :: DB的perl模块,经过多种方法后我终于安装了它,但每当我运行我的代码时它告诉我它找不到名为Bit :: Vector的模块,所以我试图安装它。

我第一次做Makefile.PL没有错误。 然后,我尝试做dmake ...它给了我很多行,其中大多数是这样的警告:

Vector.o:Vector.c:(.text+0x11591): undefined reference to `_imp__Perl_newXS'
Vector.o:Vector.c:(.text+0x115a0): undefined reference to `_imp__Perl_get_context'

之后,最后几行表明了这一点:

collect2: ld returned 1 exit status
dmake.exe:  Error code 129, while making 'blib\arch\auto\Bit\Vector\Vector.dll'

有人可以帮我正确安装模块吗?我真的很感激。

PS:这是查看所有行的链接: http://www.sendspace.com/file/97pk32

PS:我正在使用Strawberry,正在使用ActivePerl,但却给了我错误,建议使用草莓。

2 个答案:

答案 0 :(得分:1)

我在 Windows 上遇到了与Win32 :: UTCFileTime模块相同的问题。

这可能是因为你安装了Strawberry和ActivePerl。所以,你的perl配置可能是错误的。

如果你有类似的话:

$ perl -V
...
cc='C:\STRAWB~1\c\bin\gcc.exe',...
...
ld='C:\STRAWB~1\c\bin\g++.exe', ldflags='... -L"C:\Perl\lib\CORE"...'
...

这意味着您正在尝试使用Strawberry的编译器/链接器和ActivePerl库构建perl模块。这可能是原因。

另外,一个简单的“黑客”是暂时将C:\ Perl重命名为C:\ whatever 。 然后,您应该:

$ perl -V
...
cc='gcc',...
...
ld='g++', ldflags='... -L"C:\strawberry\lib\CORE"...'
...

因此,您的链接器将能够找到Strawberry perl CORE API函数(_imp__Perl_ *,perlguts)。它对我有用。

答案 1 :(得分:0)

如果有两个perl安装,如Strawbery和其他类似Dwimperl或activeperl,重命名一个未使用的,解决了我的dmake.exe问题:错误代码129