in reply to Re: Class::MOP and MOP.dll
in thread Class::MOP and MOP.dll

I previously tried to install XML::LibXML from Trouchelle and I got the same error.

>perl -e"use XML::LibXML;" Can't load 'c:/Progs/perl588/site/lib/auto/XML/LibXML/LibXML.dll' for +module XML::LibXML: load_file:The specified procedure could not be fo +und at c:/Progs/perl588/lib/DynaLoader.pm line 230. at c:/Progs/perl588/site/lib/XML/LibXML.pm line 116 BEGIN failed--compilation aborted at c:/Progs/perl588/site/lib/XML/Lib +XML.pm line 116. Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1.

What the OP didn't specify is that Windows displays a dialog saying

The procedure entry point Perl_newXS_flags could not be located in the + dynamic link library perl58.dll

for Class::MOP and

The procedure entry point Perl_sv_2iv_flags could not be located in th +e dynamic link library perl58.dll

for XML::LibXML.

>dumpbin /imports c:/Progs/perl588/site/lib/auto/Class/MOP/MOP.dll | f +ind "newXS" 3EF Perl_newXS_flags >dumpbin /exports c:/Progs/perl588/bin/perl58.dll | find "newXS" 965 3C4 0001C8CF Perl_newXS

I just found a web site that suggests upgrading to build 822 or higher.

>perl -v This is perl, v5.8.8 built for MSWin32-x86-multi-thread (with 25 registered patches, see perl -V for more detail) Copyright 1987-2006, Larry Wall Binary build 817 [257965] provided by ActiveState http://www.ActiveSta +te.com Built Mar 20 2006 17:54:25 ...

Testing. Will post results.

Replies are listed 'Best First'.
Re^3: Class::MOP and MOP.dll
by ikegami (Patriarch) on Oct 11, 2008 at 05:49 UTC
    Success!
    >perl -v This is perl, v5.8.8 built for MSWin32-x86-multi-thread (with 12 registered patches, see perl -V for more detail) Copyright 1987-2007, Larry Wall Binary build 824 [287188] provided by ActiveState http://www.ActiveSta +te.com Built Sep 3 2008 11:14:55 ... >perl -e"use Class::MOP" >perl -e"use XML::LibXML" >
Re^3: Class::MOP and MOP.dll
by syphilis (Archbishop) on Oct 11, 2008 at 10:44 UTC
    I believe this sort of problem would be avoided if the trouchelle rep's ppm packages were all built using perl-5.8.0.

    I have Serguei's email address - I'll drop him a note.

    Cheers,
    Rob

      But doesn't that just re-create all the problems and critisisms of AS' repository?

      Ie. That any package that has dependancies upon post 5.8.0 updates to the core and/or core modules fail to build.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
        ... any package that has dependancies upon post 5.8.0 updates to the core and/or core modules fail to build

        Only if the 5.8.0 core in question has not, itself, been updated. Still, that's probably expecting a bit too much of the rep maintainer ... maybe it's better to instead expect the user to update his perl build (as was recommended for this particular case).

        For any 5.8.x ppm's that I personally build for public consumption, I always build them [1] against 5.8.0 - and if that build of 5.8.0 needed a core upgrade then that's what I would do. But I only maintain a handful of ppm packages ... not the hundreds that Serguei provides.

        Thanks - maybe I won't send that email, after all. I've already sent my quota of emails for the day, anyway :-)

        Cheers,
        Rob
        [1]There's currently one exception - the 5.8 Math-GSL ppm package that's on randyk's rep. I mistakenly thought it could not be built on 5.8.0. This will be corrected at the next update.
Re^3: Class::MOP and MOP.dll
by BrowserUk (Patriarch) on Oct 11, 2008 at 07:24 UTC
    What the OP didn't specify is that Windows displays a dialog saying The procedure entry point Perl_newXS_flags could not be located in the dynamic link library perl58.dll

    Yes. That was the information I was after. I offered to send him a copy of dumpbin.exe, but he never took me up on it.

    Still, no need now, you've got this well sussed.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      Am I 'OP'? If so, I can't seem to find any info on how/where to get dumpbin.exe. I apologize, as after my last post, I ended up leaving for the weekend with no internet access, so I am back and still have problems. I don't think I can use this solution, because I already have build 822...
        Am I 'OP'?

        Yes. You are the Original Poster.

        I don't think I can use this solution, because I already have build 822...

        It seems that from ikegami's investigation that the entrypoint that cannot be loaded is Perl_newXS_flags which you should see mentioned in a pop-up dialog when the load fails (and should have mentioned in your post). The problem appears to be that this entrypoint required bu Class::MOP is not exported by the perl58.dll that is built by AS822.

        Despite what ikegami said in Re^2: Class::MOP and MOP.dll, it seems that he got success using build 824. You should upgrade and try again. I know of no other solution.


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.
        dumpbin is one of the utilities that ships with most Microsoft Compiler packages - we can probably get by without it. What we really needed to see was the message in the popup box that (we're assuming) you got.

        I already have build 822

        All I can verify is that the trouchelle ppm package of Class-MOP (Class-MOP-0.66) works fine for me on build 824 - ikegami found the same. Maybe build 822 is unsuitable, after all. (It's ok to install build 824 straight over the top of 822.)

        Cheers,
        Rob