You're not missing anything. There's a bug report on the rt that mentions the exact same problem. See:
Bug #40185 for File-NSLock. You'll find an attachment with a patch that should work for you. | [reply] |
I've worked around the NFSLock issue and I have the Cairo library installed.
However.....
I can't get the PERL Cairo module to install. Whether I use CPAN or the manual method, all the files compile but the link fails. Here's the error....
C:\Perl\site\bin\g++.exe -out:blib\arch\auto\Cairo\Cairo.dll -mdll -L"C:\Perl\li
b\CORE" Cairo.o CairoFont.o CairoMatrix.o CairoPath.o CairoPattern.o CairoSurfac
e.o CairoFt.o cairo-perl-enums.o C:\Perl\lib\CORE\perl510.lib -lkernel32 -luse
r32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lneta
pi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -lms
vcrt -def:Cairo.def
C:\Perl\site\lib\auto\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin
\ld.exe: cannot open output file ut:blib\arch\auto\Cairo\Cairo.dll: Invalid argument
collect2: ld returned 1 exit status
dmake.exe: Error code 129, while making 'blib\arch\auto\Cairo\Cairo.dll'
TSCH/Cairo-1.061.tar.gz
C:\Perl\site\bin\dmake.exe -- NOT OK
It appears something can't handle the "-out:", since the file it can't find is prefixed with "ut:".
Are things supposed to be this hard?
Chuck
| [reply] |
cannot open output file ut:blib\arch\auto\Cairo\Cairo.dll
This is a bug in ActiveState's mingw-handling capabilities - a bug that has been fixed in more recent builds of ActivePerl.
In C:/Perl/lib/ExtUtils/MM_Win32, try changing:
my $GCC = 1 if $Config{'cc'} =~ /^gcc/i;
to
my $GCC = 1;
or, better still (update):
my $GCC = $Config{'cc'} =~ /\bgcc/i ? 1 : 0;
Apparently $Config{cc} is not matching /^gcc/i. (Is that the case ? What does perl -V:cc produce ?) Then run dmake realclean and start over again.
UPDATE: Oh ... I see that you're using the latest ActivePerl and the bug is there again. Did you do an upgrade on ExtUtils::MakeMaker ? It's important to use the EU::MM that ships with ActivePerl if you want the MinGW compiler to be handled correctly. The problem is, that with latest builds of ActivePerl, $Config{cc} no longer matches /^gcc/i when MinGW is the compiler. Instead, it matches /\bgcc/i and that's what the MM_Win32.pm that ships with ActivePerl tests for. (The correction hasn't made its way into the EU::MM distributions from CPAN.)
Are things supposed to be this hard?
With older builds of ActivePerl the answer is "yes" unfortunately. Things are much improved with the latest ActivePerl.
Btw, I can currently provide ppm packages (perl-5.12 & perl-5.10) for Glib-1.223, Cairo-1.061, Pango-1.221 and Gtk2-1.222 if that helps.
Cheers, Rob
| [reply] [d/l] [select] |