rovf has asked for the wisdom of the Perl Monks concerning the following question:
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: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: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
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.PERL5LIB=H:\artst\opticm_dev\ARTS\App;H:\artst\opticm_dev\ARTS\Libs\CP +AN\lib;H:\artst\opticm_dev\ARTS\Libs\activestate\lib
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.
|
|---|