2012-05-29 2 views
1
c:\>perl -de 1 

Loading DB routines from perl5db.pl version 1.32 
Editor support available. 

Enter h or `h h' for help, or `man perldebug' for more help. 

main::(-e:1): 1 
    DB<1> require XML::Parser::Expat 
Can't load '/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dll' for module XML::Parser::Expat: No such file or directory at /usr/lib 
/perl5/5.10/i686-cygwin/DynaLoader.pm line 200. 
at (eval 5)[/usr/lib/perl5/5.10/perl5db.pl:638] line 2 
Compilation failed in require at (eval 5)[/usr/lib/perl5/5.10/perl5db.pl:638] line 2. 

    DB<2> q 

c:\> 

누구든지이 문제가 발생 했습니까? 그것을 고치는 방법? 내 cygwin은 C:\cygwincygwin perl 오류가 expat.dll을로드 할 수 없습니다.

디렉토리가 없지만 C:\cygwin\lib입니다. bash을 열어 cd /usr/lib을 시도하면 (놀라 울 정도로) 성공하고 ls 이후에 내용이 디렉토리 C:\cygwin\lib과 동일하게 보입니다.

즉, C:\cygwin\lib\perl5\vendor_perl\5.10\i686-cygwin\auto\XML\Parser\Expat 디렉토리에는 이라는 파일이 있습니다.

cygwin에서이 파일을 찾을 수 없다고하지만 그 다음에 어떻게 찾을 수 있습니까? /usr/lib/perl5/5.10/i686-cygwin/DynaLoader.pm?

chmod +x을 시도했지만 해결되지 않았습니다.

어떤 도움말이 필요합니까?

명령 행에 perl -MXML::Parser::Expat -e1을하고는 반환

c:\dev\trunk\src>perl -MXML::Parser::Expat -e1 
Can't load '/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dll' for module XML::Parser::Expat: No such file or directory at /usr/lib 
/perl5/5.10/i686-cygwin/DynaLoader.pm line 200. 
at -e line 0 
Compilation failed in require. 
BEGIN failed--compilation aborted. 

편집이 : 나는 (직접적으로 cmd를) Cygwin에서의 bash 환경에서 동일한 작업을 수행 할 때 또한 가, 오류가 없다!

+0

Cygwin 쉘에서'perl -MXML :: Parser :: Expat -e1'을 시도하십시오. 또한,'cmd.exe' 명령 행에서'perl'을 말할 때, 그것은 어느 것입니까? – Lumi

+0

@ 루미 : cygwin 펄입니다. – prongs

답변

0

먼저 cygwin bash 쉘에 들어가서 원하는대로 다하면이 오류가 발생하지 않습니다. 그래서 나는 bat 스크립트의 모든 perl 명령을 쉘 스크립트로 옮기고 bash으로 호출 할 것을 제안합니다.

관련 문제