UPDATE: I have solved this (see below)

My use XML::LibXML; raises the following error message:

Can't load 'H:\artst\opticm_dev\ARTS\Libs\activestate\lib/auto/XML/LibXML/Common/Common.dll' for module XML::LibXML::Common: load_file:Das angegebene Modul wurde nicht gefunden at c:/perl/lib/DynaLoader.pm line 201

Strangely, the file is there:
Verzeichnis von H:\artst\opticm_dev\ARTS\Libs\activestate\lib\auto\XM +L\LibXML\Common 01.04.2009 15:19 20.571 Common.dll 1 Datei(en) 20.571 Bytes
so I have no clue why Common.dll can't be found. One might suspect that the reason is that the path Perl complains about, has mixed forward and backward slashes as path separator. I guess the backward slashes are taken from the PERL5LIB environment variable:
PERL5LIB=H:\artst\opticm_dev\ARTS\App;H:\artst\opticm_dev\ARTS\Libs\CP +AN\lib;H:\artst\opticm_dev\ARTS\Libs\activestate\lib
However I don't think that this can be the reason for the error message, because I do have a case where it works using the forward slashes in PERL5LIB.

Actually, I have now a working case and a non-working, and they are very similar. The difference between them is that I had generated the "non-working" case (where I get the complaint about the missing DLL) by just copying (using XCOPY) the working software (all Perl modules, including the Lib, but of course not touching the Perl installation itself), from drive C: to a different directory on drive H:, and update the PERL5LIB and PATH variables to point to the new location.

With other words: I had a directory tree with my perl main program, all my perl modules, and the libs I had downloaded from CPAN (including the XML libs), and it worked fine. And then I did a XCOPY of this tree to a different location, changed in my command line shell the PERL5LIB and PATH accordingly, and running the copy produces the error message, while running the original version still works.

Hence I feel that the error might have been introduced somehow by this copyign process. Maybe there is something I have to pay attention to, when copying modules which need the DynaLoader?

SOLVED: Reason was that I executed the two versions from different command shells, and it happened that there were different versions of perl.exe in those shells.
-- 
Ronald Fischer <ynnor@mm.st>

In reply to Dynaloader does not find DLL (but it's right here!) (SOLVED) by rovf

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.