• yum相关命令报错
    有遇到类似错误的吗?
  • [Atlas500] atlas500下yum源推荐
    如题,依据https://bbs.huaweicloud.com/forum/thread-36021-1-1.html这篇帖子,在atlas500中安装了yum后, 帖子中配置的yum源无效,有什么可用的源推荐吗?3Q~
  • [基础服务] 鲲鹏arm架构服务器上关于yum安装
    linux服务器的X86_64架构 能使用yum安装很多东西,简单快捷。但我鲲鹏arm架构服务器使用yum安装会出错,可能是我操作不对,或者arm架构没有yum这种软件包管理器。向各位老师,求教下,鲲鹏arm架构有没有类似yum这种Shell前端软件包管理器可以使用的? 或者有操作 yum 的文档可以参考?
  • [问题求助] docker-ce源中yum无法安装docker-ce-19.03.3以上的版本
    如题。需要更新yum仓库的元数据。
  • [交流吐槽] MySQL 添加yum/apt仓库支持
    目前mysql的镜像只同步了download目录,没有同步yum和apt目录: https://repo.mysql.com/mysql的官方仓库地址是有yum和apt支持的,希望考虑同步yum和apt目录
  • Kunpeng平台hue 4.1.0版本移植安装指南
    1  HUE简介    Hue是一个开源的Apache Hadoop UI系统,早期由Cloudera开发,后来贡献给开源社区。它是基于Python Web框架Django实现的。通过使用Hue可以通过浏览器方式操纵Hadoop集群。例如put、get、执行MapReduce Job等等。 2 环境信息2.1 环境信息项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0包含在操作系统镜像中CPU鲲鹏920服务器配置16U16GB40GB3 配置编译环境3.1 配置yum源配置yum源参考《KunPeng平台软件移植 Yum源配置参考》。说明:文档中的Yum源配置包含本地yum源、网络yum、华为yum源三种,本次使用网络yum源,其它方式保留在文档中,按需参考。----结束3.2 安装依赖工具和库        步骤1   安装hue依赖工具和库。sudo yum -y install libffi-devel gcc-c++ ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi  krb5-devel libtidy libxml2-devel libxslt-devel openldap-devel python-devel sqlite-devel openssl-devel mysql-devel gmp-devel maven wget由于网络yum源的问题,没有可用libtidy软件包,可使用如下方法安装libtidy。1) 使用Centos官方默认yum源安装扩展源epel:yum install epel-release2) 重新安装yum install –y libtidy        步骤2   安装logilab-astng。1)    安装pip(注意这里使用扩展源EPEL)2)    pip install logilab-astng----结束 4 安装说明:本文将介绍两种安装方式,请视具体情况选择其中一种安装方式。表 4-1 安装方式说明安装方式安装说明源码编译安装 源码安装,与环境内核无冲突,可定制,但是复杂度高。rpm方式安装rpm包方式,方便简单(当部署环境与本文档环境一致时,推荐使用本方式)。4.1 源码编译安装4.1.1 获取源码步骤 1   下载hue源码。进入“/opt”目录下:cd /optwget https://github.com/cloudera/hue/archive/release-4.1.0.tar.gz说明:如果是新机器需在”/etc/resolv.conf”中添加nameserver,防止找不到域名。步骤 2   解压源码。进入“/opt”目录下:cd /opttar -zxvf release-4.1.0.tar.gz 4.1.2 hue编译步骤 1    make编译。cd /opt/hue-release-4.1.0make apps说明:1)    编译过程需要连接外网下载很多软件包,可能出现某些软件包连接超时导致编译失改,重新编译即可;此编译过程可能耗时较长,请耐心等待;2)    编译过程的警告信息可以忽略,结束后使用echo $?查询编译结果,预期为0。----结束4.2 RPM方式安装说明:rpm包(由于此包较大不适合上传论坛)都是通过开源代码编译打包而成,并验证通过,打包过程参考”6 RPM打包“。步骤 1   复制RPM包至服务器“ /opt”目录。cp hue-4.1.0-1.el7.aarch64.rpm /opt步骤 2   安装RPM包。cd /optyum localinstall hue-4.1.0-1.el7.aarch64.rpm 说明:使用yum localinstall hue-4.1.0-1.el7.aarch64.rpm安装RPM包,可以自动安装依赖;如使用rpm安装,则需要手动安装依赖。----结束 5 运行和验证5.1 验证准备步骤 1   修改Hue的配置文件。cd /usr/local/huecp desktop/conf.dist/hue.ini desktop/conf/步骤 2   添加hue用户。由于Hue启动时候需要在非root用户下,因此需要创建一个用户useradd huepasswd hue步骤 3   更改权限。由于在hue用户下启动时会报logs权限问题,所以需在root用户下生成logs目录。cd /usr/local/huemkdir logscd /usr/localchown hue:hue ./hue/* -f----结束5.2 运行测试步骤 1   切换至hue用户,运行如下命令。su - hue/usr/local/hue/build/env/bin/supervisor出现如下画面表示启动成功。  ----结束6 RPM打包(参考)说明:本段提供了RPM包制作的详细过程,当部署环境与本文档环境不兼容时,可参考此打包过程,自制RPM包,然后再安装到部署环境。6.1 准备RPM 打包环境步骤 1   安装rpmdevtools。yum install rpmdevtools  步骤 2   生成打包目录树。cd ~/rpmdev-setuptree步骤 3   进入目录~/rpmbuild,应有如下文件夹:cd ~/rpmbuild                          步骤 4   拷贝源码至SOURCES目录下。cd release-4.1.0.tar.gz ~/rpmbuild/SOURCES----结束          6.2 编辑SPEC文件步骤 1   生成SPEC文件模板。1.切换目录至~/rpmbuild/SPECS。    cd ~/rpmbuild/SPECS2.生成模板文件hue.spec。    rpmdev-newspec hue步骤 2   修改SPEC文件。修改后的emqx.spec文件内容(亦可见附件hue.spec.zip)。%define __os_install_post %{nil}%define _huepath usr/local/%{name}Name:          hue Version:       4.1.0 Release:       1%{?dist}Summary:       Hue is a mature open source SQL Assistant for querying Databases & Data Warehouses License:       Apache license 2 URL:           https://github.com/cloudera/hue Source0:    release-%{version}.tar.gzPrefix:        /usr/localBuildRequires:       make gcc gcc-c++ %descriptionHue is a mature open source SQL Assistant for querying Databases & Data Warehouses. %prepcd %{prefix}tar -zxvf %{_sourcedir}/release-4.1.0.tar.gzmv hue-release-4.1.0 hue %buildcd %{prefix}/huemake apps sed -i "s#!/usr/local/bin/python#!usr/bin/python#g" ./desktop/core/ext-py/ply-3.9/doc/makedoc.pysed -i "s#!/usr/local/bin/python#!usr/bin/python#g" ./desktop/core/ext-py/ply-3.9/example/yply/yply.pysed -i "s#!/usr/local/bin/python#!usr/bin/python#g" ./tools/ace-editor/demo/kitchen-sink/docs/python.pysed -i "s#!/usr/local/bin/python#!usr/bin/python#g" ./build/env/lib/python2.7/site-packages/setuptools/tests/test_easy_install.pysed -i "s#!/usr/local/bin/python#!usr/bin/python#g" ./build/env/lib/python2.7/site-packages/setuptools/tests/test_easy_install.py %installrm -rf $RPM_BUILD_ROOTmkdir -p $RPM_BUILD_ROOT/%{_huepath}cp -r /%{_huepath}/* $RPM_BUILD_ROOT/%{_huepath} %files%dir %{prefix}/%{name}/%{prefix}/%{name}/* %changelog* Wed Mar 18 2020 guweibo <youremail@xxx.xxx> - 4.1.0-1- Update to 4.1.0----结束6.3 RPM打包步骤 1   rpmlint检查SPEC文件或RPM包。1.安装rpmlint。    yum install rpmlint      2.错误检查。    说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修改。    rpmlint –i hue.spec (由于打包目录需要有一处错误提示,可忽略) 步骤 2   构建RPM。rpmbuild -bb hue.spec 步骤 3   查看生成的RPM包。ls ~/rpmbuild/RPMS/aarch64 步骤 4   RPM包验证。RPM包的验证,可参考”5 运行和验证“。----结束 7 FAQ7.1 RPM打包流程、示例及问题集参考:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html7.2 大数据-Hue参考:https://www.huaweicloud.com/kunpeng/software/hue.html7.3 KunPeng平台软件移植Yum源配置参考参考:https://bbs.huaweicloud.com/forum/thread-47344-1-1.html
  • KunPeng平台 Hyperscan 5.2.1版本RPM安装指南
    1 Hyperscan简介    Hyperscan 是一款来自于 Intel 的高性能正则表达式匹配库。它是以 PCRE 为原型开发,并以 BSD 许可证开源。 2 环境信息2.1 环境信息项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0包含在操作系统镜像中CPU鲲鹏920服务器配置16U16GB40GB  3 配置编译环境3.1 Yum源配置说明:根据依赖或软件来源的不同,以及配置过程的不同,yum源配置分为如下三种:1、本地yum源2、网络yum源3、华为yum源不作任何配置时,则默认使用Centos官方yum源(需要外网权限)。Yum源详细配置,可以参考:《KunPeng平台软件移植Yum源配置参考》,本次使用本地yum源方式。3.2 安装依赖包                    Hyperscan依赖软件要求:          步骤1   安装依赖包。yum install gcc-c++ cmake python 参考计算加速库-hyperscan完成其他依赖安装:https://www.huaweicloud.com/kunpeng/software/hyperscan.html----结束   4 安装说明:本文将介绍两种安装方式,请视具体情况选择其中一种安装方式。表 4-1 安装方式说明安装方式安装说明源码编译安装 源码安装,与环境内核无冲突,可定制,但是复杂度高。rpm方式安装rpm包方式,方便简单(当部署环境与本文档环境一致时,推荐使用本方式)。4.1 源码编译安装参考计算加速库-hyperscan完成源码编译:https://www.huaweicloud.com/kunpeng/software/hyperscan.html4.2 RPM方式安装说明:附件中的rpm都是通过开源代码编译打包而成,并验证通过,打包过程参考”6 RPM打包“。由于hyperscan的RPM包过大,请参考第6章自行打包。步骤 1   复制RPM包至服务器“ /opt”目录并安装。ll /opt步骤 2   安装RPM包。yum localinstall /opt/ hyperscan-5.2.1-1.el7.aarch64.rpm  ----结束5 运行和验证5.1 运行测试步骤 1   跑测试用例。请进入以下目录进行测试:源码方式安装进入:    cd /opt/hyperscan-5.2.1.aarch64/build/binRPM方式安装进入:    cd /usr/local/hyperscan-5.2.1.aarch64/build/bin 执行测试用例命令:./unit-hyperscan ----结束6 RPM打包(参考)说明:本段提供了RPM包制作的详细过程,当部署环境与本文档环境不兼容时,可参考此打包过程,自制RPM包,然后再安装到部署环境。在打包之前请参考3.2章节,完成相关依赖安装。6.1 准备RPM 打包环境步骤 1   安装rpmdevtools。yum install rpmdevtools步骤 2   生成打包目录树。cd ~/rpmdev-setuptree步骤 3   进入目录~/rpmbuild,应有如下文件夹:cd ~/rpmbuild----结束 6.2 编辑SPEC文件 步骤 1   生成SPEC文件模板。1.切换目录至~/rpmbuild/SPECS。cd ~/rpmbuild/SPECS2.生成模板文件hyperscan5.2.1.spec。rpmdev-newspec hyperscan5.2.1.specls  步骤 2   修改SPEC文件。vi hyperscan5.2.1.spec修改后,hyperscan5.2.1.spec文件内容如下:Name:           hyperscanVersion:        5.2.1Release:        1%{?dist}Summary:        Hyperscan is a high-performance multiple regex matching library. License:              BSD URL:            https://www.hyperscan.io/%undefine _disable_source_fetchSource0:    https://github.com/kunpengcompute/hyperscan/archive/v5.2.1.aarch64.tar.gz  BuildRequires: gcc-c++ cmake python sqlite %descriptionHyperscan is a high-performance multiple regex matching library. It follows the regular expression syntax of the commonly-used libpcre library, but is a standalone library with its own C API.Hyperscan uses hybrid automata techniques to allow simultaneous matching of large numbers (up to tens of thousands) of regular expressions and for the matching of regular expressions across streams of data. %prep%setup -c %buildcd %_builddir/hyperscan-5.2.1/mv hyperscan-5.2.1.aarch64 /usr/localcd /usr/local/hyperscan-5.2.1.aarch64ln -s /opt/boost_1_69_0/boost include/boostcp -rf /opt/pcre-8.43 ./pcrecd pcresed -i '77,77s/CMAKE_POLICY(SET CMP0026 OLD)/#CMAKE_POLICY(SET CMP0026 OLD)/g' CMakeLists.txt cd /usr/local/hyperscan-5.2.1.aarch64mkdir -p buildcd buildcmake ..make -j16 mkdir -p %_buildrootdir/hyperscan-5.2.1-1.el7.aarch64/usr/localcp -r /usr/local/hyperscan-5.2.1.aarch64 %_buildrootdir/hyperscan-5.2.1-1.el7.aarch64/usr/local %files/usr/local%doc ----结束6.3 RPM打包步骤 1   rpmlint检查SPEC文件或RPM包。1.安装rpmlint。yum install rpmlint 2.错误检查。说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修改。rpmlint –i hyperscan5.2.1.spec 步骤 2   构建SRPM和RPM。rpmbuild -ba hyperscan5.2.1.spec 步骤 3   查看生成的RPM包。ls ~/rpmbuild/RPMS/aarch64步骤 4   RPM包验证。RPM包的验证,可参考”5 运行和验证“。----结束  7 FAQ7.1 RPM打包流程、示例及问题集参考:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html参考:https://www.huaweicloud.com/kunpeng/software/hyperscan.html
  • Kunpeng平台cJSON 1.7.12版本移植安装指南
    1 cJSON简介    cJSON是一个由纯C(ANSI C89)实现的JSON解析器,跨平台性较好。cJSON是采用链表存储的。 2 环境信息2.1 环境信息项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0包含在操作系统镜像中CPU鲲鹏920服务器配置16U16GB40GB  3 配置编译环境3.1 配置yum源配置yum源参考《KunPeng平台软件移植 Yum源配置参考》。说明:文档中的Yum源配置包含本地yum源、网络yum、华为yum源三种,本次使用本地yum源,其它方式保留在文档中,按需参考。----结束3.2 安装cmake和gcc步骤1   安装cmake和gcc。yum install cmake gcc -y ----结束 4 安装说明:本文将介绍两种安装方式,请视具体情况选择其中一种安装方式。表 4-1 安装方式说明安装方式安装说明源码编译安装 源码安装,与环境内核无冲突,可定制,但是复杂度高。rpm方式安装rpm包方式,方便简单(当部署环境与本文档环境一致时,推荐使用本方式)。4.1 源码编译安装4.1.1 获取源码步骤 1   下载cJSON源码。cd /optgit clone https://github.com/DaveGamble/cJSON.git4.1.2 cmake编译步骤 1    新建构建目录build。cd /opt/cJSONmkdir build步骤 2    cmake编译。cd /opt/cJSON/buildcmake ..步骤 2    查看结果是否生成cJSON动态库。cd /opt/cJSON/buildls----结束4.2 RPM方式安装说明:附件中的rpm都是通过开源代码编译打包而成,并验证通过,打包过程参考”6 RPM打包“。步骤 1   复制RPM包至服务器“ /opt”目录。cp cJSON-1.7.12-1.el7.aarch64.rpm /opt步骤 2   安装RPM包。cd /optrpm –ivh cJSON-1.7.12-1.el7.aarch64.rpm 说明:使用yum localinstall cJSON-1.7.12-1.el7.aarch64.rpm安装 RPM包,可以自动安装依赖;如使用rpm安装,则需要手动安装依赖。----结束5 运行和验证5.1 运行测试步骤 1   添加cJSON动态库路径。export LD_LIBRARY_PATH=/usr/local/cJSON/build:$LD_LIBRARY_PATHecho $ LD_LIBRARY_PATH步骤 2   执行cJSON_test测试用例。cd /usr/local/cJSON/build./cJSON_test出现如下画面表示执行成功。步骤 2   执行tests目录下测试用例(有多个用例,可挑选执行)。cd /usr/local/cJSON/build/tests./cjson_add && ./*_tests && ./parse_* && ./print_* && ./readme_examples查看所有执行结果,如无失败,则表示执行成功。----结束6 RPM打包(参考)说明:本段提供了RPM包制作的详细过程,当部署环境与本文档环境不兼容时,可参考此打包过程,自制RPM包,然后再安装到部署环境。6.1 准备RPM 打包环境步骤 1   安装rpmdevtools。yum install rpmdevtools  步骤 2   生成打包目录树。cd ~/rpmdev-setuptree步骤 3   进入目录~/rpmbuild,应有如下文件夹:cd ~/rpmbuild                    说明:由于通过github下载安装,所以SOURCES目录并无压缩包,故直接下载至BUILD目录下,然后进行其他操作。----结束          6.2 编辑SPEC文件步骤 1   生成SPEC文件模板。1.切换目录至~/rpmbuild/SPECS。        cd ~/rpmbuild/SPECS2.生成模板文件cjson.spec。        rpmdev-newspec cjson步骤 2   修改SPEC文件。修改后的cjson.spec文件内容(亦可见附件cjson.spec.zip)。%define _cjsondir $RPM_BUILD_DIR/%{name}-%{version}Name:          cJSONVersion:       1.7.12 Release:       1%{?dist}Summary:       Ultra-lightweight JSON parser in ANSI-CLicense:       MIT URL:           https://github.com/DaveGamble/cJSON  Prefix:        /usr/localBuildRequires:       cmake gcc %descriptionAn ultra-lightweight, portable, single-file, simple-as-can-be ANSI-C compliant JSON parser, under MIT license. %prepif [ -d "/root/rpmbuild/BUILD/cJSON-1.7.12/" ];then    rm -rf /root/rpmbuild/BUILD/cJSON-1.7.12fimkdir -p /root/rpmbuild/BUILD/cJSON-1.7.12git clone https://github.com/DaveGamble/cJSON cJSON-1.7.12 %buildcd $RPM_BUILD_DIR/cJSON-1.7.12mkdir buildcd build && cmake ..make %{?_smp_mflags} %installrm -rf $RPM_BUILD_ROOTmkdir -p $RPM_BUILD_ROOT/usr/local/cJSONcp %{_cjsondir}/LICENSE $RPM_BUILD_ROOT/usr/local/cJSON/LICENSE cp -r %{_cjsondir}/build $RPM_BUILD_ROOT/usr/local/cJSON/ %files%license %{prefix}/%{name}/LICENSE %dir %{prefix}/%{name}/build%{prefix}/%{name}/build/* %changelog* Wed Mar 18 2020 guweibo <youremail@xxx.xxx> - 1.7.12-1- Update to 1.7.12----结束6.3 RPM打包步骤 1   rpmlint检查SPEC文件或RPM包。1.安装rpmlint。    yum install rpmlint      2.错误检查。    说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修   改。    rpmlint –i cjson.spec        步骤 2   构建RPM。rpmbuild -bb cjson.spec  步骤 3   查看生成的RPM包。ls ~/rpmbuild/RPMS/aarch64 步骤 4   RPM包验证。RPM包的验证,可参考”5 运行和验证“。----结束7 FAQ7.1 RPM打包流程、示例及问题集参考:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html7.2 KunPeng平台软件移植 Yum源配置参考参考:https://bbs.huaweicloud.com/forum/thread-47344-1-1.html
  • KunPeng平台 Axis2c 1.6.0版本移植安装指南
    1 Axis2c简介    Apache Axis2/C是用C语言实现的Web服务引擎。它基于可扩展且灵活的Axis2体系架构。Apache Axis2/C可用于提供和使用WebServices。它的实现具有可移植性和嵌入式功能,因此可以在其他软件中作Web服务支持器。 2 环境信息2.1 环境信息项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0包含在操作系统镜像中CPU鲲鹏920服务器配置16U16GB40GB  3 配置编译环境3.1 Yum源配置说明:根据依赖或软件来源的不同,以及配置过程的不同,yum源配置分为如下三种:1、本地yum源2、网络yum源3、华为yum源不作任何配置时,则默认使用Centos官方yum源(需要外网权限)。Yum源详细配置,可以参考:《KunPeng平台软件移植Yum源配置参考》,本次使用本地yum源方式。3.2 安装依赖包步骤1   安装依赖包。yum install wget gcc-c++ libxml2-devel----结束   4 安装说明:本文将介绍两种安装方式,请视具体情况选择其中一种安装方式。表 4-1 安装方式说明安装方式安装说明源码编译安装 源码安装,与环境内核无冲突,可定制,但是复杂度高。rpm方式安装rpm包方式,方便简单(当部署环境与本文档环境一致时,推荐使用本方式)。4.1 源码编译安装4.1.1 获取源码步骤 1   下载Axis2c源码。wget http://archive.apache.org/dist/ws/axis2/c/1_6_0/axis2c-src-1.6.0.tar.gz解压至当前目录:tar -zxvf axis2c-src-1.6.0.tar.gz说明:如果提示”wget: 未找到命令”,请先用yum install wget安装wget工具。  4.1.2 编译安装Axis2c步骤 1   设置环境变量。export AXIS2C_HOME=/usr/local/axis2c 步骤 2   编译配置。切换至解压目录并编译配置CFLAGS=-Wno-unused-but-set-variable ./configure --prefix=$AXIS2C_HOME --enable-tests=no --enable-amqp=no --enable-libxml2=yes --build=arm-linux 步骤 3   根据官方补丁修改文件。直接编译会出现以下问题,因此先根据官方补丁解决办法修改对应文件后,再执行编译。 vi neethi/test/Makefile.am:vi neethi/test/Makefile.in: 步骤 4   编译安装。make -j4 && sudo -E make install 步骤 5   编译安装程序样例。cd samples/CFLAGS=-I$AXIS2C_HOME/include/axis2c-1.6.0 LDFLAGS=-L$AXIS2C_HOME/lib ./configure --prefix=$AXIS2C_HOME --build=arm-linux安装成功:4.2 RPM方式安装说明:附件中的rpm都是通过开源代码编译打包而成,并验证通过,打包过程参考”6 RPM打包“。步骤 1   复制RPM包至服务器“ /home”目录并安装。ll /home步骤 2   安装RPM包。yum localinstall /home/axis2c-1.6.0-1.el7.aarch64.rpm 步骤 3   添加环境变量。vi /etc/profileexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/axis2c/libsource /etc/profile----结束5 运行和验证5.1 运行测试步骤 1   启动axis2c服务。切换至安装目录bin目录。cd /usr/local/axis2c/bin./axis2_http_server 步骤 2  启用调试模式。 新建服务器连接,切换至安装目录bin目录。STAFF_LOG_LEVEL=DEBUG3 STAFF_EXCEPTION_STACKTRACING=1./axis2_http_server 步骤 3  防火墙设置。firewall-cmd --zone=public --add-port=9090/tcp --permanentfirewall-cmd --reload步骤 4  测试服务是否正常。http://localhost:9090/axis2/services ----结束 6 RPM打包(参考)说明:本段提供了RPM包制作的详细过程,当部署环境与本文档环境不兼容时,可参考此打包过程,自制RPM包,然后再安装到部署环境。6.1 准备RPM 打包环境步骤 1   安装rpmdevtools。yum install rpmdevtools步骤 2   生成打包目录树。cd ~/rpmdev-setuptree步骤 3   进入目录~/rpmbuild,应有如下文件夹:cd ~/rpmbuild----结束步骤 4   上传补丁:上传附件补丁至以下目录:6.2 编辑SPEC文件 步骤 1   生成SPEC文件模板。1.切换目录至~/rpmbuild/SPECS。cd ~/rpmbuild/SPECS2.生成模板文件axis2c1.6.0.spec。rpmdev-newspec axis2c1.6.0ls  步骤 2   修改SPEC文件。vi axis2c1.6.0.spec修改后,axis2c1.6.0.spec文件内容如下:Name:           axis2cVersion:        1.6.0Release:        1%{?dist}Summary:        Apache Axis2/C is a Web services engine implemented in the C programming language. License:        Apache LicenseURL:            http://axis.apache.org/axis2/c/core/index.html%undefine _disable_source_fetchSource0:        http://archive.apache.org/dist/ws/axis2/c/1_6_0/axis2c-src-1.6.0.tar.gzSource1:    Makefile.amSource2:    Makefile.in BuildRequires: gcc-c++ libxml2-devel  %descriptionApache Axis2/C is a Web services engine implemented in the C programming language. It is based on the extensible and flexible Axis2 architecture. Apache Axis2/C can be used to provide and consume WebServices. It has been implemented with portability and ability to embed in mind, hence could be used as a Web services enabler in other software.   %prep%setup -c -n %{name}-%{version} %buildcd axis2c-src-1.6.0/cp -rf %{SOURCE1} %{SOURCE2} neethi/test/ export AXIS2C_HOME=%_buildrootdir/axis2c-1.6.0-1.el7.aarch64/usr/local/%{name}CFLAGS=-Wno-unused-but-set-variable ./configure --prefix=$AXIS2C_HOME --enable-tests=no --enable-amqp=no --build=arm-linux --enable-libxml2=yesmake -j4make install cd samplesCFLAGS=-I$AXIS2C_HOME/include/axis2-1.6.0 LDFLAGS=-L$AXIS2C_HOME/lib ./configure --prefix=$AXIS2C_HOME --build=arm-linuxmake -j4 && sudo -E make install cd /root/rpmbuild/BUILDROOT/axis2c-1.6.0-1.el7.aarch64/usr/local/axis2c/lib rm -rf libaxis2_axiom.so libaxis2_axiom.so.0 libaxis2_engine.so libaxis2_engine.so.0 libaxis2_http_common.so libaxis2_http_common.so.0 libaxis2_http_receiver.so libaxis2_http_receiver.so.0 libaxis2_http_sender.so libaxis2_http_sender.so.0 libaxis2_parser.so libaxis2_parser.so.0 libaxis2_xpath.so libaxis2_xpath.so.0 libaxutil.so libaxutil.so.0 libguththila.so libguththila.so.0 libneethi.so.0 libneethi.so cp libaxis2_axiom.so.0.6.0 libaxis2_axiom.socp libaxis2_axiom.so.0.6.0 libaxis2_axiom.so.0 cp libaxis2_engine.so.0.6.0 libaxis2_engine.socp libaxis2_engine.so.0.6.0 libaxis2_engine.so.0 cp libaxis2_http_common.so.0.6.0 libaxis2_http_common.socp libaxis2_http_common.so.0.6.0 libaxis2_http_common.so.0 cp libaxis2_http_receiver.so.0.6.0 libaxis2_http_receiver.socp libaxis2_http_receiver.so.0.6.0 libaxis2_http_receiver.so.0 cp libaxis2_http_sender.so.0.6.0 libaxis2_http_sender.socp libaxis2_http_sender.so.0.6.0 libaxis2_http_sender.so.0 cp libaxis2_parser.so.0.6.0 libaxis2_parser.socp libaxis2_parser.so.0.6.0 libaxis2_parser.so.0 cp libaxis2_xpath.so.0.6.0 libaxis2_xpath.socp libaxis2_xpath.so.0.6.0 libaxis2_xpath.so.0 cp libaxutil.so.0.6.0 libaxutil.socp libaxutil.so.0.6.0 libaxutil.so.0 cp libguththila.so.0.6.0 libguththila.socp libguththila.so.0.6.0 libguththila.so.0 cp libneethi.so.0.6.0 libneethi.socp libneethi.so.0.6.0 libneethi.so.0   %files/usr%doc----结束6.3 RPM打包步骤 1   rpmlint检查SPEC文件或RPM包。1.安装rpmlint。yum install rpmlint 2.错误检查。说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修改。rpmlint –i axis2c1.6.0.spec 步骤 2   构建SRPM和RPM。rpmbuild -ba axis2c1.6.0.spec 步骤 3   查看生成的RPM包。ls ~/rpmbuild/RPMS/aarch64步骤 4   RPM包验证。RPM包的验证,可参考”5 运行和验证“。----结束  7 FAQ7.1 RPM打包流程、示例及问题集参考:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html参考:https://bbs.huaweicloud.com/forum/thread-40825-1-1.html7.2 Unable to guess system type问题现象:解决:手动指定操作系统类型,加编译配置参数--build=arm-linux7.3 check-rpaths detected a broken PATH问题现象:解决:vi ~/.rpmmacros
  • KunPeng平台 Cfssl 1.4.1版本移植安装指南
    1 Cfssl简介    CFSSL是CloudFlare开源的一款PKI/TLS工具。 它既是命令行工具,又是用于签名,验证并且**TLS证书的 HTTP API 服务。 需要Go 1.12+才能构建。 2 环境信息2.1 环境信息项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0包含在操作系统镜像中CPU鲲鹏920服务器配置16U16GB40GB  3 配置编译环境3.1 Yum源配置说明:根据依赖或软件来源的不同,以及配置过程的不同,yum源配置分为如下三种:1、本地yum源2、网络yum源3、 华为yum源不作任何配置时,则默认使用Centos官方yum源(需要外网权限)。Yum源详细配置,可以参考:《KunPeng平台软件移植Yum源配置参考》,本次使用网络yum源方式。3.2 安装依赖包步骤1   安装依赖包。yum install wget gcc git----结束   4 安装说明:本文将介绍两种安装方式,请视具体情况选择其中一种安装方式。表 4-1 安装方式说明安装方式安装说明源码编译安装源码安装,与环境内核无冲突,可定制,但是复杂度高。rpm方式安装rpm包方式,方便简单(当部署环境与本文档环境一致时,推荐使用本方式)。4.1 源码编译安装4.1.1 获取源码步骤 1   下载Cfssl源码至opt目录。git clone https://github.com/cloudflare/cfssl.git                                               说明:如果提示”git: 未找到命令”,请先用yum install git安装git工具。 步骤 2   下载go1.14.1至opt目录。wget https://studygolang.com/dl/golang/go1.14.1.linux-arm64.tar.gz说明:如果提示”wget: 未找到命令”,请先用yum install wget安装wget工具。  4.1.2 安装配置go步骤 1   解压go压缩包至/usr/local。tar -C /usr/local -zxvf go1.14.1.linux-arm64.tar.gz步骤 2   配置环境变量。vi /etc/profile在文件最后添加以下变量:export GOROOT=/usr/local/goexport GOPATH=/usr/lib64/golang同时添加go代理:export GO111MODULE=onexport GOPROXY=https://goproxy.io是环境变量生效:source /etc/profile 步骤3   查看版本信息。go version----结束4.1.3 编译安装Cfssl步骤 1   编译准备。创建目录:mkdir $GOPATH/src/github.com/cloudflare/cfssl –pcd $GOPATH/src/github.com/cloudflare/cfssl拷贝源码至当前目录:cp -r /opt/cfssl/ ./ 步骤 2   编译安装。cd cfsslmake –j16生成以下文件: 4.2 RPM方式安装说明:附件中的rpm都是通过开源代码编译打包而成,并验证通过,打包过程参考”6 RPM打包“。步骤 1   复制RPM包至服务器“ /home”目录并安装。ll /home步骤 2   安装RPM包。yum localinstall /home/cfssl-1.4.1-1.el7.aarch64.rpm 生成以下文件:----结束 5 运行和验证5.1 验证准备步骤 1   配置环境变量。编译方式安装需如下配置:export PATH=$PATH:/usr/lib64/golang/src/github.com/cloudflare/cfssl/cfssl/binRPM方式安装需如下配置:export PATH=$PATH:/usr/local/cfssl/bin使环境变量生效:source /etc/profile----结束5.2 运行测试步骤 1   执行cfssl version。----结束 6 RPM打包(参考)说明:本段提供了RPM包制作的详细过程,当部署环境与本文档环境不兼容时,可参考此打包过程,自制RPM包,然后再安装到部署环境。6.1 安装配置go参考4.1.2章节配置go6.2 准备RPM 打包环境步骤 1   安装rpmdevtools。yum install rpmdevtools步骤 2   生成打包目录树。cd ~/rpmdev-setuptree步骤 3   进入目录~/rpmbuild,应有如下文件夹:cd ~/rpmbuild步骤 4   克隆源代码。切换目录至~/rpmbuild/BUILD。cd ~/rpmbuild/ BUILD 克隆源码:git clone https://github.com/cloudflare/cfssl.git----结束6.3 编辑SPEC文件 步骤 1   生成SPEC文件模板。1.切换目录至~/rpmbuild/SPECS。cd ~/rpmbuild/SPECS2.生成模板文件cfssl1.4.1.spec。rpmdev-newspec cfssl1.4.1ls步骤 2   修改SPEC文件。vi cfssl1.4.1.spec修改后,cfssl1.4.1.spec文件内容如下:Name:           cfsslVersion:        1.4.1Release:        1%{?dist}Summary:        CFSSL is CloudFlare's PKI/TLS swiss army knife. License:        GPLURL:            https://github.com/cloudflare/cfssl BuildRequires:  gcc %descriptionCFSSL is CloudFlare's PKI/TLS swiss army knife. It is both a command line tool and an HTTP API server for signing, verifying, and bundling TLS certificates. It requires Go 1.12+ to build. %buildcd ~/rpmbuild/BUILD/cfsslmakemkdir -p /root/rpmbuild/BUILDROOT/cfssl-1.4.1-1.el7.aarch64/usr/localcp -r /root/rpmbuild/BUILD/cfssl /root/rpmbuild/BUILDROOT/cfssl-1.4.1-1.el7.aarch64/usr/local %files/usr/local%doc   ----结束6.4 RPM打包步骤 1   rpmlint检查SPEC文件或RPM包。1.安装rpmlint。yum install rpmlint2.错误检查。说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修改。rpmlint –i cfssl1.4.1.spec步骤 2   构建SRPM和RPM。rpmbuild -bb cfssl1.4.1.spec ........步骤 3   查看生成的RPM包。ls ~/rpmbuild/RPMS/aarch64步骤 4   RPM包验证。RPM包的验证,可参考”5 运行和验证“。----结束  7 FAQ7.1 RPM打包流程、示例及问题集参考:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html参考:https://bbs.huaweicloud.com/forum/thread-40825-1-1.html
  • KunPeng平台Canu 1.9移植安装指南
    1 Canu简介        Canu是以Celera Assembler为基础开发的高噪声单分子测序工具(支持PacBio RSII和Oxford Nanopore MinION), 能将三代测序工具产生的长读长基因序列组装成独特的可被组装的contigs、unitigs, 主要功能包括三个阶段:correction、trimming和assembly。    2 环境信息2.1 环境信息项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0包含在操作系统镜像中CPU鲲鹏920服务器配置16U16GB40GB3 配置编译环境3.1 Yum源配置        说明:根据依赖或软件来源的不同,以及配置过程的不同,yum源配置分为如下三种:         ·         本地yum源        ·         网络yum源        ·         华为yum源        不作任何配置时,则默认使用Centos官方yum源(需要外网权限)。        Yum源详细配置,可以参考:《KunPeng平台软件移植Yum源配置参考》,本次使用Centos官方默认yum源。3.2 安装依赖包        步骤1   安装依赖包。                yum install gcc gcc-c++ kernel-devel boost boost-devel boost-doc java-1.8.0-openjdk                                 ----结束4 安装        说明:本文将介绍两种安装方式,请视具体情况选择其中一种安装方式。        表 4-1 安装方式说明安装方式安装说明源码编译安装源码安装,与环境内核无冲突,可定制,但是复杂度高。rpm方式安装rpm包方式,方便简单(当部署环境与本文档环境一致时,推荐使用本方式)。4.1 源码编译安装    4.1.1 获取源码            步骤 1   下载canu源码。                    wget –O canu-1.9.zip https://github.com/marbl/canu/archive/v1.9.zip                    说明:如果提示”wget: 未找到命令”,请先用yum install wget安装wget工具。            步骤 2   复制至服务器“/home”目录。                    cp canu-1.9.zip /home    4.1.2 编译安装canu            步骤 1   解压canu源码包。                    cd /home                unzip canu-1.9.zip                    说明:如果提示”unzip: 未找到命令”,请先用yum install unzip安装unzip工具。                                步骤 2   make编译。                    cd canu-1.9                    cd src                    make –j 8                                        说明:编译过程的警告信息可以忽略,结束后可以看到“Success!”的提示,且使用echo $?查询编译结果,预期为0。                    echo $?                                步骤 3   刷新PATH环境变量。                    echo "export PATH=/home/canu-1.9/Linux-aarch64/bin:$PATH" >> ~/.bashrc                    source ~/.bashrc                                        ----结束4.2 RPM方式安装        说明:附件中的rpm都是通过开源代码编译打包而成,并验证通过,打包过程参考”6 RPM打包“。        步骤 1   下载附件,并复制附件中的RPM包至服务器“ /home”目录并安装。                ls /home                        步骤 2   安装RPM包。                yum localinstall /home/canu-1.9-1.el7.aarch64.rpm                        步骤 3   刷新PATH环境变量。                echo "export PATH=/usr/local/canu/bin:$PATH" >> ~/.bashrc                source ~/.bashrc                                ----结束5 运行和验证5.1 验证准备        步骤 1   获取测试数据。                curl -L -o pacbio.fastq http://gembox.cbcb.umd.edu/mhap/raw/ecoli_p6_25x.filtered.fastq                说明:文件222M大小,下载时间很长,请耐心等待。                ----结束5.2 运行测试        步骤 1   执行测试命令。                        canu -p ecoli -d ecoli-pacbio \                            genomeSize=4.8m obtOverlapper=mhap \                            corMhapThreads=4 obtMhapThreads=4 \                            utgOverlapper=mhap utgMhapThreads=4 \                            -nanopore-raw  pacbio.fastq                                ……                                ----结束 6 RPM打包(参考)        说明:本段提供了RPM包制作的详细过程,当部署环境与本文档环境不兼容时,可参考此打包过程,自制RPM包,然后再安装到部署环境。6.1 准备RPM 打包环境        步骤 1   安装rpmdevtools。                yum install rpmdevtools                        步骤 2   生成打包目录树。                cd ~/                rpmdev-setuptree        步骤 3   进入目录~/rpmbuild,应有如下文件夹:                cd ~/rpmbuild                                ----结束6.2 编辑SPEC文件        步骤 1   生成SPEC文件模板。                1.切换目录至~/rpmbuild/SPECS。                        cd ~/rpmbuild/SPECS                2.生成模板文件canu.spec。                        rpmdev-newspec canu                        ls                                 步骤 2   修改SPEC文件。                vi canu.spec                修改后,canu.spec文件内容如下:                        Name:           canu                        Version:        1.9                        Release:        1%{?dist}                        Summary:        Canu is a fork of the Celera Assembler, designed for high-noise single-molecule                                                       sequencing (such as the PacBio RS II/Sequel or Oxford Nanopore MinION).                                                License:        GPL                        URL:         https://github.com/marbl/canu                        %undefine _disable_source_fetch                        Source0:        https://github.com/marbl/canu/archive/v1.9.zip                                                BuildRequires:  gcc gcc-c++ kernel-devel boost boost-devel boost-doc                         Requires:java-1.8.0-openjdk                                                %description                        Canu is a fork of the Celera Assembler, designed for high-noise single-molecule                          sequencing (such as the PacBio RS II/Sequel or Oxford Nanopore MinION).                                                %prep                        %setup -q                                                %define install_path %{_prefix}/local/%{name}                        %define target_path %{buildroot}%{install_path}                        %build                        cd src                        make -j 8                        mkdir -p %{target_path}                        cp -r $RPM_BUILD_DIR/%{name}-%{version}/Linux-aarch64/* %{target_path}                                                %files                        %{install_path}                                                %changelog                                               ----结束6.3 RPM打包        步骤 1   rpmlint检查SPEC文件或RPM包。        1.安装rpmlint。                yum install rpmlint                         2.错误检查。                说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修改。                rpmlint –i canu.spec                         步骤 2   构建SRPM和RPM。                rpmbuild -bb canu.spec                                 ........                        步骤 3   查看生成的RPM包。                ls ~/rpmbuild/RPMS/aarch64                        步骤 4   RPM包验证。                RPM包的验证,可参考”5 运行和验证“。                ----结束 7 参考7.1 RPM打包流程、示例及问题集        参考:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html7.2 官方文档        参考:https://canu.readthedocs.io/en/latest/quick-start.html#quickstart
  • Kunpeng平台 emqx 4.0.5 版本移植安装指南
    1 EMQX简介    EMQX 基于 Erlang/OTP 平台开发的 MQTT 消息服务器,是开源社区中最流行的 MQTT 消息服务器。 2 环境信息2.1 环境信息项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0包含在操作系统镜像中CPU鲲鹏920服务器配置16U16GB40GB3 配置编译环境3.1 配置yum源配置yum源参考《KunPeng平台软件移植 Yum源配置参考》。说明:文档中的Yum源配置包含本地yum源、网络yum、华为yum源三种,本次使用本地yum源,其它方式保留在文档中,按需参考。----结束3.2 安装erlang/opt环境步骤1   安装依赖包。yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel perl-devel 步骤2   下载erlang源码包。cd /optwget http://erlang.org/download/otp_src_22.0.tar.gz步骤3   解压erlang源码包。tar -zxvf otp_src_22.0.tar.gz步骤4   设置安装目录。mkdir -p /usr/local/erlcd otp_src_22.0./configure --prefix=/usr/local/erl步骤5   编译安装。make && make install说明:编译过程的警告信息可以忽略,结束后使用echo $?查询编译结果,预期为0。echo $?步骤6   配置软链接和PATH。ln -s /usr/local/erl/bin/erl /usr/local/bin/erlexport PATH=$PATH: /usr/local/erl/bin步骤7   测试验证。在命令行输入erl命令,显示如下,说明安装成功。 ----结束 4 安装说明:本文将介绍两种安装方式,请视具体情况选择其中一种安装方式。表 4-1 安装方式说明安装方式安装说明源码编译安装 源码安装,与环境内核无冲突,可定制,但是复杂度高。rpm方式安装rpm包方式,方便简单(当部署环境与本文档环境一致时,推荐使用本方式)。4.1 源码编译安装4.1.1 获取源码步骤 1   下载emqx源码。进入“/opt”目录下:git clone https://github.com/emqtt/emq-relx说明:如果是新机器需在”/etc/resolv.conf”中添加nameserver,防止找不到域名。4.1.2 emqx编译步骤 1    make编译。cd emqx-relmake说明:1)    编译过程会从github下载大量相关依赖包,中途可能会编译失败。失败后,只需重新make即可(可能需要make多次)。2)    编译过程的警告信息可以忽略,结束后使用echo $?查询编译结果,预期为0。----结束4.2 RPM方式安装说明:附件中的rpm都是通过开源代码编译打包而成,并验证通过,打包过程参考”6 RPM打包“。步骤 1   复制RPM包至服务器“ /opt”目录。cp emqx-4.0.5-1.el7.aarch64.rpm /opt步骤 2   安装RPM包。cd /optrpm –ivh emqx-4.0.5-1.el7.aarch64.rpm说明:使用yum localinstall emqx-4.0.5-1.el7.aarch64.rpm安装 RPM包,可以自动安装依赖;如使用rpm安装,则需要手动安装依赖。----结束5 运行和验证5.1 验证准备步骤 1  关闭防火墙。1)     查看防火墙状态:systemctl status firewalld;2)     若防火墙开启,则关闭防火墙:systemctl stop firewalld;3)     再次查看防火墙状态,确保关闭。说明:防火墙开启状态下,无法进行web访问。 ----结束5.2 运行测试步骤 1   启动emqx console。cd /usr/local/emqxcd _build/emqx/rel/emqx && ./bin/emqx console出现如下画面表示console启动成功。  步骤 2   web登录。在浏览器输入IP:18083启动web,登录显示如下表示成功(默认用户名:admin,密码:public)。 ----结束6 RPM打包(参考)说明:本段提供了RPM包制作的详细过程,当部署环境与本文档环境不兼容时,可参考此打包过程,自制RPM包,然后再安装到部署环境。6.1 准备RPM 打包环境步骤 1   安装rpmdevtools。yum install rpmdevtools  步骤 2   生成打包目录树。cd ~/rpmdev-setuptree步骤 3   进入目录~/rpmbuild,应有如下文件夹:cd ~/rpmbuild                    说明:由于通过github下载安装,所以SOURCES目录并无压缩包,故直接下载至BUILD目录下,然后进行其他操作。----结束         6.2 编辑SPEC文件步骤 1   生成SPEC文件模板。1.切换目录至~/rpmbuild/SPECS。        cd ~/rpmbuild/SPECS2.生成模板文件bwa.spec。        rpmdev-newspec bwa步骤 2   修改SPEC文件。修改后的emqx.spec文件内容(亦可见附件emqx.spec.zip)。%define _emqxdir $RPM_BUILD_DIR/%{name}-%{version}Name:           emqxVersion:       4.0.5 Release:        1%{?dist}Summary:        Scalable Enterprise MQTT Broker License:       GPL3.0 URL:           https://emqx.io #Source0:       https://github.com/emqx/emqx-rel/archive/v4.0.5.zip  Prefix:        /usr/localBuildRequires:       make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel perl-devel %descriptionEMQ X Broker is a massively scalable, highly extensible distributed MQTT message broker written in Erlang/OTP. %prepif [ ! -d "/root/rpmbuild/BUILD/emqx-4.0.5/" ];then    git clone https://github.com/emqtt/emq-relx emqx-4.0.5fi %buildcd $RPM_BUILD_DIR/emqx-4.0.5make %{?_smp_mflags} %installrm -rf $RPM_BUILD_ROOTmkdir -p $RPM_BUILD_ROOT/usr/local/emqxcp -r %{_emqxdir}/* $RPM_BUILD_ROOT/usr/local/emqx/ %files%license %{_prefix}/%{name}/LICENSE %dir %{_prefix}/%{name}%{_prefix}/%{name}/* %changelog* Wed Mar 18 2020 guweibo <youremail@xxx.xxx> - 4.0.5-1- Update to 4.0.5----结束6.3 RPM打包步骤 1   rpmlint检查SPEC文件或RPM包。1.安装rpmlint。    yum install rpmlint      2.错误检查。    说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修   改。    rpmlint –i emqx.spec       步骤 2   构建RPM。rpmbuild -bb emqx.spec 步骤 3   查看生成的RPM包。ls ~/rpmbuild/RPMS/aarch64步骤 4   RPM包验证。RPM包的验证,可参考”5 运行和验证“。----结束7 FAQ7.1 RPM打包流程、示例及问题集参考:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html7.2 基于鲲鹏云服务的EMQX编译安装(centos)参考:https://bbs.huaweicloud.com/forum/thread-25031-1-1.html7. 3 KunPeng平台软件移植 Yum源配置参考参考:https://bbs.huaweicloud.com/forum/thread-47344-1-1.html 
  • KunPeng平台软件移植 Yum源配置参考
            说明:在Kunpeng软件移植过程中,经常需要安装外部依赖或者软件。根据依赖或软件来源的不同以及配置过程的不同,yum源配置分为: 本地yum源、网络yum、华为yum源三种;不作任何配置时,则使用Centos官方默认yum源(需要外网权限)。本文将这三种yum源的配置过程记录下来,请参考使用。1.  配置本地yum源        说明:如果组网环境处于外网受限情况下,服务器yum命令无法通过外界获取依赖包时,可参考本节内容进行本地源配置。        步骤 1   获取镜像文件。                将OS镜像文件CentOS-7-aarch64-Everything-1810.iso拷贝到服务器的“/root”目录下。        步骤 2   镜像文件挂载。                1. 将“/root”目录下的CentOS操作系统对应iso文件挂载到“/mnt”目录下(该操作单次生效,重启后失效)。                    mount /root/CentOS-7-aarch64-Everything-1810.iso /mnt                2. (可选)设置开机挂载。                    如果需要开机启动后自动挂载镜像,则请执行以下操作。否则,请忽略该步骤                    a. 打开fstab文件。                        vi /etc/fstab                    b. 编辑/etc/fstab文件,在文件末尾添加如下内容:                        /root/CentOS-7-aarch64-Everything-1810.iso /mnt iso9660 loop 0 0                    c. 保存并退出fstab文件。        步骤 3   添加本地源文件。                1. 备份“/etc/yum.repos.d”目录。                    mv /etc/yum.repos.d /etc/yum.repos.d.bak                2. 进入“/etc/yum.repos.d”目录。                    mkdir –p /etc/yum.repos.d                    cd /etc/yum.repos.d                3. 创建local.repo文件。                    a. 打开local.repo文件                        touch local.repo                        vi local.repo                    b. 在local.repo文件中添加如下内容:                         [local]                         name=local.repo                         baseurl=file:///mnt                         enabled=1                        gpgcheck=0                        其中,baseurl中file路径为镜像挂载路径,与步骤2的挂载目录“/mnt”对应。        步骤 4   生效本地源。                yum clean all                 yum makecache                 说明:使用yum repolist查看repo列表, 结果中包含local,即表示本地源配置成功:                Yum repolist                                ----结束2.  配置网络yum源(清华大学源)        说明:如果centos官方yum源及本地源无法满足依赖包的安装,需要使用到网络yum源时,可参考本节内容进行网络yum源(清华大学源)配置。        步骤 1   备份系统原来的repo文件。                1. 进入“/etc/yum.repos.d”目录。                    cd /etc/yum.repos.d                2. 备份系统官方的repo文件。                    cp CentOS-Base.repo CentOS-Base.repo.bak        步骤 2   修改/etc/yum.repos.d/ CentOS-Base.repo文件。                在 mirrorlist= 开头行前面加 # 注释掉;                并将 baseurl= 开头行取消注释(如果被注释的话),把该行内的域名/系统框架                (例如mirror.centos.org/altarch)替换为 mirrors.tuna.tsinghua.edu.cn/centos-altarch。        步骤 3   执行yum源更新命令。                yum clean all                yum makecache                说明:使用yum repolist查看repo列表, 结果中包含base/7/aarch64,即表示网络源配置成功:                yum repolist                                ----结束3.  配置华为yum源        步骤 1   将华为源配置写入华为源repo文件:                echo -e "[kunpeng]\nname=CentOS-kunpeng - Base - mirrors.huaweicloud.com\nbaseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" >/etc/yum.repos.d/CentOS-Base-kunpeng.repo        步骤 2   更新yum源配置:                yum clean all                             yum makecache                说明:使用yum repolist查看repo列表, 结果中包含kunpeng,即表示华为源配置成功:                yum repolist                                ----结束
  • KunPeng平台 BWA 0.7.17 版本移植安装指南
    1 BWA简介    BWA是用于将低分叉序列比对到大的参考基因组比如人基因组的软件包。BWA主要是由三种算法组成:BWA-backtrack,BWA-SW和BWA-MEM。第一个算法是针对于illumina测序reads最多100bp的算法。后面两个主要是针对于从70bp到1Mbp的更长序列。BWA-SW和BWA-MEM拥有一些相同的特征例如长reads支持和序列分开模式。但是相对而言,更加推荐更新的BWA-MEM,因为可以更快和更准确在更高质量上比对。BWA-MEM相比较BWA-backtrack在70-100bp illumina reads上有更好的性能。 2 环境信息2.1 环境信息项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0包含在操作系统镜像中CPU鲲鹏920服务器配置16U16GB40GB3 配置编译环境3.1 配置yum源配置yum源参考《KunPeng平台软件移植 Yum源配置参考》。说明:文档中的Yum源配置包含本地yum源、网络yum、华为yum源三种,本次使用本地yum源,其它方式保留在文档中,按需参考。----结束3.2 安装GCC步骤1   本次编译工具使用gcc 9.1.0。安装方法参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。3.3 安装依赖包步骤1   安装依赖包。yum install zlib-devel –y----结束 4 安装说明:本文将介绍两种安装方式,请视具体情况选择其中一种安装方式。表 4-1 安装方式说明安装方式安装说明源码编译安装源码安装,与环境内核无冲突,可定制,但是复杂度高。rpm方式安装rpm包方式,方便简单(当部署环境与本文档环境一致时,推荐使用本方式)。4.1 源码编译安装4.1.1 获取源码步骤 1   下载bwa源码。wget https://sourceforge.net/projects/bio-bwa/files/bwa-0.7.17.tar.bz2说明:如果提示”wget: 未找到命令”,请先用yum install wget安装wget工具。步骤 2   复制bwa源码至服务器“/opt”目录。cp bwa-0.7.17.tar.bz2 /opt4.1.2 bwa编译安装步骤 1   获取“SSE2NEON.h”文件。获取路径:https://github.com/jratcliff63367/sse2neon步骤 2   复制“SSE2NEON.h”文件至编译器的安装目录下。cp SSE2NEON.h  /usr/local/gcc-9.1.0/lib/gcc/aarch64-unknown-linux-gnu/9.1.0/include步骤 3   解压bwa源码包。cd /opttar -xvf bwa-0.7.17.tar.bz2步骤 4   修改Makefile文件中的”INCLUDES”参数。cd bwa-0.7.17vi Makefile按“i”进入编辑模式,修改“Makefile”文件第14行。INCLUDES= -I/usr/local/gcc-9.1.0/lib/gcc/aarch64-unknown-linux-gnu/9.1.0/include按“ESC”键,输入:wq!,按“Enter”保存并退出编辑。修改前:修改后:步骤 5   修改“ksw.c”文件中头文件引用。cd bwa-0.7.17vi ksw.c按“i”进入编辑模式,修改“ksw.c”文件第29行。include <SSE2NEON.h>按“ESC”键,输入:wq!,按“Enter”保存并退出。修改前: 修改后:  步骤6   make编译。cd bwa-0.7.17make说明:编译过程的警告信息可以忽略,结束后使用echo $?查询编译结果,预期为0。echo $?步骤4   加载BWA环境。export PATH=/opt/bwa-0.7.17:$PATH----结束4.2 RPM方式安装说明:附件中的rpm都是通过开源代码编译打包而成,并验证通过,打包过程参考”6 RPM打包“。步骤 1   复制RPM包至服务器“ /opt”目录。cp bwa-0.7.17-1.el7.aarch64.rpm /opt步骤 2   安装RPM包。cd /optrpm –ivh bwa-0.7.17-1.el7.aarch64.rpm提示perl相关依赖检测失败,安装perl依赖即可:yum install perl依赖安装完成后,再重新安装。说明:使用yum localinstall bwa-0.7.17-1.el7.aarch64.rpm安装 RPM包,可以自动安装依赖;如使用rpm安装,则需要手动安装依赖。----结束 5 运行和验证5.1 验证准备步骤 1  验证机器配置要求。由于验证所需测试算例文件较大,在执行bwa mem时生成的结果文件较大,且算法对机器性能要求较高,所以需要注意以下事项:1)     内核不要低于8个,否则验证执行耗时太长;2)     内存不要低于8GB,否则生成索引文件时机器会卡死;3)     验证空间不要低于50GB,否则生成结果文件时会报存储空间不足。说明:由于机器系统盘只分配了40GB,生成结果文件会出现空间不够用,所以在验证时重新挂载了1个数据盘至/data目录下。步骤 2   获取测试算例文件。算例文件1 --- B17NC_R1.fq.gzwget https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/data/Panel/B17NC_R1.fastq.gz算例文件2 --- B17NC_R2.fq.gzwget https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/data/Panel/B17NC_R2.fastq.gz算例文件3 --- hg19.fawget https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/open_database/hg19/gatk_bundle/hg19.fa步骤 3   上传全部算例文件至“/opt/case”目录下如果已挂载数据盘至/data,可以将算例文件拷至/data目录。----结束5.2 运行测试步骤 1   创建参考基因组hg19.fa的索引。cd /opt/casebwa index –a bwtsw hg19.fa说明:基因组文件较大,创建索引耗时较长。  执行完成后,当前目录下会产生如下5个文件。 将当前目录下文件拷贝至/data目录下。步骤 2   执行以下命令运行测试。cd /databwa mem -t 16 hg19.fa B17NC_R1.fastq.gz B17NC_R2.fastq.gz > bwa.sam 2> bwa_log命令执行结束后,需要查看“bwa_log”日志中的“Real time”数值,单位是“s”,数值越少性能越优。输出的结果样例如下图:----结束6 RPM打包(参考)说明:本段提供了RPM包制作的详细过程,当部署环境与本文档环境不兼容时,可参考此打包过程,自制RPM包,然后再安装到部署环境。6.1 准备RPM 打包环境步骤 1   安装rpmdevtools。yum install rpmdevtools 步骤 2   生成打包目录树。cd ~/rpmdev-setuptree步骤 3   进入目录~/rpmbuild,应有如下文件夹:cd ~/rpmbuild                    ----结束6.2 编辑SPEC文件步骤 1   生成SPEC文件模板。1.切换目录至~/rpmbuild/SPECS。        cd ~/rpmbuild/SPECS2.生成模板文件bwa.spec。        rpmdev-newspec bwa        ls         步骤 2   修改SPEC文件。修改后的bwa.spec文件内容详见附件bwa.spec.zip。      %define __debug_install_post \                            %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"\                            %{nil}                            # %define _prefix /usr/local                            %define _bwadir $RPM_BUILD_DIR/%{name}-%{version}                            Name:           bwa                            Version:       0.7.17                             Release:        1%{?dist}                            Summary:       BWA is a program for aligning sequencing reads against a large reference genome (e.g. human genome).                              License:       GPL3.0                             URL:          http://bio-bwa.sourceforge.net                             Source0:       %{name}-%{version}.tar.bz2                             Source1:       SSE2NEON.h                                                         Prefix: /usr/local                            BuildRequires: make zlib-devel m4                                                        %description                            BWA is a program for aligning sequencing reads against a large reference genome (e.g. human genome). It has two major components, one for read shorter than 150bp and the other for longer reads.                                                        %prep                            %setup -q                            cp %{SOURCE1} %{_prefix}/gcc-9.1.0/lib/gcc/aarch64-unknown-linux-gnu/9.1.0/include                            cd %{_bwadir}                            # Modify Makefile                            sed '14d' Makefile                            sed '13a\INCLUDES= -l/usr/local/gcc-9.1.0/lib/gcc/aarch64-unknown-linux-gnu/9.1.0/include' Makefile                            # Modify header file                            sed -i "29 s#emmintrin.h#SSE2NEON.h#g" ksw.c                                                        %build                            make %{?_smp_mflags}                                                                                    %install                            rm -rf $RPM_BUILD_ROOT                            mkdir -p $RPM_BUILD_ROOT/usr/local/bwa                            cp -r %{_bwadir}/* $RPM_BUILD_ROOT/usr/local/bwa/                                                        %files                            %license %{_prefix}/%{name}/COPYING                                                        %dir %{_prefix}/%{name}                            %{_prefix}/%{name}/*                                                                                    %changelog                            * Wed Mar 18 2020 guweibo <youremail@xxx.xxx> - 0.7.17-1                            - Update to 0.7.17                            ----结束6.3 RPM打包步骤 1   rpmlint检查SPEC文件或RPM包。1.安装rpmlint。    yum install rpmlint    2.错误检查。    说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修改。    rpmlint –i bwa.spec     步骤 2   构建RPM。rpmbuild -bb bwa.spec ........步骤 3   查看生成的RPM包。ls ~/rpmbuild/RPMS/aarch64步骤 4   RPM包验证。RPM包的验证,可参考”5 运行和验证“。----结束7 FAQ7.1 RPM打包流程、示例及问题集参考:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html7.2 BWA 0.7.17 移植指南(CentOS 7.6)参考:https://bbs.huaweicloud.com/forum/thread-37690-1-1.html7.3 HPC解决方案 基础环境搭建指导书参考:https://bbs.huaweicloud.com/forum/thread-37708-1-1.html7.4 鲲鹏(ARM64) GCC 9.1.0 CentOS 7.6移植指南参考:https://bbs.huaweicloud.com/forum/thread-42781-1-1.html7.5 BWA使用参考:https://blog.csdn.net/Doris_xixi/article/details/80842353参考:https://www.cnblogs.com/leezx/p/5601525.html
  • KunPeng平台 BLAST 2.9.0版本移植安装指南
    1 BLAST简介    BLAST(Basic Local Alignment Search Tool)是一套在蛋白质数据库或DNA数据库中进行相似性比较的分析工具。BLAST程序能迅速与公开数据库进行相似性序列比较。BLAST结果中的得分是一种对相似性的统计说明。 2 环境信息2.1 环境信息项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0包含在操作系统镜像中。CPUKunpeng 920服务器配置16U16GB40GB  3 配置编译环境说明:Yum源配置包含本地yum源、网络yum、华为yum源(华为源目前不支持repo文件下载,只支持手动创建)三种,本次使用本地yum源方式,其它方式保留在文档中,按需参考。3.1 配置本地yum源说明:如果组网环境处于外网受限情况下,服务器yum命令无法通过外界获取依赖包时,可参考本节内容进行本地源配置。步骤 1   获取镜像文件。将OS镜像文件CentOS-7-aarch64-Everything-1810.iso拷贝到服务器的“/root”目录下。步骤 2   镜像文件挂载。                        1. 将“/root”目录下的CentOS操作系统对应iso文件挂载到“/mnt”目录下(该操作单次生效,重启后失效)。                            mount /root/CentOS-7-aarch64-Everything-1810.iso /mnt                        2. (可选)设置开机挂载。                            如果需要开机启动后自动挂载镜像,则请执行以下操作。否则,请忽略该步骤                            a. 打开fstab文件。                                vi /etc/fstab                            b. 编辑/etc/fstab文件,在文件末尾添加如下内容:                                /root/CentOS-7-aarch64-Everything-1810.iso /mnt iso9660 loop 0 0                            c. 保存并退出fstab文件。步骤 3   添加本地源文件。                            1. 备份“/etc/yum.repos.d”目录。                                mv /etc/yum.repos.d /etc/yum.repos.d.bak                            2. 进入“/etc/yum.repos.d”目录。                                mkdir –p /etc/yum.repos.d                                cd /etc/yum.repos.d                            3. 创建local.repo文件。                                a. 打开local.repo文件                                    touch local.repo                                    vi local.repo                                b. 在local.repo文件中添加如下内容:                                     [local]                                     name=local.repo                                     baseurl=file:///mnt                                     enabled=1                                    gpgcheck=0                                    其中,baseurl中file路径为镜像挂载路径,与步骤2的挂载目录“/mnt”对应。步骤 4   生效本地源。                                yum clean all                                 yum makecache                                 说明:使用yum repolist查看repo列表, 结果中包含local,即表示本地源配置成功:                                Yum repolist                                                                 ----结束3.2 配置网络yum源(清华大学源)说明:如果centos官方yum源及本地源无法满足依赖包的安装,需要使用到网络yum源时,可参考本节内容进行网络yum源(清华大学源)配置。步骤 1   备份系统原来的repo文件。                            1. 进入“/etc/yum.repos.d”目录。                                cd /etc/yum.repos.d                            2. 备份系统官方的repo文件。                                cp CentOS-Base.repo CentOS-Base.repo.bak步骤 2   修改/etc/yum.repos.d/ CentOS-Base.repo文件。                            在 mirrorlist= 开头行前面加 # 注释掉;                            并将 baseurl= 开头行取消注释(如果被注释的话),把该行内的域名/系统框架(例如mirror.centos.org/altarch)替换为 mirrors.tuna.tsinghua.                            edu.cn/centos-altarch。步骤 3   执行yum源更新命令。                            yum clean all                            yum makecache                            说明:使用yum repolist查看repo列表, 结果中包含base/7/aarch64,即表示网络源配置成功:                            yum repolist                                                        ----结束3.3 配置华为yum源步骤 1   将华为源配置写入华为源repo文件:                           echo -e "[kunpeng]\nname=CentOS-kunpeng - Base - mirrors.huaweicloud.com\nbaseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" >/etc/yum.repos.d/CentOS-Base-kunpeng.repo步骤 2   更新yum源配置:                            yum clean all                                           yum makecache                            说明:使用yum repolist查看repo列表, 结果中包含kunpeng,即表示华为源配置成功:                            yum repolist                                                        ----结束4 安装说明:本文将介绍两种安装方式,请视具体情况选择其中一种安装方式。表 4-1 安装方式说明安装方式安装说明源码编译安装 源码安装,与环境内核无冲突,可定制,但复杂度高。rpm方式安装rpm包方式, 方便简单(当部署环境与本文档环境一致时,推荐使用本方式)。4.1 编译安装gcc 9.1.0参考以下链接完成:https://bbs.huaweicloud.com/forum/thread-37708-1-1.html4.2 源码编译安装        4.2.1 获取源码        步骤 1   下载BLAST               下载地址:https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.9.0/               手动下载源码包“ncbi-blast-2.9.0+-src.tar.gz”                 步骤 2   上传至服务器               mkdir -p /usr/local/BLAST && cd /usr/local/BLAST        上传源码包至该目录并解压        tar xzf ncbi-blast-2.9.0+-src.tar.gz        cd ncbi-blast-2.7.1+-src        export BLAST_TOP=`pwd`        export CC=gcc        export CXX=g++                 步骤 3   下载LMDB        下载地址:https://github.com/LMDB/lmdb/releases        手动下载源码包“ lmdb-LMDB_0.9.24.tar.gz”                 步骤 4   上传至服务器        cd /usr/local/BLAST/ncbi-blast-2.7.1+-src        上传源码包至该目录并解压        tar -xvf lmdb-LMDB_0.9.24.tar.gz                 cd lmdb-LMDB_0.9.24                 export LMDB_PATH=$BLAST_TOP/lmdb-LMDB_0.9.24                 4.2.2 编译安装BLAST        步骤 1   配置。        cd $BLAST_TOP/c++./configure                步骤 2   编译安装。        cd ReleaseMT/build        make all_r -j4                cd $BLAST_TOP/c++/ReleaseMT/bin        ls blastp                说明编译安装成功。 4.3 RPM方式安装说明:由于blast的rpm包太大,建议根据第6章自行打包。步骤 1   复制RPM包至目标服务器“ /home”目录并安装。  步骤 2   安装RPM包。yum localinstall blast-2.9.0-1.el7.aarch64.rpm查看是否生成blastpcd /usr/local/ncbi-blast-2.9.0+-src/c++/ReleaseMT/binll blastp说明安装成功。----结束 5 运行和验证说明:RPM安装方式,已经将配置过程集成到安装过程中,配置步骤可以跳过,直接从“运行验证“开始。5.1 验证 BLAST步骤 1   手动下载测试算例protein_query.fastas:https://gitlab.com/arm-hpc/packages/uploads/1acce57b88cc76f6c89a087e449456b5/protein_query.fastaSWISSPROT:ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/swissprot.gz 步骤 2   上传至服务器mkdir -p /usr/local/case && cd /usr/local/case上传算例至case目录 步骤 3   编译算例数据gzip -d swissprot.gzmv swissprot swissprot.famkdir datamv swissprot.fa data/mv protein_query.fasta data/编译安装方式单独需执行:export PATH=$BLAST_TOP/c++/ReleaseMT/bin:$PATHRPM方式安装单独需执行:export PATH=/usr/local/ncbi-blast-2.9.0+-src/c++/ReleaseMT/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/ncbi-blast-2.9.0+-src:$LD_LIBRARY_PATH Case目录下执行:makeblastdb -in data/swissprot.fa -dbtype prot cd data 步骤 4   执行验证在case目录下执行{ time blastp -query data/protein_query.fasta -db data/swissprot.fa ; }  2>&1 |tee output_protein_alignments.txt需要查看日志中最后的time命令输出中的“real”数值,单位是时间“x分钟y秒”,数值越低性能越优。----结束 6 RPM打包(参考)说明:本段提供了RPM包制作的详细过程,当部署环境与本文档环境不兼容时,可参考此打包过程,自制RPM包,然后再安装到部署环境。6.1 编译安装gcc 9.1.0参考以下链接完成:https://bbs.huaweicloud.com/forum/thread-37708-1-1.html 6.2 准备RPM 打包环境步骤 1   安装rpmdevtools。yum install rpmdevtools图步骤 2   生成打包目录树。rpmdev-setuptree图步骤 3   进入目录~/rpmbuild,应有如下文件夹:cd ~/rpmbuild                        ----结束6.3 RPM打包资源准备步骤 1   下载BLAST源码。下载地址:https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.9.0/       手动下载源码包“ncbi-blast-2.9.0+-src.tar.gz” 步骤 2   上传至服务器。拷贝至以下目录:cp ncbi-blast-2.9.0+-src.tar.gz ~/rpmbuild/SOURCES/并且将gcc 9.1.0的libstdc++.so.6拷贝至SOURCES:cp /usr/local/gnu/lib64/libstdc++.so.6 ~/rpmbuild/SOURCES  步骤3   下载LMDB源码。下载地址:https://github.com/LMDB/lmdb/releases手动下载源码包“ lmdb-LMDB_0.9.24.tar.gz” 步骤 4   上传至服务器“/opt”目录。  6.4 编辑SPEC文件步骤 1   生成SPEC文件模板1.切换目录至~/rpmbuild/SPECS。cd ~/rpmbuild/SEPCS2.生成模板文件blast2.9.0.spec。rpmdev-newspec blast2.9.0ls  步骤 2   修改SPEC文件vi blast2.9.0.spec修改后,blast2.9.0.spec文件内容如下:%define __debug_install_post \%{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"\%{nil}Name:           blastVersion:        2.9.0Release:        1%{?dist}Summary:        Basic Local Alignment Search Tool License:        GPLURL:            https://blast.ncbi.nlm.nih.gov/Blast.cgiSource0:        ncbi-blast-2.9.0+-src.tar.gzSource1:    libstdc++.so.6 %descriptionThe Basic Local Alignment Search Tool (BLAST) finds regions of   local similarity between sequences. The program compares nucleotide or protein sequences to sequence databases and calculates the statistical significance of matches. BLAST can be used to infer functional and evolutionary relationships between sequences as well as help identify members of gene families. %prep%setup -c -n %{name}-%{version}cd ncbi-blast-2.9.0+-srcexport BLAST_TOP=`pwd`export CC=gccexport CXX=g++cp /opt/lmdb-LMDB_0.9.24.tar.gz ./tar -xvf lmdb-LMDB_0.9.24.tar.gzcd lmdb-LMDB_0.9.24export LMDB_PATH=$BLAST_TOP/lmdb-LMDB_0.9.24 %buildcd ncbi-blast-2.9.0+-src/c++/./configurecd ReleaseMT/buildmake all_r -j4  %installmkdir -p ~/rpmbuild/BUILDROOT/blast-2.9.0-1.el7.aarch64/usr/localcd %{_builddir}/blast-2.9.0cp -r ncbi-blast-2.9.0+-src ~/rpmbuild/BUILDROOT/blast-2.9.0-1.el7.aarch64/usr/local%{__install} -p -D -m 0755 %{SOURCE1} %{buildroot}/usr/local/ncbi-blast-2.9.0+-src %files/usr/local%doc   ----结束6.5 RPM打包      步骤 1   构建SRPM和RPMrpmbuild -ba blast2.9.0.spec 步骤 2   查看生成的RPM包ls ~/rpmbuild/RPMS/aarch64 步骤 3   RPM包验证RPM包的验证,可参考”5 运行和验证“----结束 7 FAQ7.1 RPM打包流程、示例及问题集                        1、参考:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html                        2、参考Arm公司官网:https://developer.arm.com/tools-and-software/server-and-hpc/arm-architecture-tools/resources/porting-and-tuning/building-blast-with-arm-compiler/single-page  7.2 Contains an invalid rpath问题现象:   解决:vi ~/.rpmmacros