Perl Installation Comments
==========================
Installing Perl on Unix
-----------------------
Perl support for MySQL is provided by means of the `DBI'/`DBD' client
interface. *Note Perl::. The Perl `DBD'/`DBI' client code requires
Perl Version 5.004 or later. The interface *will not work* if you have
an older version of Perl.
MySQL Perl support also requires that you've installed MySQL client
programming support. If you installed MySQL from RPM files, client
programs are in the client RPM, but client programming support is in
the developer RPM. Make sure you've installed the latter RPM.
As of Version 3.22.8, Perl support is distributed separately from the
main MySQL distribution. If you want to install Perl support, the files
you will need can be obtained from
`http://www.mysql.com/downloads/api-dbi.html'.
The Perl distributions are provided as compressed `tar' archives and
have names like `MODULE-VERSION.tar.gz', where `MODULE' is the module
name and `VERSION' is the version number. You should get the
`Data-Dumper', `DBI', and `DBD-mysql' distributions and install them in
that order. The installation procedure is shown here. The example
shown is for the `Data-Dumper' module, but the procedure is the same
for all three distributions:
1. Unpack the distribution into the current directory:
shell> gunzip < Data-Dumper-VERSION.tar.gz | tar xvf -
This command creates a directory named `Data-Dumper-VERSION'.
2. Change into the top-level directory of the unpacked distribution:
shell> cd Data-Dumper-VERSION
3. Build the distribution and compile everything:
shell> perl Makefile.PL
shell> make
shell> make test
shell> make install
The `make test' command is important because it verifies that the
module is working. Note that when you run that command during the
`DBD-mysql' installation to exercise the interface code, the MySQL
server must be running or the test will fail.
It is a good idea to rebuild and reinstall the `DBD-mysql' distribution
whenever you install a new release of MySQL, particularly if you notice
symptoms such as all your `DBI' scripts dumping core after you upgrade
MySQL.
If you don't have the right to install Perl modules in the system
directory or if you to install local Perl modules, the following
reference may help you:
`http://www.iserver.com/support/contrib/perl5/modules.html'
Look under the heading `Installing New Modules that Require Locally
Installed Modules'.
Installing ActiveState Perl on Windows
--------------------------------------
To install the MySQL `DBD' module with ActiveState Perl on Windows, you
should do the following:
* Get ActiveState Perl from
`http://www.activestate.com/Products/ActivePerl/' and install it.
* Open a DOS shell.
* If required, set the HTTP_proxy variable. For example, you might
try:
set HTTP_proxy=my.proxy.com:3128
* Start the PPM program:
C:\> c:\perl\bin\ppm.pl
* If you have not already done so, install `DBI':
ppm> install DBI
* If this succeeds, run the following command:
install \
ftp://ftp.de.uu.net/pub/CPAN/authors/id/JWIED/DBD-mysql-1.2212.x86.ppd
The above should work at least with ActiveState Perl Version 5.6.
If you can't get the above to work, you should instead install the
`MyODBC' driver and connect to MySQL server through ODBC:
use DBI;
$dbh= DBI->connect("DBI:ODBC:$dsn","$user","$password") ||
die "Got error $DBI::errstr when connecting to $dsn\n";
Problems Using the Perl `DBI'/`DBD' Interface
---------------------------------------------
If Perl reports that it can't find the `../mysql/mysql.so' module, then
the problem is probably that Perl can't locate the shared library
`libmysqlclient.so'.
You can fix this by any 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').
* 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.
If you get the following errors from `DBD-mysql', you are probably
using `gcc' (or using an old binary compiled with `gcc'):
/usr/bin/perl: can't resolve symbol '__moddi3'
/usr/bin/perl: can't resolve symbol '__divdi3'
specify the pathname of the directory where `libgcc.a' is located on
your system.
Another cause of this problem may be that Perl and MySQL aren't both
compiled with `gcc'. In this case, you can solve the mismatch by
compiling both with `gcc'.
If you get the following error from `DBD-mysql' when you run the tests:
at /usr/lib/perl5/5.00503/i586-linux/DynaLoader.pm line 169.
it means that you need to include the compression library, -lz, to the
link line. This can be doing the following change in the file
`lib/DBD/mysql/Install.pm':
$sysliblist .= " -lm";
to
$sysliblist .= " -lm -lz";
After this, you *must* run 'make realclean' and then proceed with the
installation from the beginning.
you
generate a version of Perl with the `DBI' code linked in and install it
on top of your current Perl. Then you use that to build a version of
Perl that additionally has the `DBD' code linked in, and install that.
On SCO, you must have the following environment variables set:
shell> LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/progressive/lib
or
shell> LD_LIBRARY_PATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:\
/usr/progressive/lib:/usr/skunk/lib
shell> LIBPATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:\
/usr/progressive/lib:/usr/skunk/lib
shell> MANPATH=scohelp:/usr/man:/usr/local1/man:/usr/local/man:\
/usr/skunk/man:
First, create a Perl that includes a statically linked `DBI' by running
these commands in the directory where your `DBI' distribution is
located:
shell> perl Makefile.PL -static -config
shell> make
shell> make install
shell> make perl
MAP_TARGET=perl'.
shell> perl Makefile.PL -static -config
shell> make
shell> make install
shell> make perl
Finally, you should install this new Perl. Again, the output of `make
perl' indicates the command to use.
[Назад] [Содержание] [Вперед]
| Главная |