If you have the DBI module installed, this error is usually caused by binary incompatibilities. Check that all your modules were compiled with the same Perl version that mod_perl was built with. For example, Perl 5.005 and 5.004 are not binary compatible by default.
Other known causes of this problem are:
OS distributions that ship with a broken binary Perl installation.
The perl program and libperl.a library are somehow built with different binary compatibility flags.
The solution to these problems is to rebuild Perl and any extension modules from a fresh source tree. Read Perl's INSTALL document for more details.
On the Solaris OS, if you see the "Can't load DBI" or a similar error for the IO module (or whatever dynamic module mod_perl tries to pull in first), you need to reconfigure, rebuild, and reinstall Perl and any dynamic modules. When Configure asks for "additional LD flags," add the following flags: