Reputation: 327
Thank you for taking the time reading this and hopefully help me come out with a successful solution to my problem.
I deleted this previous post as it went dead(hours without an answer), so Im hoping to revive it.
I was trying to install a perl module named Rose::DB, and after multiple approaches I finally installed it, but whenever I run my code it tells me it can't find a module named Bit::Vector, so I tried to install it.
I first did the Makefile.PL without errors. Then, I tried doing the dmake... and It gave me A LOT of lines, most of them warnings like this:
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'
After that the last couple of lines showed this:
collect2: ld returned 1 exit status
dmake.exe: Error code 129, while making 'blib\arch\auto\Bit\Vector\Vector.dll'
Can anybody help me install the module correctly? I would really appreciate it.
PS: Here's the link to see all the lines: http://www.sendspace.com/file/97pk32
PS: I'm using Strawberry, was using ActivePerl but gave me errors and was recommended to use Strawberry.
Upvotes: 0
Views: 5251
Reputation: 1
If there are two perl installation like Strawbery and other like Dwimperl or activeperl, renaming one which is not used, solved my problem of dmake.exe: Error code 129
Upvotes: 0
Reputation: 667
I had the same issue on Windows with the module Win32::UTCFileTime.
It can be due to the fact that you have both Strawberry and ActivePerl installed. And so, your perl configuration may be wrong.
If you have something like :
$ perl -V
...
cc='C:\STRAWB~1\c\bin\gcc.exe',...
...
ld='C:\STRAWB~1\c\bin\g++.exe', ldflags='... -L"C:\Perl\lib\CORE"...'
...
It means that you are trying to build perl modules with Strawberry's compiler/linker and with ActivePerl libs. It could be the reason why.
Also, an easy "hack" is to rename C:\Perl to C:\whatever temporarily. Then, you should have :
$ perl -V
...
cc='gcc',...
...
ld='g++', ldflags='... -L"C:\strawberry\lib\CORE"...'
...
Thus, your linker will be able to find Strawberry perl CORE API functions ( _imp__Perl_*, perlguts ). It worked for me.
Upvotes: 1