如何安装XML :: Xerces?

时间:2009-10-17 02:15:01

标签: perl xerces-c

请参阅第2部分,其中列出了安装模块continued post时的最新错误。

通常当我尝试使用标准cpan>安装XML :: Xerces CPAN模块时安装XML :: Xercers比我在一些处理后得到以下错误消息:

XML-Xerces-2.7.0-0/samples/SEnumVal.pl
...
XML-Xerces-2.7.0-0/postSource.pl
XML-Xerces-2.7.0-0/xerces-headers.txt
Removing previously used /home/adoshi/.cpan/build/XML-Xerces-2.7.0-0

  CPAN.pm: Going to build J/JA/JASONS/XML-Xerces-2.7.0-0.tar.gz


   WARNING

You have not defined any of the following environment variables:
   XERCESCROOT
   XERCES_LIB
   XERCES_INCLUDE

These instruct me how to locate the Xerces header files, and the
Xerces dynamic library. If they are installed in a standard system
directory, I will located them without those variables.

However, if they have been installed in a non-standard location
(e.g. '/usr/include/xerces'), then I will need help. See the README
for more info.

Proceeding ...

   WARNING

You have not defined any of the following environment variables:
   XERCESCROOT
   XERCES_CONFIG

Without these I cannot find the config.status file that was used to
build your Xerces-C library. Without that file, I may not be able to properly
build the C++ glue files that come with Xerces.pm.

Proceeding anyway ...
Couldn't find XercesVersion.hpp in your include directory  at Makefile.PL line 1                                                                             88.
Running make test
  Make had some problems, maybe interrupted? Won't test
Running make install
  Make had some problems, maybe interrupted? Won't install

将环境变量设置为/home/username/XML-Xerces-2.7.0-0/XML-Xerces-2.7.0-0/Xerces.pm后,请注意我不确定是否应将环境变量指向Xerces.pmXerces.cppXerces-extra.pmXerces.i ,但是现在我将环境变量指向/home/username/XML-Xerces-2.7.0-0/XML-Xerces-2.7.0-0/Xerces.pm

按照上述设置环境变量并输入cpan>install XML::Xerces后,我收到以下消息:

CPAN: Storable loaded ok
Going to read /home/username/.cpan/Metadata
  Database was generated on Fri, 16 Oct 2009 18:27:06 GMT
Running install for module XML::Xerces
Running make for J/JA/JASONS/XML-Xerces-2.7.0-0.tar.gz
CPAN: Digest::MD5 loaded ok
CPAN: Compress::Zlib loaded ok
Checksum for /home/adoshi/.cpan/sources/authors/id/J/JA/JASONS/XML-Xerces-2.7.0-0.tar.gz ok
Scanning cache /home/adoshi/.cpan/build for sizes
XML-Xerces-2.7.0-0/
...
XML-Xerces-2.7.0-0/postSource.pl
XML-Xerces-2.7.0-0/xerces-headers.txt
Removing previously used /home/adoshi/.cpan/build/XML-Xerces-2.7.0-0

  CPAN.pm: Going to build J/JA/JASONS/XML-Xerces-2.7.0-0.tar.gz

Using XERCES_LIB = /home/adoshi/XML-Xerces-2.7.0-0/XML-Xerces-2.7.0-0/Xerces.pm
using XERCES_CONFIG: /home/adoshi/XML-Xerces-2.7.0-0/XML-Xerces-2.7.0-0/Xerces.pm

 - Found CXX      =
 - Found CXXFLAGS =
 - Found LDFLAGS  =

Couldn't find XercesVersion.hpp in your include directory  at Makefile.PL line 188, <CONF> line 6823.
Running make test
  Make had some problems, maybe interrupted? Won't test
Running make install
  Make had some problems, maybe interrupted? Won't install

注意:我尝试下载XML::Xerces并尝试再次安装它,既可以手动也可以使用CPAN,但我会收到上述错误消息。

可能的原因是什么,可以提出什么建议来解决这个问题呢?

更新:即使在构建Xerces-C之后,XML :: Xerces模块也没有构建,并且收到错误消息。

[adoshi@upc01.dev XML-Xerces-2.7.0-0]$ perl Makefile.PL
Using XERCES_LIB = /adoshi/lib
Using XERCES_INCLUDE = /adoshi/include/xerces

   WARNING

You have defined the XERCESCROOT variable, but the file:

  XERCESCROOT/src/xercesc/config.status

 does not seem to point to the config.status file that was used to
 build your Xerces-C library. Without that file, I may not be able to
 properly build the C++ glue files that come with Xerces.pm.

Proceeding anyway ...
Couldn't find XercesVersion.hpp in your include directory /adoshi/include/xerces at Makefile.PL line 188.

Update2 这是错误,它说有一些版本不匹配。

    Using XERCES_LIB = /home/adoshi/XML-Parser/Parser2/xerces-c_2_8_0-hppa-hpux-acc_3(1)/xerces-c_2_8_0-hppa-hpux-acc_3/lib
Using XERCES_INCLUDE = /home/adoshi/XML-Parser/Parser2/xerces-c_2_8_0-hppa-hpux-acc_3(1)/xerces-c_2_8_0-hppa-hpux-acc_3/include

   WARNING

You have defined the XERCESCROOT variable, but the file:

  XERCESCROOT/src/xercesc/config.status

 does not seem to point to the config.status file that was used to
 build your Xerces-C library. Without that file, I may not be able to
 properly build the C++ glue files that come with Xerces.pm.

Proceeding anyway ...
Using Xerces-C version info from /home/adoshi/XML-Parser/Parser2/xerces-c_2_8_0-hppa-hpux-acc_3(1)/xerces-c_2_8_0-hppa-hpux-acc_3/include/xercesc/util/XercesVersion.hpp
      *** Version Mismatch ***

You are attempt to build XML::Xerces-2.7.0-0 using Xerces-C-2.8.0,
this will most likely fail, so I am aborting.

You must use Xerces-C-2.7.0

2 个答案:

答案 0 :(得分:3)

这是一般规则:任何名为“ROOT”的环境变量都要求的是目录,而不是文件。

但是,您似乎没有安装Xerces库,这在安装perl模块之前是必需的。我将引用您提供的输出的某些部分,因为您错过了下一步该做什么:


“... 这些指示我如何找到Xerces头文件和Xerces动态库 ......”

“没有这些,我找不到曾经使用的config.status文件 构建您的Xerces-C库


那么,你安装了Xerces-C吗?在此之后安装Perl模块会有更好的结果。

答案 1 :(得分:-2)

您是否尝试使用PPM安装XML :: Xerces?