Subject: | MODULE object version 1.YYY does not match $MODULE::VERSION 1.XXX at /usr/lib/perl/5.10/DynaLoader.pm |
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