Mon Jul 27 11:31:06 2009: Request 48240 was acted upon.
Transaction: Correspondence added by wfelipe
       Queue: PAR
     Subject: MODULE object version 1.YYY does not match $MODULE::VERSION 1.XXX 
at /usr/lib/perl/5.10/DynaLoader.pm
   Broken in: 0.994
    Severity: Important
       Owner: Nobody
  Requestors: wfel...@gmail.com
      Status: new
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=48240 >


On Mon Jul 27 10:33:43 2009, wfelipe wrote:
> I'm using Catalyst Framework to generate the PAR package, and I tried to
> find in other forums, but I couldn't find a final solution.
> 
> I'm generating the package with the core modules and all additional
> modules that I need, including DBI.pm (my first problem). Once the
> package is generated, it's copied to another system (the same perl and
> operating system version), which also has a DBI.pm, but an older version.
> 
> When I run the par package, it stops ate the following error:
> ===============
> Couldn't instantiate component "MyApp::Model::MyApp",
> "DBIx::Class::Schema::connection(): No arguments to load_classes and
> couldn't load DBIx::Class::Storage::DBI (DBI object version 1.605 does
> not match $DBI::VERSION 1.607 at /usr/lib/perl/5.10/DynaLoader.pm line
219.
> BEGIN failed--compilation aborted at DBI.pm line 263.
> Compilation failed in require at DBIx/Class/Storage/DBI.pm line 8.
> BEGIN failed--compilation aborted at DBIx/Class/Storage/DBI.pm line 8.
> ) at Catalyst/Model/DBIC/Schema.pm line 318" at
> ./script/kickstart_server.pl line 58
> ===============
> 
> My guess is that it loads the DBI.pm from the par package, but it
> prioritize the DBI.so installed in the system, which is an older
> version. In the par package there are some .so libraries, and one of
> them was the DBI.so installed in the system which the package was
generated.
> 
> some useful information:
> - Operating System: Debian Lenny 5.0.2
> - perl -v: This is perl, v5.10.0 built for x86_64-linux-gnu-thread-multi
> 
> if you need any information, feel free to ask me

another information which may be the behavior that I saw above: in the
par package, the *.so files are at lib/auto/<PATH>/MODULE.so, but when I
run the application, it's uncompressed at
/tmp/par-USER/cache-hash/hash.so, and the DynaLoader loads based on the
module name, which overload the original one.

Reply via email to