Hi Dean,
I had exactly the same problem this evening trying to upgrade DBD::mysql after upgrading to the newer mysql server 4.1.9 on my RedHat Linux 9 machine.
In a nutshell, to solve the problem you need to make sure that you get hold of the mysql_config file. It is located in the MySQL-devel-4.1.9-0.rpm.
http://rpmfind.net/linux/rpm2html/search.php?query=mysql-devel&submit=Search+...&system=&arch=
I gather you installed mysql via rpm's by virtue of your statement: "It appears that there are no source file for this version of mysql". If so, then check which mysql packages you have installed via rpm:
]# rpm -qa | grep My
MySQL-devel-4.1.9-0 <== If this is missing then download and install it
MySQL-client-4.1.9-0
MySQL-shared-compat-4.1.9-0
MySQL-server-4.1.9-0
Once you've installed the development package, your makefile should build without a problem. Then run make. This is where I had another hassle: the Makefile that gets generated has an invalid OPTIMIZE flag for my server. I get the error:
cc1: invalid option `tune=pentium4'
To fix this I simply edited the following line in my generated Makefile (note the generated Makefile and not the Makefile.PL):
Change this line from:
OPTIMIZE = -O2 -g -pipe -m32 -march=i386 -mtune=pentium4
to
OPTIMIZE = -O2 -g -pipe -m32 -march=i386
Then run:
]# make
Then run:
]# make test
You may find this fails unless you grant access to the user configured in the test scripts, but it's not the end of the world. (I usually ignore these fails as I'm not about to edit test scripts and leave my usernames and passwords lying around, because chances are you'll run into more problems, end up doing some more googling, read some more posts and eventually forget that you edited the files in the first place!)
Then run:
]# make install
... and voila... your DBD::mysql installation should be complete.
Regards
Charles