I saw an article by Vadim in this forum that I cannot find where he mentioned that recompiling xtrabackup for MySQL 4.1 should be as easy as adapting and applying the 5.0 patch, so I tried it.
Applying the patch manually finding all the right spots in 4.1’s source code was tedious, but easy. Unfortunately I’m not enough versed to post the new patch.
However when I tried to recompile, xtrabackup.c showed dependencies on a number of definitions in the 5.0 headers that weren’t there in the 4.1 ones. I started looking into it, but it started to take too much time and I wasn’t sure of the outcome.
gerry@maggie:~/src/mysql-4.1.22/innobase/xtrabackup-1.0$ makecc -O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2 -I. -I… -I./…/include -I./…/…/include -DUNIV_LINUX -DMYSQL_SERVER -c xtrabackup.cxtrabackup.c:43:20: error: trx0xa.h: No such file or directoryxtrabackup.c:83: error: expected specifier-qualifier-list before ???fil_node_t???xtrabackup.c:85: error: expected specifier-qualifier-list before ???fil_node_t???[…]
- The first error is due to the fact that there is no XA support in 4.1, so it should be safe to remove it.
- The file_node_t typedef is not there, but the structure to which it maps is present in xtrabackup.c, adding the missing “typedef” should be OK.
It would be great if you could create the new patch file and the needed modifications to xtrabackup.c (maybe with a 4.1 #ifdef?)