xtrabackup with MySQL 4.1

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.

Example:

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?)

Cheers,
GN

I’ve asked the head of our dev team to take a look at your message.

Gerry, I apologize for the late response. I lost track of this thread. I talked with Peter and Vadim, and we decided that we are not comfortable making xtrabackup officially supported for 4.1 because the effort is too high relative to usage, and the chance for bugs is too high also. That said, I think it would be great if you’d attach a patch file that other users could start from if they need to build xtrabackup for 4.1 themselves.