简体   繁体   English

Perl脚本错误:无法为模块DBI加载

[英]Perl scripting error : Can't load for module DBI

Any idea why I'm getting this error? 知道为什么我会收到此错误吗? Is it that I'm not able to run 32 bit Perl on 64 bit installed version? 是否无法在64位安装版本上运行32位Perl?

[eambtchd@nykdsr000000900:~/stage4/nyfeamld/EAMBatch/apps/default_ol/loader/bin$> perl rmOldRecord.pl Can't load '/home/eambtchd/stage4/nyfeamld/EAMBatch/site_perl/5.8.0/i686-linux-thread-multi/auto/DBI/DBI.so' for module DBI: /home/eambtchd/stage4/nyfeamld/EAMBatch/site_perl/5.8.0/i686-linux-thread-multi/auto/DBI/DBI.so: wrong ELF class: ELFCLASS32 at /home/eambtchd/utils/perl-5.8.0/lib/5.8.0/i686-linux-thread-multi/DynaLoader.pm line 229. at /home/eambtchd/stage4/nyfeamld/EAMBatch/site_perl/5.8.0/i686-linux-thread-multi/DBI.pm line 254 BEGIN failed--compilation aborted at /home/eambtchd/stage4/nyfeamld/EAMBatch/site_perl/5.8.0/i686-linux-thread-multi/DBI.pm line 254. Compilation failed in require at rmOldRecord.pl line 6. BEGIN failed--compilation aborted at rmOldRecord.pl line 6. [eambtchd @ nykdsr000000900:〜/ stage4 / nyfeamld / EAMBatch / apps / default_ol / loader / bin $> perl rmOldRecord.pl无法加载'/home/eambtchd/stage4/nyfeamld/EAMBatch/site_perl/5.8.0/i686-适用于模块DBI的linux-thread-multi / auto / DBI / DBI.so':/ home / eambtchd / stage4 / nyfeamld / EAMBatch / site_perl / 5.8.0 / i686-linux-thread-multi / auto / DBI / DBI.so :错误的ELF类:位于/home/eambtchd/utils/perl-5.8.0/lib/5.8.0/i686-linux-thread-multi/DynaLoader.pm第229行的ELFCLASS32。位于/ home / eambtchd / stage4 / nyfeamld / EAMBatch / site_perl / 5.8.0 / i686-linux-thread-multi / DBI.pm第254行开始失败-编译在/home/eambtchd/stage4/nyfeamld/EAMBatch/site_perl/5.8.0/i686-linux-thread中止-multi / DBI.pm第254行。编译失败,要求在rmOldRecord.pl第6行。BEGIN失败-编译在rmOldRecord.pl第6行中止。

You're trying to load an install of DBI that was compiled/installed with a different and incompatible build of Perl. 您正在尝试加载使用不同的不兼容的Perl版本编译/安装的DBI安装。

The directory structure is organised to explicitly avoid this problem! 目录结构的组织是为了明确避免此问题! Note the name i686-linux-thread-multi ? 注意名称i686-linux-thread-multi吗? That's not the arch of the Perl you're using, so it should NEVER look in there. 那不是您正在使用的Perl的拱门,所以它永远都不要放在那儿。 Whatever you did to make it look there is very wrong. 无论您做什么使它看起来很错都是错的。

Undo that, then install DBI if necessary. 撤消该操作,然后在必要时安装DBI。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM