• 华为云鲲鹏ARM服务器台风自动定位科学计算程序改造小结
    华为云鲲鹏ARM服务器台风自动定位科学计算程序改造小结           知道鲲鹏服务器上线后,先去了解了鲲鹏社区,看到很多中间件比如数据库等已经被移植完毕,但由于下手不够快RC6资源被飞快申请完了,还好华为云很贴心的提供了RC3资源,比RC6性能稍微弱一点,但完全不影响使用.      登录服务器检查了各种环境,看起来基于ARM64的linux和X86的没有太多区别,鲲鹏芯片的主频并不比服务器版比如至强X86低多少,但是由于指令集不一致,对比主频并没有实际意义     考虑了很久选择哪个程序进行移植测试,直接上MPI程序可能一两周也没有结果,从写过和改过的程序中选一个代码量中等比如2W行左右,自己比较熟悉的程序,同时很有代表性的程序,科学计算类的程序往往包含大量的数学库,需要一些相对小众的依赖库      根据这个标准最终选择了台风自动定强软件包ADT进行测试,该软件包含了Fortran和C/C++代码,运行需要编译和安装HDF5和NC库,同时包含不少图形学计算和动力学计算,涉及了卫星红外和微波处理流程,是一个相对典型的应用,自己也做过这个程序的容器化封装,基本看遍了大部分代码,因此选择这个程序在CentOS 7.5的ECS RC3实例上试水。移植过程:第一步,编译依赖库前    首先安装libcurl、gcc-gfortran、libtool等软件第二步,编译HDF5    这个时候会有第一个坑,如果用时HDF5.1.8版本,默认configure文件不支持arm64,需要去HDF对应官网上的论坛上下载,这是我验证后可用的configure.sub和guess文件wget 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' -O bin/config.guess wget 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' -O bin/config.sub    注意需要在编译选项中打开fortran接口支持,否则无法编译fortran程序第三步,编译NetCDF4.5.1           同样注意需要打开fortran接口,但NC库编译链接库的位置设置的方法和HDF5文件不一致,需要通过设置环境变量的方式,而不是像h5一样--with-XXlib=XX\XX的方式,强烈推荐编译完成后make test,看一下哪些样例能跑通,如果有Warning或者error需要特别留意,因为,后面应用程序很可能会有类似的问题无法编译通过 第四步,开始应用程序编译    修改makefile,指定编译器,建议首先去掉编译优化选项,打开-Wall    这个时遇到了真正有挑战的问题,代码编译不过去         看到这个问题的时候一脸懵逼,这是一个Fortran程序和C进行动态联接编译时出的错误,同样的程序在X86下编译完全没有问题,经过对代码分析,整个注释掉这个模块,确认是delaunay三角网构建C版本的程序中的 一些自定义的方法和声明没有在fortran调用程序中显式声明,gfortran 4.8.5 arm版本似乎不会自动去匹配.o和.mod中没有显示声明函数,这个看可能是arm gcc和gfortran的bug,也或者是没有找到对应的编译选项。       但是这个是重要计算过程,又不愿意放弃ADT中的微波数据处理模块,于是开始大量的修改代码中不规范的部分,所有引用显示声明,去掉typedef这种用法,经过大概2天的修改,终于能编译通过,同时还需要注意char类型的转换问题,arm64平台的有符号和无符号似乎是x86不一致,在处理一些卫星ID、标号时需要注意第五步,运行测试最终结果     ldd查看链接库是否正常     file确认是生成了 arm64的可执行程序     使用FY2数据进行测试,顺利运行得到结果,     可喜的是同样内存配置的X86 ecs,测试并没有发现arm版本运行显著变慢小结:     从开始做到可以正确运行结果,大概花了30多个小时,充分说明了就算是熟悉的程序,进行移植很可能也是不小的工作量,如果对要移植的代码不熟悉,同时对ARM系统不熟悉,很可能会束手无策,因此还是要提前分析和测试。       这个过程让我想起了多年前一个卫星正射影像计算程序需要移植到小型机,在power芯片上用xlc编译gdal的过程,大量的改库的代码,大约一个月才做出了一个勉强能跑,但由于对编译器和平台不熟悉,处理时长了3-4倍,性能比x86差一截的惨痛经历。     相比Power,ARM的生态看来确实好了很多, 如果希望建设ARM国产芯片的生态,更多的应该倡导鲲鹏而不是飞腾或者申威的方式,毕竟绝大多数人都没有机会和能力去做超算程序的改造,2019年基于x86的Scientific Linux 不再继续开发,或许是ARM构建科学计算生态的一个机遇。     未来还是很期待鲲鹏+昇腾芯片的服务器,如果这种产品的软件生态可以做起来,可以部分改变现在AI强烈依赖NVIDIA的现状,这样才能开始真的自主可控。
  • [热门活动] 鲲鹏916安装Ne10的问题
    先说一下,这个帖子我都在线编辑完了,然后提交的时候网页崩溃了。然后又在LiberOffice重新写了一遍。==============================================错误现象是:ERROR: Couldn't read the file "/proc/cpuinfo". NE10_init() failed.Failed to initialise Ne10.代码是#include   #include   #include "NE10.h"  int main()  {   if (ne10_init() != NE10_OK)   {    fprintf(stderr, "Failed to initialise Ne10.\n");    return -1;    }  }返回值是  NE10_ERR 即  -1我试了其他 NE10_XXXX的函数,都不可运行。使用的IDE是QTQt Creator 4.9.2Based on Qt 5.12.4 (GCC 9.1.0, 64 bit)Copyright 2008-2019 The Qt Company Ltd. All rights reserved.================================怀疑之前安装NE10有错误========服务器泰山2280 V1 ,鲲鹏916系统是CentOS7.6编译器gcc9.1.0系统自带cmake version 2.8.12.2安装的是Ne10-v1.2.1-72-g1f059a7按照Building.md流程安装在线可在这看:https://github.com/projectNe10/Ne10/blob/master/doc/building.md=====第一次======按照这个方式安装## Native compilation on \*nix platformsexport NE10_LINUX_TARGET_ARCH=aarch64cmake -DGNULINUX_PLATFORM=ON ..    -- The C compiler identification is GNU 9.1.0-- The CXX compiler identification is GNU 9.1.0-- The ASM compiler identification is GNU-- Found assembler: /bin/cc-- Check for working C compiler: /bin/cc-- Check for working C compiler: /bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Check for working CXX compiler: /bin/c++-- Check for working CXX compiler: /bin/c++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Target architecture: aarch64-- Building type: RELEASECMake Error at CMakeLists.txt:191 (message):You are trying to compile for non-ARM (CMAKE_SYSTEM_PROCESSOR='aarch64')!see doc/building.md for cross compilation instructions.-- Configuring incomplete, errors occurred!======第二次=======================按照这个方式安装## Cross compilation on \*nix platforms...### ...for other general \*nix platformsexport NE10_LINUX_TARGET_ARCH=aarch64cmake -DCMAKE_TOOLCHAIN_FILE=../GNUlinux_config.cmake ..-- The C compiler identification is GNU 9.1.0-- The CXX compiler identification is GNU 9.1.0-- The ASM compiler identification is unknown-- Found assembler: aarch64-unknown-linux-gnu-as-- Check for working C compiler: /bin/aarch64-unknown-linux-gnu-gcc-- Check for working C compiler: /bin/aarch64-unknown-linux-gnu-gcc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Check for working CXX compiler: /bin/aarch64-unknown-linux-gnu-g++-- Check for working CXX compiler: /bin/aarch64-unknown-linux-gnu-g++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Warning: Did not find file Compiler/-ASMCMake Error: your ASM compiler: "aarch64-unknown-linux-gnu-as" was not found.   Please set CMAKE_ASM_COMPILER to a valid compiler path or name.-- Target architecture: aarch64-- Building type: RELEASE-- Configuring incomplete, errors occurred!###############我找了,我的gcc目录下没有 linux-gnu-as类似的东西########======第三次=======================继续上一次的方式首先,把GNUlinux_config.cmake 文件的57行,注释掉。elseif(NE10_LINUX_TARGET_ARCH STREQUAL "aarch64")set(CMAKE_C_COMPILER aarch64-unknown-linux-gnu-gcc)set(CMAKE_CXX_COMPILER aarch64-unknown-linux-gnu-g++)###(本来没有-unknown-,都是我后加的,为了和编译器一致)#set(CMAKE_ASM_COMPILER aarch64-unknown-linux-gnu-as)##########注释掉这行####find_program(CMAKE_AR NAMES "aarch64-unknown-linux-gnu-gcc-ar")find_program(CMAKE_RANLIB NAMES "aarch64-unknown-linux-gnu-gcc-ranlib")endif()执行export NE10_LINUX_TARGET_ARCH=aarch64cmake -DCMAKE_TOOLCHAIN_FILE=../GNUlinux_config.cmake ..-- The C compiler identification is GNU 9.1.0-- The CXX compiler identification is GNU 9.1.0-- The ASM compiler identification is GNU-- Found assembler: /bin/aarch64-unknown-linux-gnu-gcc-- Check for working C compiler: /bin/aarch64-unknown-linux-gnu-gcc-- Check for working C compiler: /bin/aarch64-unknown-linux-gnu-gcc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Check for working CXX compiler: /bin/aarch64-unknown-linux-gnu-g++-- Check for working CXX compiler: /bin/aarch64-unknown-linux-gnu-g++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Target architecture: aarch64-- Building type: RELEASE-- Configuring done-- Generating donemakeScanning dependencies of target NE10[  3%] Building C object modules/CMakeFiles/NE10.dir/__/common/NE10_mask_table.c.o[  7%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft.c.o[ 11%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_float32.c.o[ 15%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_float32.c.o[ 19%] Building CXX object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_int32.cpp.o[ 23%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_rfft_float32.c.o[ 26%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int32.c.o[ 30%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int16.c.o[ 34%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fir.c.o[ 38%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fir_init.c.o[ 42%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_iir.c.o[ 46%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_iir_init.c.o[ 50%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_resize.c.o[ 53%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_rotate.c.o[ 57%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_boxfilter.c.o[ 61%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_float32.neonintrinsic.c.o[ 65%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int32.neonintrinsic.c.o[ 69%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int16.neonintrinsic.c.o[ 73%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_rfft_float32.neonintrinsic.c.o[ 76%] Building CXX object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_float32.neonintrinsic.cpp.o[ 80%] Building CXX object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_int32.neonintrinsic.cpp.o[ 84%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_resize.neon.c.o[ 88%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_boxfilter.neon.c.o[ 92%] Building C object modules/CMakeFiles/NE10.dir/NE10_init.c.o[ 96%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_init_dsp.c.o[100%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_init_imgproc.c.oLinking C static library libNE10.a[100%] Built target NE10========自以为安装成功了=====结果出现了帖子开始的情况。。。。1、我自认为可能是gcc安装有问题。为什么没有ASM的编译器?2、鲲鹏916支持neon吗,支持硬件浮点运算吗?3、有可能是Ne10安装有问题,不知道选择那种安装方式:本地编译?交叉编译?===============谢谢各位专家,请不吝赐教!来源: 鲲鹏916安装Ne10的问题
  • 【鲲鹏翱翔】安全软件01-OpenSSL1.0.2k移植安装指南
    1、简介OpenSSL是一个开放源代码的软件库包,包括SSL协议库、应用程序以及算法密码库。组件名版本OpenSSL1.0.2kGCC4.8.5操作系统CentOS 7.5 64   bit with arm2、获取软件安装包从官网获取安装包。wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz解压tar -xvf openssl-1.0.2s.tar.gz  3、安装    配置目标文件所在目录,生成makefile文件./config shared –prefix=/usr/local/ssl-1.0.2/    编译make && make install    查看OpenSSL是否安装成功openssl version       4、参考链接https://blog.csdn.net/andylauren/article/details/534563405、FAQ待补充 
  • 【鲲鹏翱翔】鲲鹏服务器GCC交叉编译环境搭建指南
    1、简介交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码。本指南主要内容为在非ARM架构服务器环境下搭建ARM的GCC编译环境,编译基于ARM架构的应用软件。交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的GCC相同。搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出ARM架构下Linux系统所需的操作系统、应用程序等,然后再上传到ARM服务器执行。2、环境类别版本配置备注ARM测试服务器CentOS7.5ARM通用计算增强型 | rc3.xlarge.4 | 4vCPUs | 14GB华为云官网正在公测x86编译服务器CentOS7.52vCPUs|4GB|s3.large.2 1.在华为云官网购买https://www.huaweicloud.com/product/ecs.html2.本地服务器部署Centos7.5x86编译服务器Ubuntu16.042vCPUs|4GB|s3.large.21.在华为云官网购买https://www.huaweicloud.com/product/ecs.html2.本地服务器部署Ubuntu16.04交叉编译器arm-linux-gcc 5.5.0https://releases.linaro.org/components/toolchain/binaries/5.5-2017.10/aarch64-linux-gnu/gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz3、交叉编译器安装(x86服务器)3.1.安装标准的C开发环境执行以下命令:Ubuntu: apt-get install build-essentialCentOS: yum groupinstall Development Tools3.2.在/usr/local下建立名为ARM-toolchain的文件夹mkdir   /usr/local/ARM-toolchain3.3 下载gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz    可以通过wget的形式下载cd   /usr/local/ARM-toolchainwget https://releases.linaro.org/components/toolchain/binaries/latest-5/aarch64-linux-gnu/gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz     也可以从网页上下载后上传到/usr/local/ARM-toolchain目录下。交叉编译工具链的地址在https://releases.linaro.org/components/toolchain/binaries/latest-5/aarch64-linux-gnu/      下载gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz下载完成后,解压tar包tar -xvf   gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz3.4.配置环境变量修改配置文件,在配置文件的最后一行加入路径配置:Ubuntu:vim /etc/bash.bashrc # Add ARM toolschain pathPATH= /usr/local/ARM-toolchain/gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu/bin:"${PATH}"CentOS: vim /etc/profile# Add ARM toolschain pathexport   PATH=$PATH:/usr/local/ARM-toolchain/gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu/bin3.5.环境变量生效与测试执行以下命令:Ubuntu:source /etc/bash.bashrc          aarch64-linux-gnu-gcc  -v执行上面的命令,显示arm-linux-gnueabi-gcc -v信息和版本CentOS: source /etc/profile         aarch64-linux-gnu-gcc  -v执行上面的命令,显示arm-linux-gnueabi-gcc -v信息和版本4、测试4.1.在x86服务器交叉编译1、创建hello.c执行:vim hello.c#include <stdio.h>int main(void){            printf("hello linux\n");          return   0;}2.交叉编译执行:aarch64-linux-gnu-gcc -o arm-hello hello.c4.2.测试执行1、在x86服务器上测试执行:chmod +x arm-hello执行:./arm-hello页面显示:-bash: ./arm-hello: cannot   execute binary file 2. 拷贝执行文件至ARM服务器执行:chmod +x arm-hello执行:./arm-hello页面显示:hello linux 5、参考信息     交叉编译指导: https://releases.linaro.org/components/toolchain/binaries/https://blog.csdn.net/mars1743/article/details/20492285 6、FAQ     待补充
  • 【鲲鹏翱翔】鲲鹏服务器GCC版本升级指南
    1. 简介GCC 编译器是 Linux 下默认的 C/C++ 编译器,大部分 Linux 发行版中都是默认安装的。鲲鹏服务器CentOS7.5中默认GCC版本为4.8.5,很多情况下需要升级。本指南描述了GCC升级到5.4.0的过程,可供相关人士参考。类别:编译器2. 部署环境Packet NameVersionCentOSCentOS  7.5 with ARMGCC5.4.07.3.03. 安装部署    3.1 编译升级GCC由于服务器Centos7.5默认安装的GCC版本较低,在某些场景下需要进行升级GCC,版本信息如下:[root@ecs-arm-felix-free01   ~]# gcc --versiongcc   (GCC) 4.8.5去官网下载http://ftp.gnu.org/gnu/gcc/下载GCC 5.4.0的源码压缩包解压安装       解压gcc-5.4.0.tar.gz[root@ecs-arm-felix-free01   ~]# tar -xvf gcc-5.4.0.tar.gz下载安装依赖,下载安装gcc需要的三个依赖[root@ecs-arm-felix-free01   ~]# yum -y install bzip2 wget    # 下载依赖需要使用把bzip2和wget两个命令[root@ecs-arm-felix-free01   ~]# cd gcc-5.4.0/[root@ecs-arm-felix-free01   ~]# ./contrib/download_prerequisites  #   在解压根目录中执行依赖下载完成后,编译更新gcc版本 [root@ecs-arm-felix-free01   ~]# cd ../ && mkdir gcc-build-5.4.0 && cd gcc-build-5.4.0    #执行命令前位于gcc-5.4.0目录下#   执行configure[root@ecs-arm-felix-free01   ~]# ../gcc-5.4.0/configure --enable-checking=release --enable-languages=c,c++   --disable-multilib#   执行编译,make时间1-2小时或更久[root@ecs-arm-felix-free01   ~]# make -j8    #-j8意味8核并行编译;[root@ecs-arm-felix-free01   ~]# make install    #执行安装备注:如果执行过程遇到configure: error: C++ preprocessor "/lib/cpp" fails sanity check,执行[root@ecs-arm-felix-free01   ~]# yum install glibc-headers [root@ecs-arm-felix-free01   ~]# yum install gcc-c++验证是否更新生效[root@ecs-arm-felix-free01   ~]# gcc -versiongcc   (GCC) 5.4.0生成的动态库替换老版本gcc的动态库。[root@ecs-arm-felix-free01   ~]# cp /usr/local/lib64/libstdc++.so.6.0.21 /lib64 [root@ecs-arm-felix-free01   ~]# cd /lib64 & cp libstdc++.so.6 libstdc++.so.6.old[root@ecs-arm-felix-free01   ~]# ln -s libstdc++.so.6.0.21 libstdc++.so.6#执行命令查看最新GLIBCXX_3.4.21[root@ecs-arm-felix-free01   ~]# strings /lib64/libstdc++.so.6 | grep GLIBC3.2 参考信息[1] GCC升级版本:https://www.linuxidc.com/Linux/2018-11/155395.htm
  • [迁移工具] X86到aarch64业务代码移植经验分享==鲲鹏代码迁移指导书1.0【持续更新】
    经历过几个项目的业务代码从X86服务器迁移到aarch64泰山服务器上,以前没有相关经验摸索了好久,踩了很多坑现在迁移工作也差不多收尾了,Taishan服务器上跑比X86的溜多了写了一篇业务代码迁移经验总结放在附件,大家可以参考一下。老铁们,欢迎有问题或者建议过来跟帖讨论喔,相互学习更新日志:   1. 上传版本V4.0(试行版)  2020-1-13       Logs: 增加迁移后代码归一方法指导中文版,英文版本待更新。上传版本V3.0  20190903Logs:(1)增加编译选项匹配鲲鹏流水线(tsv110)(2)增加double到整型数据类型转换时数据溢出,与x86平台表现对比描述上传英文版本V3.0  2090921说明:英文版本要滞后一段时间
  • 【鲲鹏翱翔】数据库05-Cassandra3.11.4移植安装指南
    1.   简介Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式架构于一身。Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性和性能,被 Apple, Comcast,Instagram, Spotify, eBay, Rackspace, Netflix等知名网站所采用,成为了一种流行的分布式结构化数据存储方案。2.   部署环境Packet NameVersionDetailCentOSCentOS 7.5 with ARMARM通用计算增强型 | rc3.xlarge.4 | 4vCPUs | 14GBCassandra3.11.4none 3.   安装部署安装openjdkyum install java-1.8.0-openjdk   java-1.8.0-openjdk-devel -y设置环境变量export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.aarch64   export   CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar下载相关软件依赖包下载ant并解压:wget -c   http://apache.mirrors.spacedump.net//ant/source/apache-ant-1.10.6-src.tar.gz tar -zxvf apache-ant-1.10.6-src.tar.gz下载相关依赖包,解压放到对应目录wget   -c   http://apache.mirrors.spacedump.net//commons/net/binaries/commons-net-3.6-bin.tar.gz   tar   -zxvf commons-net-3.6-bin.tar.gz cp   commons-net-3.6/commons-net-3.6.jar ./apache-ant-1.10.6/lib/optional/ wget   -c   https://kent.dl.sourceforge.net/project/jsch/jsch.jar/0.1.55/jsch-0.1.55.jar --no-check-certificatecp   jsch-0.1.55.jar ./apache-ant-1.10.6/lib/optional/ wget   -c   http://apache.mirrors.spacedump.net//xerces/xml-commons/binaries/xml-commons-resolver-1.2.tar.gz   tar   -zxvf xml-commons-resolver-1.2.tar.gz  cp   xml-commons-resolver-1.2/resolver.jar ./apache-ant-1.10.6/lib/optional/ wget   -c http://archive.apache.org/dist/jakarta/regexp/jakarta-regexp-1.5.tar.gztar   -zxvf jakarta-regexp-1.5.tar.gz  cp   jakarta-regexp-1.5/jakarta-regexp-1.5.jar ./apache-ant-1.10.6/lib/optional/ wget   -c http://archive.apache.org/dist/jakarta/oro/jakarta-oro-2.0.8.tar.gztar   -zxvf jakarta-oro-2.0.8.tar.gz cp   jakarta-oro-2.0.8/jakarta-oro-2.0.8.jar ./apache-ant-1.10.6/lib/optional/安装antcd apache-ant-1.10.6/ sh build.sh -Ddist.dir=./ dist export ANT_HOME=/usr/local/ant sh build.sh install编译源代码下载安装包wget   -c https://github.com/apache/cassandra/archive/cassandra-3.11.4.tar.gz tar   -zxvf cassandra-3.11.4.tar.gz进入解压路径,进行编译安装:cd   cassandra-cassandra-3.11.4/ /usr/local/ant/bin/ant   clean build release4 示例测试查看cassandra帮助./bin/cassandra -h 5     参考信息Cassandra介绍:https://zh.wikipedia.org/wiki/Cassandra6     FAQ下载jsch.jar时可能会报下面的错误解决方法:在下载命令中添加--no-check-certificate
  • 【鲲鹏翱翔】应用中间件05-solr移植安装指南
    1、简介Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。Solr可以支持在arm环境下运行,无需重新编译。但需要配合Tomcat 8以上版本使用。可以从官网下载最新的Solr包进行解压缩、配置、运行。2、环境类别版本配置备注ARM测试服务器CentOS7.4arm通用计算增强型 | rc3.xlarge.4 | 4vCPUs | 14GB华为云公测可申请ARM服务器3、Tomcat安装(详细见tomcat指导安装文档)4、Solr安装(arm服务器)4.1.下载安装包wget http://mirror.bit.edu.cn/apache/lucene/solr/8.1.1/solr-8.1.1.zip4.2.解压缩包unzip solr-8.1.1.zip4.3.复制文件夹到目录1.拷贝solr-8.1.1/server/solr-webapp/webapp目录到tomcat/webapp/,改名叫solrcp -r solr-8.1.1/server/solr-webapp/webapp tomcat8/webapps/solr2.拷贝solr-8.1.1/server/lib/ext下的jar包到tomcat下的webapps/solr/WEB-INF/lib路径下cp solr-8.1.1/server/lib/ext/*.jar tomcat8/webapps/solr/WEB-INF/lib/3. 拷贝solr-8.1.1/dist 下的solr-dataimporthandler-8.1.1.jar、solr-dataimporthandler-extras-8.1.1.jar 包到tomcat下的webapps/solr/WEB-INF/lib路径cp solr-8.1.1/dist/solr-dataimporthandler*.jar   tomcat8/webapps/solr/WEB-INF/lib4.拷贝solr-8.1.1/server/lib下的metrics开头的5个jar到tomcat下的webapps/solr/WEB-INF/lib路径下(metrics-core-3.2.2.jar、metrics-ganglia-3.2.2.jar、metrics-graphite-3.2.2.jar、metrics-jetty9-3.2.2.jar、metrics-jvm-3.2.2.jar)5.新建一个文件夹solr-home,并将solr-8.1.1/server/路径下solr文件夹中的内容拷贝过来mkdir solr-homecp -r solr-8.1.1/server/solr/* solr-home  (复制到刚刚新建的solr-home里)4.4.环境配置1.进入tomcat8下的webapps/solr/WEB-INF下修改web.xmlcd tomcat8/webapps/solr/WEB-INFvi web.xml2. //记得打开此处的注释(如果没有手动输入)<env-entry>    <env-entry-name>solr/home</env-entry-name>  <env-entry-value>/usr/local/solr/solr-home</env-entry-value>//自己solr-home的位置    <env-entry-type>java.lang.String</env-entry-type></env-entry> //中间省略...//下面这段注释掉<!--  <security-constraint>    <web-resource-collection>        <web-resource-name>Disable TRACE</web-resource-name>        <url-pattern>/</url-pattern>        <http-method>TRACE</http-method>      </web-resource-collection>    <auth-constraint/>  </security-constraint>  <security-constraint>      <web-resource-collection>        <web-resource-name>Enable everything but   TRACE</web-resource-name>        <url-pattern>/</url-pattern>        <http-method-omission>TRACE</http-method-omission>      </web-resource-collection>  </security-constraint>  -->5、测试5.1.测试执行1.运行tomcat2.访问http://ip:port/solr/index.html(ip端口根据tomcat配置来填) 6、参考信息     solr安装指导: https://blog.csdn.net/qq_40524941/article/details/815122937、FAQ     待补充来源: 【鲲鹏翱翔】应用中间件05-solr移植安装指南
  • [热门活动] 【华为云•微话题】鲲鹏对云计算产业带来什么影响?
    =====【华为云·微话题】鲲鹏对云计算产业带来什么影响? =====未来世界将是一个智能世界,万物感知、万物物联、万物智能,计算无处不在,应用场景的多样性驱动着计算的多样性,计算架构的多元化是未来的发展之路。基于此,华为云在2019年1月发布高性能ARM服务器芯片— 鲲鹏920,并于近日正式对外推出鲲鹏云服务和鲲鹏解决方案,开启云上多元新架构,加速企业创新升级。鲲鹏也不再仅仅局限于鲲鹏系列服务芯片,更是包含了配套服务器软件,以及新架构平台上的完整软硬件生态和云计算生态。点击链接帮您快速了解鲲鹏:https://bbs.huaweicloud.com/forum/thread-20462-1-1.html今天我们就来讨论一下鲲鹏对云计算产业带来什么影响?期望看到大家精彩的评论:1、 你怎么看待华为自研鲲鹏芯片?2、 你觉得相较于X86架构芯片,鲲鹏芯片的优势在哪里?3、 你觉得鲲鹏更适用于哪些行业?4、 你觉得鲲鹏成为未来云市场的主流吗?为什么?微话题活动:参与本次微话题讨论,有机会获得优质评论奖,赢取华为小天鹅蓝牙音箱。活动时间:2019年8月8日-8月22日参与方式:直接在本帖回复关于以上4个问题中的任意1个或多个问题的理解或评论获奖方式:活动结束后,将由华为专家 Klin 选取出2名优质评论奖,各送出华为小天鹅蓝牙音箱1个。评奖标准:回复话题数量和内容质量。更多鲲鹏内容和互动请移步鲲鹏论坛:https://bbs.huaweicloud.com/forum/forum-923-1.html
  • [产品体验官] 体验官有奖体验第13期 | 华为云鲲鹏弹性云服务器KC1体验及评测
                                                                                  本期体验产品:华为云鲲鹏弹性云服务器KC1体验及评测本次体验采用有奖征集体验评测报告+群内互动交流反馈的形式。首先从体验官社群中招募50人,体验产品并输出产品体验评测报告。报名成功的体验官,您可以获得KC1云服务器15天免费套餐一份,包含4C8G云服务器一台,40G高IO系统盘一块, 1M公网带宽(含1个弹性公网IP)。用于本次体验。本期体验活动报名链接将会发布在“华为云产品体验官微信群”。 因本期体验产品资源有限,请各位体验官务必确定可以有时间参与本次体验再行报名。报名成功后,社群管理员会在24个小时内微信私信给您,体验套餐发放后会在群体验官内通知各位,并指导各位购买使用(可参照附件使用指南)。请各位及时参与体验,并按照要求输出体验评测报告。10月31日 24:00后,体验套餐会按照华为云官网价正式计费,请您在此时间前做好数据的回收和备份。 我们会按照评测体验维度、深度、意见建议等方面,从中筛选出高质量体验报告,给予礼品奖励。首款鲲鹏生态弹性云服务器兼容CentOS、Ubuntu 、EulerOS等20+款主流操作系统多核整形算力领先业界15%100%原生指令兼容,算法优化支持100+企业核心业务应用获取更多亮点,可登陆“鲲鹏社区”   ☆奖品设置如下☆ 优秀测评体验报告奖:5名奖品:雷柏(Rapoo) V500PRO 机械键盘                                                高质量测评体验报告奖:10名奖品:荣耀10000毫安便携充电宝 体验评测报告优秀参与奖:15名奖品:华为云定制双肩包 体验评测报告激励奖:20名奖品:三合一数据线☆产品体验评测报告内容要求☆体验评测报告内容需要包含以下维度:体验评测报告内容需要包含以下维度:本次活动相关实验,需基于KC1云服务器开展,请各位体验官根据自己在Arm、X86的应用开发、维护经验,聚焦软件应用在Arm相关的开发、运维、移植及解决方案应用中的优劣势和感悟,并在最后给出具有深度的评测意见。测评报告需包含以下维度。评测用户要求:1.      熟悉Linux开发。2.      具备3年以上软开开发、运维等相关从业经验。3.      有Arm相关领域时间经验者更优。评测报告内容1、开发场景:说明所设置的体验主题对应的 应用行业、场景、应用价值。2、使用体验:鲲鹏云服务器KC1对体验主题带来的积极的、负面的影响点,该产品相较行业竞品的优劣势。3、需求建议:对鲲鹏云服务器KC1的改善需求,建议改善方案。包括且不限于以下问题:①是否容易上手,开源软件、工具等资源是否满足开发需求;②相比X86的云服务器,使用习惯上需做哪些调整; ③对性能,操作界面等有什么建议;④使用过程中有哪些不好的体验,是否出现卡顿,宕机,程序无反应等情况;3.满意度及推荐度:当自己的项目或是公司在购买云服务器时,是否愿意自己使用或推荐身边的同时朋友使用华为云鲲鹏云服务器KC1,什么原因促使你做出这个结论?鲲鹏云服务器KC1相关操作知识:鲲鹏云服务器KC1简介;请登录鲲鹏社区获取更多资源;相关实践参考请前往鲲鹏论坛 体验过程及评测报告中可参考的竞品1.AWS-A1(EC2的Arm化机型)体验评测报告交稿时间:10月25日 14:00前,请报名评测的体验官将评体验测报告发帖上传到华为云社区开发者交流论坛中。并同步微信告知小助手(微信:hwyxzs)微信号。10月30日 16:00前,群内公布获奖体验官名单及奖品。体验报告发帖地址:开发者交流https://bbs.huaweicloud.com/forum/forum-557-639-1.html评测报告字数不少于1000字,可图文并茂,并在落款标注姓名和群内昵称,以便评奖时使用。
  • [中间件] 【华为云鲲鹏云服务最佳实践】【工具篇】第013期 Elasticsearch 6.2.2 安装配置指南
    1、简介      ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。      官方链接:https://www.elastic.co/cn/products/elasticsearch      类别:搜索引擎2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.5 Kernel4.14 软件包GCC4.8.5 elasticsearch6.2.2 Jdk1.8.0 ncurses5.9.14 zlib1.2.7 perl5.16.3 cmake2.8.12.2 openssl1.0.2k libaio0.3.109 3、依赖安装清除yumyum clean all下载服务器包到本地缓存yum makecache更新yum 包yum -y update   安装操作系统自带依赖软件版本yum install gcc gcc-c++ cmake ncurses-devel bison libaio-devel libncurses-devel libopenssl-devel zlib-devel autoconf perl per-devel4、组件编译安装   下文以此配置为例安装目录:${INSTALL_DIR}解压后的ES源码目录:${PATH_TO_ES}解压后的JDK源码目录:${PATH_TO_JDK}   从官网下载JDK源码并解压wget https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211-linux-arm64-vfp-hflt.tar.gztar -xzvf  jdk-8u211-linux-arm64-vfp-hflt.tar.gz   配置JAVA环境变量,编辑/etc/profile文件,在文件末尾添加JAVA的环境变量export JAVA_HOME=${PATH_TO_JDK}export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATHexport JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/binexport PATH=$PATH:${JAVA_PATH}   使环境变量生效source /etc/profile   验证JDK安装,出现java版本信息,即安装成功。java -version从官网下载elasticsearch源码并解压wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.2.tar.gztar -xzvf  elasticsearch-6.2.2.tar.gz5、系统配置 Elasticsearch默认是不允许root用户运行的,添加非root用户。useradd es修改ES安装目录的权限。chown -R es:es ${PATH_TO_ES}修改/etc/security/limits.conf文件,添加或修改如下行。*        hard    nofile           65536*        soft    nofile           65536修改 /etc/sysctl.conf 文件,添加或修改如下行vm.max_map_count=655360切换es账号su - es启动ES服务sh  ${PATH_TO_ES}/bin/elasticsearch检查ES端口状态。netstat -antlp|grep 9200访问ES服务。curl localhost:92006、测试 测试内容:elasticsearch服务是否正常启动 测试结果:7、参考信息官方文档:https://www.elastic.co/cn8、FAQ无
  • [交流分享] 鲲鹏是否已经支持方舟编译器?
    我看到鲲鹏社区编译器一栏已上线方舟编译器,但是从文档描述里只能确认可以安装部署,但是不知鲲鹏在方舟编译器中的支持完备度如何,是否需要在方舟编译器基于鲲鹏芯片架构进行优化?
  • [中间件] 【华为云鲲鹏云服务最佳实践】【中间件篇】第011期 iRedMail 0.9.9 安装配置指南
    1、简介      iRedMail 是一个基于 Linux/BSD 系统的零成本、功能完备、成熟的邮件服务器解决方案。      官方链接:https://www.iredmail.org/index.html       类别:邮件服务2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.6 Kernel4.14 软件包Python2.7.5 iRedMail 0.9.9   3、依赖安装无4、组件编译安装准备工作:1、 在安装 iRedMail 之前,请先确保在你的机器上安装了一个全新的 CentOS 7 操作系统:2、 使用下面的命令确保系统更新了最新的安全补丁和软件包。# yum update3、 系统需要一个 FQDN 主机名,使用下面的命令设置。使用你自定义的 FQDN 代替 mail.tecmint.lan 变量。# hostnamectl set-hostname mail.tecmint.lan使用下面的命令验证系统主机名。# hostname -s   # Short name# hostname -f   # FQDN# hostname -d   # Domain# cat /etc/hostname  # Verify it with cat comman4、 通过手动编辑 /etc/hosts,将机器的 FQDN 和短名称映射到机器的回环 IP 地址。添加如下所示的值,并相应替换 mail.tecmint.lan 和 mail 的值。127.0.0.1   mail.tecmint.lan mail  localhost localhost.localdomain5、禁用 SELinux。通过编辑 /etc/selinux/config 并将 SELINUX 参数的值从 permissive 设置成 disabled重启机器并应用新的 SELinux 策略,或者运行 setenforce 带上参数 0 来强制 SELinux 立即禁用。vim /etc/selinux/configSELINUX=disabled# reboot或者# setenforce 06、 接下来,安装下面这些接下来会用来系统管理的软件包:# yum install bzip2 net-tools bash-completion wget使用tar包安装:下载tar包wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.9.tar.bz2tar xvf iRedMail-0.9.9.tar.bz2安装cd iRedMail-0.9.9bash iRedMail.sh欢迎页,选择Yes,继续选择存储位置选择前端web服务器选择后端数据库指定LDAP后缀输入你的域名 从列表中选择要与邮件服务器集成的可选组件,按默认选输入y,继续 完成后,安装器会提供一些敏感信息。比如 iRedAdmin 凭证、web 面板的 URL 地址以及安装过程中使用的所有参数的文件位置init 6 重启# init 6系统重启后,使用 root 权限的帐户登录或以 root 身份登录,并使用下面的命令列出所有的网络套接字以及你邮件服务器监听的相关程序。在套接字列表中,你会看到邮件服务器几乎覆盖邮件服务正常运行所需的所有服务:SMTP/S、POP3/S、IMAP/S 和防病毒以及垃圾邮件保护。# netstat -tulpn iRedMail.tips 这个文件保存了iRedMail 已修改的所有配置文件的位置、iRedMail 安装过程中用于数据库管理的凭据、邮件管理帐户以及其他帐户。# less iRedMail-0.9.6/iRedMail.tips5、系统配置无6、测试测试内容:访问邮件服务测试结果:访问成功 7、参考信息官方文档:https://docs.iredmail.org/index.html 参考:https://docs.iredmail.org/install.iredmail.on.rhel.html 8、FAQQ:系统上升级了Python3,安装过程中出现python脚本错误A:这个版本需要Python2才能正确执行安装过程中的一些脚本,注意检查python版本为2.x。
  • [中间件] 【华为云鲲鹏云服务最佳实践】【中间件篇】第010期 libreoffice-6.1.6.3 安装配置指南
    1、简介      Libreoffice是个开源office软件,综合环境,带宽等因素,完成此包的编译至少需半天时间。      官方链接:https://www.libreoffice.org       类别:办公2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.6 Kernel4.14 软件包Libreoffice6.1.6.3https://kojipkgs.fedoraproject.org//packages/libreoffice/6.1.6.3/1.fc29/src/libreoffice-6.1.6.3-1.fc29.src.rpmXmlsec11.2.25https://kojipkgs.fedoraproject.org//packages/xmlsec1/1.2.25/5.fc29/src/xmlsec1-1.2.25-5.fc29.src.rpmlibnumbertext1.0.3https://kojipkgs.fedoraproject.org//packages/libnumbertext/1.0.3/1.fc29/src/libnumbertext-1.0.3-1.fc29.src.rpm3、依赖安装编译过程中一共有两个包版本需要升级:xmlsec1, libnumbertext,举例如下configure: error: Package requirements (xmlsec1-nss >= 1.2.24) were not met:Requested 'xmlsec1-nss >= 1.2.24' but version of xmlsec1-nss is 1.2.20修改spec文件如下(ldconfig_scriptlets为fedora独有宏,centos不认识,需要替换):bash-4.2# git clone https://src.fedoraproject.org/rpms/xmlsec1.gitbash-4.2# git checkout f29bash-4.2# diff -bu xmlsec1.spec*--- xmlsec1.spec 2018-07-16 02:22:59.000000000 +0800+++ xmlsec1.spec.new 2019-06-22 13:21:59.052881474 +0800@@ -123,9 +123,18 @@rm -rf __tmp_doc ; mkdir __tmp_docmv %{buildroot}%{_docdir}/xmlsec1/* __tmp_doc-%ldconfig_scriptlets-%ldconfig_scriptlets gnutls-%ldconfig_scriptlets openssl+%post -p /sbin/ldconfig+%postun -p /sbin/ldconfig++%post gnutls -p /sbin/ldconfig+%postun gnutls -p /sbin/ldconfig++%post openssl -p /sbin/ldconfig+%postun openssl -p /sbin/ldconfig++#%ldconfig_scriptlets+#%ldconfig_scriptlets gnutls+#%ldconfig_scriptlets openssl%files%doc AUTHORS ChangeLog NEWS README Copyrightbash-4.2# su - mockbuild[mockbuild@arm-recommend ~]$ cp /code//* rpmbuild/SOURCES[mockbuild@arm-recommend ~]$ rpmbuild -ba rpmbuild/SOURCES/libxmlsec1.spec.new[mockbuild@arm-recommend ~]$ sudo rpm -Uv /home/mockbuild/rpmbuild/RPMS/aarch64/xmlsec1{,-nss}{,-devel}-1.2.25-5.el7.aarch64.rpmPreparing packages...xmlsec1-1.2.25-5.el7.aarch64xmlsec1-devel-1.2.25-5.el7.aarch64xmlsec1-nss-1.2.25-5.el7.aarch64xmlsec1-nss-devel-1.2.25-5.el7.aarch64xmlsec1-nss-devel-1.2.20-7.el7_4.aarch64xmlsec1-devel-1.2.20-7.el7_4.aarch64xmlsec1-nss-1.2.20-7.el7_4.aarch64xmlsec1-1.2.20-7.el7_4.aarch64libnumbertext要求GCC版本4.9及以上。当前我们4.8.5的gcc较难升级,我们尝试另一条路--enable-boost。在libnumbertext.spec的configure行添加参数,为解决编译报错,解压tar包修改后打包回去,制作rpm包,修改如下:bash-4.2# git clone https://src.fedoraproject.org/rpms/libnumbertext.gitbash-4.2# git checkout f29bash-4.2# diff -bu libnumbertext.spec*--- libnumbertext.spec 2018-08-16 09:56:39.000000000 +0000+++ libnumbertext.spec.new 2019-06-22 05:47:19.278375751 +0000@@ -28,7 +28,7 @@%buildautoreconf -v --install --force-%configure --disable-silent-rules --disable-static --disable-werror --with-pic+%configure --disable-silent-rules --disable-static --disable-werror --with-pic --enable-boostmake %{?_smp_mflags}%checkbash-4.2# diff -bu libnumbertext-1.0.3/src/spellout.cxx*--- libnumbertext-1.0.3/src/spellout.cxx 2018-06-24 20:33:21.000000000 +0000+++ libnumbertext-1.0.3/src/spellout.cxx.new 2019-06-22 06:24:12.636664515 +0000@@ -1,5 +1,5 @@#include "Numbertext.hxx"-#include "numbertext-version.h"+#include "config.h"#include <cstring>#ifdef HAVE_BOOST_REGEX[mockbuild@arm-recommend ~]$ sudo rpm -iv /home/mockbuild/rpmbuild/RPMS/aarch64/libnumbertext{,-devel}-1.0.3-1.el7.aarch64.rpmPreparing packages...libnumbertext-1.0.3-1.el7.aarch64libnumbertext-devel-1.0.3-1.el7.aarch643)依赖包安装libreoffice要求非root用户编译,fedora使用mockbuild用户进行编译,我们可以参考bash-4.2# useradd mockbuildbash-4.2# su - mockbuild[mockbuild@arm-recommend ~]$ mkdir -p rpmbuild/SOURCES[mockbuild@arm-recommend ~]$ cp /code/libreoffice/* rpmbuild/SOURCES[mockbuild@arm-recommend ~]$ rpmbuild -ba rpmbuild/SOURCES/libreoffice.spec[mockbuild@arm-recommend ~]$ rpmbuild -ba rpmbuild/SOURCES/libreoffice.spec |& grep needed | awk '{print $1}' | xargs sudo yum install -y至此,环境已准备就绪,我们正式进行编译。4、组件编译安装此步骤建议在chroot环境下进行,一来对chroot环境可以随意修改,不会影响系统,二来多人共用系统环境,免不了对系统有更改,chroot环境更纯净。执行后/root/zyy目录下就是个可用的chroot环境,chroot进去即可进行任意操作。[root@arm-recommend ~]# yum install --installroot=/root/zyy/ -y basesystem yum rpm-build[root@arm-recommend ~]# mount --bind /dev/ /root/zyy/dev[root@arm-recommend ~]# mount --bind /proc/ /root/zyy/proc/安装epel-release,或者自行创建epel.repo文件。推荐所有reo源修改为华为开源镜像站,速度更快更稳定。(EPEL中包含了libreoffice所需的rpm包,无需自行编译解决)bash-4.2# yum install -y epel-releaseSPEC文件是rpmbuild编译出rpm包的核心,其指定了编译期依赖及运行时依赖,也指定了此包的能力。从fedora下载libreoffice的src rpm包安装进行编译,可以大大简化编译及避免运行时可能遇到的问题。(时间精力有限,前期编译并未采用此方法,这条路期待读者自行走完,理论上更简单。)bash-4.2# yum install -y which wget git sudobash-4.2#wget https://kojipkgs.fedoraproject.org//packages/libreoffice/6.1.6.3/1.fc29/src/libreoffice-6.1.6.3-1.fc29.src.rpm   或者,我们可以使用fedora的git库(其中不包含tar包,下载较快,但错误较多,请做好准备)bash-4.2# git clone https://src.fedoraproject.org/rpms/libreoffice.gitbash-4.2# git checkout f29就libreoffice而言,libreoffice的源码包来源于http://download.documentfoundation.org/libreoffice/src/6.1.6/,外部依赖包来源于https://dev-www.libreoffice.org/src/,至于为什么是以下这些包,一方面,libreoffice.spec文件中的Source行,指定了需要那些包以及URL,另一方面,编译过程中会报错需要哪个包,最终如下。<Object: word/embeddings/oleObject1.bin><Object: word/embeddings/oleObject2.bin>4)Libreoffice编译  Spec文件里注释了BuildRequires: pkgconfig(libpq),这个能力是由postgresql-devel提供的,安装即可。[mockbuild@arm-recommend ~]$ sudo yum install -y postgresql-devellibreoffice还要求python版本>=3.3才行,我们安装python36-devel解决(源仓库为epel)[mockbuild@arm-recommend ~]$ sudo yum install -y python36-devel之后就是漫长的等待了。[mockbuild@arm-recommend ~]$ rpmbuild -ba rpmbuild/SOURCES/libreoffice.spec5、系统配置无6、测试没有KVM访问权限,VNC端口亦未开放,所以无法测试功能。安装是没问题的。7、参考信息无8、FAQ无 
  • [中间件] 【华为云鲲鹏云服务最佳实践】【中间件篇】第009期 openldap 2.4.44 安装配置指南
    1、简介      OpenLDAP是轻型目录访问协议(Lightweight Directory Access Protocol,LDAP)的自由和开源的实现,在其OpenLDAP许可证下发行,并已经被包含在众多流行的Linux发行版中。      官方链接:http://www.openldap.org/      类别:协议2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.5 Kernel4.14 软件包openldap-servers2.4.44 openldap-clients2.4.44 3、依赖安装无4、组件编译安装在yum源中安装openldapyum install -y openldap-servers openldap-clients migrationtools设置密码Slappasswd输入密码new password:  123456设置密码re-enter new password:1234565、系统配置无6、测试测试内容:openldap能否正常启动服务systemctl start slapd.servicesystemctl status slapd测试结果:7、参考信息无8、FAQ无