centos8.3.2011用qemu虚拟机安装aarch64架构的centos7
centos7.9.2009编译安装xtrabackup2.4.22
按照上面的教程,安装好arm指令模拟环境后,按照上面的x86_64编译方式编译,如果make报错
/root/xtrabackup-2.4.22/sql/mysqld.cc: In function ‘passwd* check_user(const char*)’:
/root/xtrabackup-2.4.22/sql/mysqld.cc:1564:12: error: ‘prctl’ was not declared in this scope
(void) prctl(PR_SET_DUMPABLE, 1);
^~~~~
make[2]: *** [sql/CMakeFiles/sql.dir/mysqld.cc.o] Error 1
make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
make: *** [all] Error 2
尝试下面处理后,直接再次make编译,prctl.h是linux系统的头文件
cp /usr/include/sys/prctl.h /root/xtrabackup-2.4.22/include/
vi /root/xtrabackup-2.4.22/sql/mysqld.cc
#include "mysqld.h"
#include "mysqld_daemon.h"
#include "prctl.h" <---添加这个头文件
#include <vector>
#include <algorithm>
#include <functional>