in reply to Re^3: Before I give-up on Chart::Clicker.....
in thread Before I give-up on Chart::Clicker.....

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
  • Comment on Re^4: Before I give-up on Chart::Clicker.....

Replies are listed 'Best First'.
Re^5: Before I give-up on Chart::Clicker.....
by syphilis (Archbishop) on Aug 14, 2010 at 02:26 UTC
    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