尝试安装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。但因为时间关系,我宁愿不改变一切。