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

Khen1950fx, I have not had success on two difference machines. One has PERL 5.12 and the other 5.10. I haave tried GTK+ 2.16 and 2.20. I got all the third-party dependency files that were checked and installed them. Then I ran the script. It always stop at the same place while making File-NFSLock, at the line: t/200_bl_ex.t ..... 2/22 I have even uncommented the items in your script that were uncommented. What am I missing? Chuck
  • Comment on Re^2: Before I give-up on Chart::Clicker.....

Replies are listed 'Best First'.
Re^3: Before I give-up on Chart::Clicker.....
by Khen1950fx (Canon) on Jul 15, 2010 at 05:52 UTC
    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.

      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
        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