1

I installed OTRS from a rpm and the web installer /orts/installer.pl stops with:

Error during AJAX communication. Status: error, Error: Internal Server Error

Apache error_log

install_driver(mysql) failed: Unable to get DBI state function. DBI not loaded.

/opt/otrs/bin/otrs.CheckModules.pl

DBD::mysql.......................FAILED! Not all prerequisites for this module correctly installed. YAML::XS.........................Not installed! (required - use "perl -MCPAN -e shell;" - )

But sudo zypper install perl-DBD-mysql-4.021-27.2.x86_64.rpm has Nothing to do. and mysql configuration is set as the manual requested.

System is SLES 11 SP2 (x86_64) and special thing: No internet connection!

I guess the question is: Why doesn't perl find DBI:mysql while it's installed?

Update

list_the_installed_modules

/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Bundle/DBI.pm /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Bundle/DBD/mysql.pm /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/DBD/mysql.pm /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/DBD/mysql/GetInfo.pm

Could I have installed the wrong rpm?

PiTheNumber
  • 315
  • 2
  • 5
  • 18

2 Answers2

0

This error message does mean that perl can't find the DBD::mysql module. So if the rpm package is installed, this leads me to think that you might not be using the system perl.

Can you show us:

which perl

and also:

/usr/bin/perl /opt/otrs/bin/otrs.CheckModules.pl

In general it is not a good idea to install your own perl on top of the existing system perl. This can break other installed packages that expect a certain perl version.

If you want to use different perls on your system, use tools like plenv or perlbrew

Also, OTRS typically works with the system perl on SLES 11.

MichielB
  • 591
  • 2
  • 6
  • Thank you. There is only on perl installed and using `/usr/bin/perl` tells me the same. I have another SLES 11 SP2 (x86_64) running otrs. I am just trying to move it to another server. – PiTheNumber Oct 01 '13 at 08:58
  • So could it be that DBI is not listed as a prerequisite correctly? Can you do `zypper install "perl(DBI)"`? – MichielB Oct 01 '13 at 10:12
  • `'perl-DBI' providing 'perl(DBI)' is already installed.` – PiTheNumber Oct 01 '13 at 10:52
0

turns out perl-DBD-mysql-4.021-27.2.x86_64.rpm was to new for my perl version. I had a look at the package list for SLES 11 PS2 (x86_64) and learnt it should be perl-DBD-mysql-4.008-4.3.x86_64.rpm. So I removed the installed one:

sudo zypper remove perl-DBD-mysql

Googled and installed perl-DBD-mysql-4.008-4.3.x86_64.rpm

Now it works!

PiTheNumber
  • 315
  • 2
  • 5
  • 18
  • Great, so where did you get the other one in the first place? You should not install RPMs off Google - that is kind of scar - you should use the SLES repos or the build service (and then some trusted repo) instead. DBD::mysql IS in the main SLES repositories. – MichielB Oct 01 '13 at 13:12
  • @Mike yes, it is scary. Found it on http://rpm.pbone.net/ – PiTheNumber Oct 01 '13 at 14:57