当前位置:首页 > 技术文章 > 正文内容

CentOS 7.6 aarch64系统源码编译安装mindspore问题处理经验分享

arlanguage4个月前 (01-05)技术文章30

【环境说明】

操作系统: CentOS 7.6 aarch64系统(内核:4.14.0-115.el7a.0.1.aarch64)

CANN环境:5.0.1版本

MindSpore:1.3.0版本(通过git clone 下载)

【问题解决经验总结】

FAQ1 编译时提示GCC 版本不满足大于等于7.3.0条件

问题:

[root@atlas_host01 mindspore]# bash build.sh -e ascend -V 310
---------------- MindSpore: build start ----------------
start build mindspore project.
-DDEBUG_MODE=off -DBUILD_PATH=/home/mindspore/build/ -DENABLE_INFER=ON -DENABLE_DUMP_PROTO=ON -DENABLE_DUMP_IR=on -DENABLE_PYTHON=on -DENABLE_MINDDATA=ON -DUSE_GLOG=ON -DENABLE_ACL=ON -DENABLE_DEBUGGER=ON
CMake Error at CMakeLists.txt:6 (message):
GCC version 4.8.5 must not be less than 7.3.0

解决:

1、重新安装GCC 7.3.0覆盖默认路径/usr相关文件。

2、当前环境GCC 7.3.0版本安装在/usr/local/gcc7.3.0目录下,采用如下方式解决的问题。

3、将/usr/bin/目录下的g++,gcc,c++,cpp重命名,然后创建软连接指向/usr/local/gcc7.3.0/bin目录下对应的g++,gcc,c++,cpp

4、清理build目录下的CMakeCache.txt等文件rm -rf /home/mindspore/build/mindspore/*(注:此步骤相当重要)。

5、然后在mindspore目录下再运行bash build.sh -e ascend -V 310编译

FAQ2 编译第三方依赖包时提示下载失败

问题:

-- Downloading...
dst='/home/mindspore/build/mindspore/_deps/openssl-subbuild/openssl-populate-prefix/src/OpenSSL_1_1_1k.tar.gz'
timeout='none'
inactivity timeout='none'
-- Using src='https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1k.tar.gz'
CMake Error at openssl-subbuild/openssl-populate-prefix/src/openssl-populate-stamp/download-openssl-populate.cmake:170 (message):
Each download failed!

error: downloading 'https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1k.tar.gz' failed
status_code: 35
status_string: "SSL connect error"

解决:

1、通过网址https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1k.tar.gz 单独下载源码包。

2、然后将下载的源码包拷贝到/home/mindspore/build/mindspore/_deps/openssl-subbuild/openssl-populate-prefix/src/OpenSSL_1_1_1k.tar.gz,名字与目录下对应文件名保持一致 如这个目录下文件名:OpenSSL_1_1_1k.tar.gz。

3、然后在mindspore目录下再运行bash build.sh -e ascend -V 310编译

4、其他遇到类似问题,参考此方式处理即可(注意拷贝到的路径正确

FAQ3 编译依赖模块flatbuffers-src时提示,未找到CMAKE_C_COMPILER和CMAKE_CXX_COMPILER

问题:

-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:6 (project):
No CMAKE_C_COMPILER could be found.

Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:6 (project):
No CMAKE_CXX_COMPILER could be found.

Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.

解决:

1、设置CC和CXX环境变量

export CC=/usr/local/gcc7.3.0/bin/gcc
export CXX=/usr/local/gcc7.3.0/bin/g++

2、然后在mindspore目录下再运行bash build.sh -e ascend -V 310编译

FAQ4 编译依赖模块onnx时提示NUMA_LIBRARY-NOTFOUND错误

问题:

-- operation system is Linux-4.14.0-115.el7a.0.1.aarch64
-- ACL module is enabled
-- Cache is enabled
Soft dvpp use glog to print message.
Numa include dir is: NUMA_INCLUDE_DIR-NOTFOUND
Numa library is: NUMA_LIBRARY-NOTFOUND
-- Could NOT find NUMA (missing: NUMA_INCLUDE_DIR NUMA_LIBRARY)

解决:

1、执行sudo yum install numactl-devel 安装numa相关的包(或者:sudo apt-get install libnuma-dev)。

2、然后在mindspore目录下再运行bash build.sh -e ascend -V 310编译

FAQ5 编译依赖模块onnx时提示gmpxx_LIB错误

问题:

-- Configuring done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
gmpxx_LIB
linked by target "mindspore" in directory /home/mindspore/mindspore/ccsrc

解决:

1、编译安装gmp前,执行configure时需要增加参数--enable-cxx,即./configure --enable-cxx,然后再make&&make install。

2、然后在mindspore目录下再运行bash build.sh -e ascend -V 310编译

【相关指导】

参考网址:https://www.mindspore.cn/install




扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/606.html

分享给朋友:

“CentOS 7.6 aarch64系统源码编译安装mindspore问题处理经验分享” 的相关文章

Nginx 解决error.log和access.log日志的改善总结

1. 介绍自从了解了error和access日志的重要性,并且学会阅读相关log文档之后。通过调整nginx配置,解决error中的大量报错提示。通过过滤js等静态资源减少大量的access日志记录内容。同时,经过使用阿里云安全组封禁大量国外ip地址的访问。我的access.log文件和error....

为何说捣腾 Nginx 少不了 Nginx-ui ?还自带 GPT 助手?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!什么是 Nginx UINginx UI 是一个基于 Web 的管理界面,旨在简化 Nginx 服务器的管理和配置。Yet another N...

网站nginx配置限制单个IP访问频率,预防DDOS恶意攻击

一、简介对于网站来说,尤其是流量较大出名的网站,经常遇到攻击,如DDOS攻击等,虽然有些第三方,如Cloudflare可以挡,但对于动态网站PHP来说,只能挡一部分。这时候需要对于单个IP恶意攻击做出限流。nginx的两个模块可以限流。nginx两个限流模块:连接频率限制,ngx_http_lim...

如何让Nginx更安全? nginx怎么保证高可用

网络安全的重要性不言而喻。那么小伙伴们有没有在日常使用 Nginx 的时候,特意去关注下它的安全配置呢?今天松哥和小伙伴们讨论一下如何安全的使用 Nginx,给大伙几个建议。一 使用最新版建议使用最新版的 Nginx,对于已经部署的 Nginx,要及时更新到最新版本,以确保所有已知的安全漏洞都已修补...

大数据分析工程师入门15-数据收集

数据与智能 本公众号关注大数据与人工智能技术。由一批具备多年实战经验的技术极客参与运营管理,持续输出大数据、数据分析、推荐系统、机器学习、人工智能等方向的原创文章,每周至少输出10篇精品原创。同时,我们会关注和分享大数据与人工智能行业动态。欢迎关注。 作者:凯凯连导语上一篇文章我们简单介绍了下大数...

「网络」运维需要掌握的 17 个实用技巧

1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可以用来承接前面的结果,然后将要执行的动作,一般跟find在一起用的很多,fi...