The error message at the end:
Error: Unable to locate installed Perl libraries or Perl source code. It is recommended that you install perl in a standard location before building extensions. Some precompiled versions of perl do not contain these header files, so you cannot build extensions. In such a case, please build and install your perl from a fresh perl distribution. It usually solves this kind of problem. (You get this message, because MakeMaker could not find "\public\ratlp +erl\5.6.1_ AS629\lib\perl5\5.6.1\MSWin32-x86-multi-thread\CORE\perl.h")
looks to be most serious - it means you can't build extensions in the standard way because of some missing header files. IBM recommends that you install missing modules
manually, which is possible, but as was mentioned in earlier responses, you have to take care where to put the files. In the following, let $RATIONAL stand for
C:\Program Files\Rational\Common\lib\perl5\site_perl\5.6.1.
What you could do is grab the sources of the binary ppm packages, extract the files, and then copy them into locations that your Perl expects them. For example, for
XML-LibXML-Common, which is a prerequisite, download
XML-LibXML-Common.tar.gz from
http://theoryx5.uwinnipeg.ca/ppmpackages/x86/. When unpacked, the directory structure contains
blib/lib/XML/LibXML/.exists
blib/lib/XML/LibXML/Common.pm
blib/lib/XML/LibXML
blib/arch/auto/XML/LibXML/Common/.exists
blib/arch/auto/XML/LibXML/Common/Common.bs
blib/arch/auto/XML/LibXML/Common/Common.dll
blib/arch/auto/XML/LibXML/Common/Common.exp
blib/arch/auto/XML/LibXML/Common/Common.lib
blib/arch/auto/XML/LibXML/Common/Common.pdb
Copy the files under blib/lib/ to
$RATIONAL,
taking care to preserve the subdirectory structure (for
example, blib/lib/XML/LibXML/Common.pm would
go to $RATIONAL\XML\LibXML\Common.pm).
Then copy the files under
blib/arch/auto/
to $RATIONAL\MSWin32-x86-multi-thread\auto\,
again taking care to preserve the underlying subdirectory structure. Finally, you'll need the libxml2.dll
external library; this can be obtained from
http://theoryx5.uwinnipeg.ca/ppmpackages/scripts/, and should be placed somewhere under your PATH environment variable (type set PATH at a command prompt to see what your PATH is). You'll then have to repeat this for
XML-LibXML,
XML-NamespaceSupport, and
XML-SAX.
| [reply] [d/l] |
Hello Randy,
Your explantion was simply great! i did exactly the same and CQPERL parser does not crash! also i had put the libxml2.dll into my "C:\Program Files\Rational\Common" folder.
I did set path on cmd and i got the following:
Path=C:\Program Files\ActiveState Perl Dev Kit 7.0\bin;C:\Perl\bin;C:\
+Program Files\ActiveState Komodo IDE 4.2\;C:\WINNT\system32;C:\WINNT;
+C:\WINNT\System32\Wbem;C:\Program Files\Rational\common;C:\Program Fi
+les\Rational\ClearCase\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
Hence i had placd the libxml2.dll in "C:\Program Files\Rational\Common"
Can't load 'C:/Program Files/Rational/Common/lib/perl5/site_perl/5.6.1
+/MSWin32-x
86-multi-thread/auto/XML/LibXML/Common/Common.dll' for module XML::Lib
+XML::Commo
n: load_file:The specified module could not be found at C:/Program Fil
+es/Rationa
l/Common/lib/perl5/5.6.1/MSWin32-x86-multi-thread/DynaLoader.pm line 2
+06.
at C:/Program Files/Rational/Common/lib/perl5/site_perl/5.6.1/XML/Lib
+XML.pm lin
e 12
Compilation failed in require at C:/Program Files/Rational/Common/lib/
+perl5/site
_perl/5.6.1/XML/LibXML.pm line 12.
BEGIN failed--compilation aborted at C:/Program Files/Rational/Common/
+lib/perl5/
site_perl/5.6.1/XML/LibXML.pm line 12.
Compilation failed in require at libxml_test.pl line 6.
BEGIN failed--compilation aborted at libxml_test.pl line 6.
I am not sure if the libxml2.dll could be the problem?
Thanks once again a lot
best regards
Karthik
| [reply] [d/l] [select] |
One problem might be is that you have another libxml2.dll somewhere in your PATH which is a different version than the one XML::LibXML::Common was compiled with. Try searching within the directories of your PATH for another one, and if one is found, move it out of the way (temporarily, in case it's needed for some other application).
| [reply] |