Craig Berry wrote:
!That's basically the whole Perl API, or all of it that DBD::MySQL
!appears to make use of. Is the logical name PERLSHR defined? Are
!you quite sure you've resolved all problems upstream from the link
!failure? Since the link is one of the last things that happens,
!something going wrong in a previous step could well be the root issue.
!
!If you switched where PERL_ROOT points to in mid-stream, be sure to
!make the REALCLEAN target and rerun the Makefile.PL.
!
!Are you using Jean-Fran�ois Pi�ronne's new MySQL port? I'd be
!interested to hear how you fare with it as I haven't heard of
!DBD::MySQL being used on VMS before.
We got DBI and DBD::mysql to build against an installed
PERL_ROOT of perl 5.8.1 candidate "MAINT19040" but it
was not easy. The MakeMaker that ships with that version
of Perl (6.03) does not provide an install target that copies the
*.exe sharable images and other ARCH files into the proper
location in the PERL_ROOT. Hence after running:
perl Makefile.PL
mmk
mmk test
mmk install
we then had to run by hand:
copy/log [.BLIB.ARCH.AUTO.DBI]*.*
perl_root:[lib.site_perl.VMS_AXP.auto.DBI]
This brokenness was noted for any CPAN kit that had
*.c or *.xs files (extensions as opposed to just
perl modules).
In order to build DBD::mysql we had to come up with a
script that could be called "mysql_config" from a
perl pipe. Hence we wrote a DCL script that looked
a bit like this (although it may not be correct):
$ if p1 .eqs. "--CFLAGS" then write sys$output "MYSQL_ROOT:[INCLUDE]"
$ if p1 .eqs. "--LIBS" then write sys$output "
mysql_root:[vms.mysql]mysqlclient.olb/library "
$ if p1 .eqs. "--SOCKET" then write sys$output "linuxbox02.factset.com"
$ if p1 .eqs. "--VERSION" then write sys$output "4.0.12"
and had a foreign symbl:
$ mysql_config :== @mysql_root:[scripts]mysql_config
before we ran the "perl Makefile.PL" step for DBD::mysql.
We nevertheless found a problem with the generated CCFLAGS in the
DESCRIP.MMS (the /INCLUDE qualifier was mis-specified in a list of
directories to find the mysql *.h files) and we had to hand edit the linker
MYSQL.OPT file in order to add the line:
mysql_root:[vms.mysql]mysqlclient.olb/library
But after that the "mmk test" went 100% OK when running the
test against a test db setup on a Linux mysql server.
In order to install it we not only had to run "mmk install" but also:
copy/log [.BLIB.ARCH.AUTO.DBD.mysql]*.*
perl_root:[lib.site_perl.VMS_AXP.auto.DBD.mysql]
We have since written scripts that query the MySQL database
on the linux server and had no trouble. We have not had
any time to test a DBD::mysql perl script against a
MySQL server running in VMS, but we have no reason to
suspect that there'd be any trouble with that.
Peter Prymmer