尝试安装XML::Sablotron时出现错误。我需要做什么才能成功构建此模块?
perl -V
我的perl5(revision 5 version 14 subversion 2)配置总结:
平台:
osname=cygwin,osvers=1.7.15(0.26053),archname=cygwin-thread-multi-64int
uname='cygwin_nt-5.1 winxp 1.7.15(0.26053) 2012-05-09 10:25 i686 cygwin'
config_args='-de -Dlibperl=cygperl5_14.dll -Dcc=gcc-4 -Dld=g++-4 -Darchname= i686-cygwin-threads-64int -Dmksymlinks -Dusethreads -Accflags=-g'
提示=推荐,useposix=true,d_sigaction=define
useithreads=define,usemultiplicity=define
useperlio=define,d_sfio=undef,uselargefiles=define,usesocks=undef
use64bitint=define,use64bitall=undef,uselongdouble=undef
使用mymalloc=n,bincompat5005=undef
编译器:
cc='gcc-4', ccflags ='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g -fno-stric t-aliasing -pipe -fstack-protector',
优化='-O3',
cppflags='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g -fno-strict-aliasing - pipe -fstack-protector'
ccversion='',gccversion='4.5.3',gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
d_longlong=定义,longlongsize=8,d_longdbl=定义,longdblsize=12
ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lsee ksize=8
alignbytes=8,原型=定义
链接器和库:
ld='g++-4', ldflags =' -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl ,--enable-auto-image-base -fstack-protector -L/ usr/local/lib'
libpth=/usr/local/lib /usr/lib /lib
libs=-lgdbm -ldb -ldl -lcrypt -lgdbm_compat
perllibs=-ldl -lcrypt
libc=/usr/lib/libc.a,so=dll,useshrplib=true,libperl=cygperl5_14.dll
gnulibc_version=''
动态链接:
dlsrc=dl_dlopen.xs,dlext=dll,d_dlsymun=undef,ccdlflags=''
cccdlflags=' ', lddlflags=' --shared -Wl,--enable-auto-import -Wl,--export- all-symbols -Wl,--enable-auto-image-base -L/usr/local/ lib -fstack-protector'
此二进制文件的特征(来自 libperl):
编译时选项:MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_PRESERVE_IVUV
PERL_USE_SAFE_PUTENV USE_64_BIT_INT USE_ITHREADS
USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF
USE_REENTRANT_API
本地应用的补丁:
错误#55162 File::Spec::case_allow 性能
CYG07 $vendorarch/auto/.rebase
CYG15静态Win32CORE
CYG17 cyg-1.7 路径-utf8
0c612ce82 修复在 cygwin 上构建静态扩展,-UUSEIMPORTLIB
1bac5ecc1 修复 64 位线程 sv.c:S_anonymise_cv_maybe
Cygwin::sync_winenv 添加
在cygwin下构建
编译于 2012 年 7 月 12 日 14:17:21
@INC:
/usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int
/usr/lib/perl5/site_perl/5.14
/usr/lib/perl5/vendor_perl/5.14/i686-cygwin-threads-64int
/usr/lib/perl5/vendor_perl/5.14
/usr/lib/perl5/5.14/i686-cygwin-threads-64int
/usr/lib/perl5/5.14
/usr/lib/perl5/site_perl/5.10
/usr/lib/perl5/vendor_perl/5.10
/usr/lib/perl5/site_perl/5.8
Cygwin 版本是 2.774。pango库有问题,但我认为这不是以下问题
我尝试构建时遇到的错误XML::Sablotron(之后perl makeFile.PL):
make[1]: 进入目录`/usr/src/XML-Sablotron-1.01/DOM' make[1]: 离开目录`/usr/src/XML-Sablotron-1.01/DOM' make[1]: 进入目录`/usr/src/XML-Sablotron-1.01/Situation' make[1]: 离开目录`/usr/src/XML-Sablotron-1.01/Situation' make[1]: 进入目录`/usr/src/XML-Sablotron-1.01/SXP' make[1]: 离开目录`/usr/src/XML-Sablotron-1.01/SXP' make[1]: 进入目录`/usr/src/XML-Sablotron-1.01/Processor' make[1]: 离开目录`/usr/src/XML-Sablotron-1.01/Processor' gcc-4 -c -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g -fno-strict-aliasing -pipe -fstack-protector -DUSEIMPORTLIB -O3 -DVERSION=\"1.01\" -DXS_VERSION=\"1.01\" "-I/usr/lib /perl5/5.14/i686-cygwin-threads-64int/CORE" -DPERL_POLLUTE Sablotron.c 在 Sablotron.xs:88:0 包含的文件中: DOM/DOM.h: 在 Funktion »__createNodeOld«: DOM/DOM.h:90:17:警告:Typkonvertierung von Zeiger auf Ganzzahl anderer Breite 在 Sablotron.xs:88:0 包含的文件中: DOM/DOM.h:在 Funktion »__checkNodeInstanceData«: DOM/DOM.h:120:22:警告:Zeiger von Ganzzahl anderer Breite 中的 Typkonvertierung DOM/DOM.h:在 Funktion »__createNodeNew«: DOM/DOM.h:153:5:警告:Typkonvertierung von Zeiger auf Ganzzahl anderer Breite 在 Sablotron.xs:89:0 包含的文件中: Processor/Processor.h:在 Funktion »MessageHandlerMakeCodeStub« 中: Processor/Processor.h:122:7: Fehler: »sv_undef« 未声明(在此函数中首次使用) Processor/Processor.h:122:7: Anmerkung: 只报告每个未声明的标识符 每个函数出现一次 Processor/Processor.h:在 Funktion »MessageHandlerLogStub«: ... 在 Sablotron.xs:91:0 包含的文件中: Situation/Situation.h:在 Funktion »_SV2SXP_Node«: Situation/Situation.h:113:19:警告:Zeiger von Ganzzahl anderer 中的 Typkonvertierung 布雷特 ./DOM/DOM.xsh: 在 Funktion »XS_XML__Sablotron__DOM_parse«: ./DOM/DOM.xsh:53:30:警告:Zeiger von Ganzzahl anderer Breite 中的 Typkonvertierung …… (Processor/Processor.xsh 和 Situation/Situation.xsh 的错误相同)
当然,最好的方法是不要使用 Sablotron。但因为时间关系,我宁愿不改变一切。