If Perl reports that it cannot find the ../mysql/mysql.so module, the problem is probably that Perl cannot locate the libmysqlclient.so shared library. You should be able to fix this problem by one of the following methods: Compile the DBD::mysql distribution with perl Makefile.PL -static -config rather than perl Makefile.PL. Copy libmysqlclient.so to the directory where your other shared libraries are located (probably /usr/lib or /lib). Modify the -L options used to compile DBD::mysql to reflect the actual location of libmysqlclient.so. On Linux, you can add the pathname of the directory where libmysqlclient.so is located to the /etc/ld.so.conf file. Add the pathname of the directory where libmysqlclient.so is located to the LD_RUN_PATH environment variable. Some systems use LD_LIBRARY_PATH instead. Note that you may also need to modify the -L options if there are other libraries that the linker fails to find. For example, if the linker cannot find libc because it is in /lib and the link command specifies -L/usr/lib, change the -L option to -L/lib or add -L/lib to the existing link command.