Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^8: Perl_croak_xs_usage problem

by markuhs (Scribe)
on Oct 02, 2009 at 08:31 UTC ( [id://798799]=note: print w/replies, xml ) Need Help??


in reply to Re^7: Perl_croak_xs_usage problem
in thread Perl_croak_xs_usage problem

It happens during "packaging time" not during "run time"... The system stays the same all the time. (Not for later usage! But I currently do NOT reach the point, where I can deploy it as a tool to other users/systems.)

I downgraded to active state build 1005 and it works again...

Replies are listed 'Best First'.
Re^9: Perl_croak_xs_usage problem
by BrowserUk (Patriarch) on Oct 02, 2009 at 10:16 UTC

    Somewhere on your system you have two different files called perl510.dll. The one installed with the AS distribution; and the one that doesn't export the Perl_croak_xs_usage entrypoint.

    When you revert to the earlier perl installation and things work, it is because the "other perl510.dll" is still being found, but it now matches the one from the earlier perl distribution, so everything works. What you need to do, if you wish to upgrade to the latest version of Perl, is isolate where that hidden dll is located.

    My guess is that when you are trying to package whatever it is you are trying to package, it has a dependency upon something that is already packaged--and was packaged using the earlier distribution.

    In order to upgrade, you need to repackage that dependency (and any prepackaged dependencies it might have), before you will be able to package anything that has that currently down-level package as a dependency,


    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.
      BrowserUk, Thanks a lot for your continued help!

      If I search perl*.dll on my local drives, all I find is located in C:\Perl\bin\:
      • perl510.dll
      • perlEx30.dll
      • PerlEz.dll
      • perlis.dll
      • PerlMsg.dll
      • PerlSE.dll
      I doubt, that code from a network drive will be used. In addition my PATH has no drive letter except for C:\... in it.

      So I doubt that any "other DLL" exists...

        Your problem is that PAR wraps up all the files into the single .par file; which is essentially a .zip file. From the PAR documentation:

        This module lets you use special zip files, called Perl Archives, as libraries from which Perl modules can be loaded. ... A .par file is mostly a zip of the blib/ directory after the build process of a CPAN distribution

        So, a simply search of your file system will not look inside any .par file dependancies. You would need to use some kind of .zip browser or unzip utility to look inside them.

        As a crude test, you might try:

        findstr /s /m perl510.dll c:\*.par

        Note:That will not be fast. But it should give you a list of .par files that contain a reference to the errent dll.

        So I doubt that any "other DLL" exists...

        They must. Or you OS is lying to you.


        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.

        A slightly more targetted approach if you have unzip.exe:

        for /r c:\ %p in (*.par) do @echo %p && unzip -l "%p" | find "perl510. +dll"

        That should give you a list of the .par files on your system along with any that contain the errent dll.


        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.
      As to your second suggestion:
      What could be already packaged with a wrong version?
      • My own code? - No, it is all plain text files.
      • Any modules? - How can I find out if any?
      • What else???

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://798799]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2024-04-19 02:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found