Documentation Home
MySQL 5.7 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 35.1Mb
PDF (A4) - 35.2Mb
Man Pages (TGZ) - 256.4Kb
Man Pages (Zip) - 361.2Kb
Info (Gzip) - 3.4Mb
Info (Zip) - 3.4Mb
Excerpts from this Manual

MySQL 5.7 Reference Manual  / ...  / Installing and Upgrading MySQL  / Perl Installation Notes  /  Problems Using the Perl DBI/DBD Interface

2.12.3 Problems Using the Perl DBI/DBD Interface

If Perl reports that it cannot find the../mysql/mysql.so module, the problem is probably that Perl cannot locate thelibmysqlclient.so shared library. You should be able to fix this problem by one of the following methods:

  • Copylibmysqlclient.so to the directory where your other shared libraries are located (probably/usr/lib or/lib).

  • Modify the-L options used to compileDBD::mysql to reflect the actual location oflibmysqlclient.so.

  • On Linux, you can add the path name of the directory wherelibmysqlclient.so is located to the/etc/ld.so.conf file.

  • Add the path name of the directory wherelibmysqlclient.so is located to theLD_RUN_PATH environment variable. Some systems useLD_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 findlibc 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.

If you get the following errors fromDBD::mysql, you are probably usinggcc (or using an old binary compiled withgcc):

/usr/bin/perl: can't resolve symbol '__moddi3'/usr/bin/perl: can't resolve symbol '__divdi3'

Add-L/usr/lib/gcc-lib/... -lgcc to the link command when themysql.so library gets built (check the output frommake formysql.so when you compile the Perl client). The-L option should specify the path name of the directory wherelibgcc.a is located on your system.

Another cause of this problem may be that Perl and MySQL are not both compiled withgcc. In this case, you can solve the mismatch by compiling both withgcc.