环境:aarch64/centos7.6  glibc-2.17

编译器:gcc version 5.5.0 (GCC)

官方参考文档:https://www.percona.com/doc/percona-xtrabackup/2.4/installation/compiling_xtrabackup.html

安装依赖

  • yum install -y cmake gcc gcc-c++ libaio libaio-devel automake autoconf  bison libtool ncurses-devel libgcrypt-devel libev-devel libcurl-devel vim-common
  • boost-1.59.0.tar.gz放置到/home/actiontech/src/boost_1_59_0/,不需要解压

解压源码包

源码下载地址:https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.5/source/tarball/percona-xtrabackup-2.4.5.tar.gz

下载到/usr/src并解压

开始编译

  1. 在源码目录下新建编译目录/usr/src/percona-xtrabackup-2.4.5/build
  2. cd /usr/src/percona-xtrabackup-2.4.5/build
  3. 执行“CC=/usr/local/gcc-5.5/bin/gcc CXX=/usr/local/gcc-5.5/bin/g++ cmake .. -DWITH_BOOST=/home/actiontech/src/boost_1_59_0 -DCMAKE_INSTALL_PREFIX=/opt/percona-xtrabackup-2.4.5 -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFF
      • 如果没有boost源码包,可使用参数-DDOWNLOAD_BOOST=1自动下载,-DWITH_BOOST指定boost源码保存的目录
      • cmake过程如果发生错误,重新cmake前需要删除编译目录下的CMakeCache.txt文件
    1. cmake成功,编译目录下生成Makefile

  4. make -j4 && make install
    编译成功的xtrabackup被安装在/opt/percona-xtrabackup-2.4.5

踩坑记录

报错:

原因:当时使用了gcc7.3.1编译触发了xtrabackup的bug:  https://jira.percona.com/browse/PXB-502axs

解决方案:

  1. 使用xtrabackup2.4.9,因为该bug在2.4.9修复
  2. 使用低版本的gcc5.5.0

[转帖]arm linux下编译xtrabackup-2.4.5的更多相关文章

  1. arm linux下编译库System.Net.Primitives.dll和System.Xml.XmlSerializer.dll

    1.环境: /home/jello # uname -aLinux  3.10.0 #2 SMP Mon Mar 6 17:52:09 CST 2017 armv7l GNU/Linux 2.获取mo ...

  2. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

  3. Linux下编译Qt源码,一定要下载tar.gz版本,否则会报权限不足

    首先下载qt-everywhere-opensource-src-4.8.1源码,下载地址: ftp://ftp.qt-project.org/qt/source/ 在Linux下编译一定要下载qt- ...

  4. Linux下编译安装qemu和libvirt【转】

    转自:http://www.cnblogs.com/findumars/p/5679742.html 目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 ...

  5. 移植ARM linux下远程连接工具dropbear

    移植ARM linux下远程连接工具dropbear 原文地址:http://www.cnblogs.com/NickQ/p/9010529.html 移植zlib 下载地址:https://gith ...

  6. linux下编译gcc6.2.0

    linux下编译gcc6.2.0 在archlinx的下gcc已经更新到6.2.1了,win10的WSL下还是gcc4.8.官方源没有比较新的版本,于是自己编译使用. GCC6的几个新特性 GCC 6 ...

  7. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  8. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

  9. linux下编译出现空间不足解决办法

    linux下编译出现空间不足解决办法 编译内核出现问题: AS      .tmp_kallsyms1.o .tmp_kallsyms1.S:2: fatal error: when writing ...

  10. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

随机推荐

  1. C# 添加OLE到PPT幻灯片

    本文介绍通过C#程序代码来添加OLE对象到PPT幻灯片的方法.这里以将Excel文档为对象插入到PPT幻灯片中的指定位置:添加时,将Excel中的单元格范围保存为图片,将图片以嵌入的方式添加到幻灯片, ...

  2. CG行业云渲染服务的演进之路

    摘要:影视动画.特效制作等行业渲染需求量增多,4K/6K以及各高分辨率会陆续成为主流,本地算力与存储资源已无法满足现有任务量.而随着大环境的演变,CG行业发展已进入发展快车道.来自赞奇科技的CEO金伟 ...

  3. 重磅!KubeEdge单集群突破10万边缘节点|云原生边缘计算峰会前瞻

    摘要:<KubeEdge单集群突破10万边缘节点 | 技术报告>将会在6月25日即将开展的云原生边缘计算峰会(KubeEdge Summit 2022)中进行应用解析.我们先来一睹为快吧! ...

  4. 摆平各类目标检测识别AI应用,有它就够了!

    摘要:在计算机视觉领域,CANN最新开源的通用目标检测与识别样例,通过其强大的可定制.可扩展性,为AI开发者们提供了良好编程选择. 本文分享自华为云社区<摆平各类目标检测识别AI应用,有它就够了 ...

  5. 为了减少代码复杂度,我将if-else升级为面向状态编程

    摘要:面向过程设计和面向对象设计的主要区别是:是否在业务逻辑层使用冗长的if else判断. 本文分享自华为云社区<从面向if-else编程升级为面向状态编程,减少代码复杂度>,作者:br ...

  6. 如何配置Apple推送证书 push证书

    ​ 转载:如何配置Apple推送证书 push证书 想要制作push证书,就需要使用快捷工具appuploader工具制 作证书,然后使用Apple的推送功能配置push证书,就可以得到了.PS:pu ...

  7. HanLP — HMM隐马尔可夫模型 -- 预测

    https://www.bilibili.com/video/BV1aP4y147gA?p=8

  8. CompletableFuture 使用

    Future的局限性,它没法直接对多个任务进行链式.组合等处理,而CompletableFuture是对Future的扩展和增强.CompletableFuture实现了Future接口,并在此基础上 ...

  9. jdk1.8: Consumer函数

    场景: 当我们在a方法中,需要把某些参数赋值给一个Integer类型的对象,而该对象只有在b方法才能赋值,那么我们可以在a方法中使用consumer记录我们要执行的操作,再把consumer作为参数传 ...

  10. 1、springboot工程新建(单模块)

    系列导航 springBoot项目打jar包 1.springboot工程新建(单模块) 2.springboot创建多模块工程 3.springboot连接数据库 4.SpringBoot连接数据库 ...