2012-09-20 1 views
0

이것은 정말로 이상합니다. 누군가 GCC가 인클루드 파일을 찾을 수없는 이유를 설명 할 수 있습니까? XML::LibXML?cpan이 XML :: LibXML을 설치할 수없는 이유는 무엇입니까?

> cpan PAJAS/XML-LibXML-1.70.tar.gz 
... 
C:/CPANTE~1/PERL51~1.0_6/site/bin/gcc.exe -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields -O2 -DVERSION=\"1.70\" -DXS_VERSION=\"1.70\" "-IC:\CPANTesters\Perl5.16.0_64\lib\CORE" -DHAVE_UTF8 -DHAVE_BLANK LibXML.c 
LibXML.xs:34:31: fatal error: libxml/xmlversion.h: No such file or directory 

> IF EXIST %INCLUDE%\libxml\xmlversion.h ECHO Cogito ergo sum 
Cogito ergo sum 

이것은 MinGW64가있는 ActiveState 5.16.0 64 비트입니다.

Zlatkovic Win32 바이너리 ftp://ftp.zlatkovic.com/pub/libxml/을 사용하여 삭제하고 http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/에서 사용할 수있는 64 비트 바이너리를 사용합니다.

문제

위의 압축을 푼 모듈로 이동하여 해결이 명령을 실행한다 :

> perl Makefile.PL INC=-IC:\CPANTesters\bin\gnome-deps-win64\include LIBS=-LC:\CPANTesters\bin\gnome-deps-win64\lib 
> dmake 

을하지만 펄이 모든 테스트 파일에 충돌하기 때문에 문제는 dmake 테스트를 실행에서 발생한다.

C:\CPANTesters\Perl5.16.0_64\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t 
t/01basic.t ......................... Dubious, test returned 38 (wstat 9728, 0x2600) 
Failed 3/3 subtests 

어떻게 디버깅 할 수 있습니까?

+0

'-I % INCLUDE %'를 GCC에 전달해야합니까? –

답변

3

XML-LibXMLlibxml2에 대한 Perl 바인딩이지만 libxml2 사본 (이 중 libxml/xmlversion.h은 일부 임)은 포함되어 있지 않습니다. 이를 별도로 설치해야 Perl과 gcc을 찾을 수 있습니다. INCLUDEenvironment variable used by gcc이 아닙니다. CPATH 또는 C_INCLUDE_PATH을 사용합니다.

저는 instructions for installing XML-LibXML from source on Microsoft Windows에 기고했습니다. 그들을 따라 가려고 했니?

Windows에서 XML-LibXML을 가져 오는 가장 쉬운 방법은 Strawberry Perl을 설치하는 것입니다. 패키지에는 XML-LibXML이 함께 제공됩니다.

+0

C_INCLUDE_PATH를 사용해 보았는데 오류 메시지가 사라졌지만 다른 문제가 발생했습니다. 제목이 "왜 cpan이 XML :: LibXML을 설치할 수 없습니까?"로 변경 되었기 때문에 전체 실험을 완전히 반영하도록 기사를 확장 해 보겠습니다. – nyet