linux 编译安装paddlepaddle时报错: is deprecated [Werror=deprecatedcopy]

如果没有特殊情况,建议使用paddle 2.1 ,paddle 2.1 有编译好的现成的C库,具体在最下边介绍。

具体部分报错信息:

/home/chris/work/Paddle/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h:128:35: error: implicitly-declared ‘constexpr Eigen::TensorMap<Eigen::Tensor<const paddle::platform::complex64, 1, 1, long int>, 0, Eigen::MakePointer>::TensorMap(const Eigen::TensorMap<Eigen::Tensor<const paddle::platform::complex64, 1, 1, long int>, 0, Eigen::MakePointer>&)’ is deprecated [-Werror=deprecated-copy]
  128 |       : m_xpr(xpr), m_functor(func) {}
      |                                   ^
In file included from /home/chris/work/Paddle/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/Tensor:149,
                 from /home/chris/work/Paddle/paddle/fluid/platform/bfloat16.h:28,
                 from /home/chris/work/Paddle/paddle/fluid/framework/data_type.h:20,
                 from /home/chris/work/Paddle/paddle/fluid/framework/tensor_util.h:18,
                 from /home/chris/work/Paddle/paddle/fluid/framework/tensor_util.cc:15:

经尝试,是因为gcc(gcc9)版本太新导致的,使用把本机gcc切换成gcc8解决,官网建议使用gcc 8.2.0。

linux中gcc和g++命令是链接的: x86_64-linux-gnu-gcc-(版本号)     和  x86_64-linux-gnu-g++-(版本号),执行文件在/usr/bin/下

可通过ls -l /usr/bin/gcc/g++或ll /usr/bin/gcc/g++查看gcc和g++当前默认使用版本。

安装gcc-8和g++-8,具体安装方式不同系统不一样,请自行百度。我是debian(ubuntu基于debian,所以类似)系统: apt-get install gcc-8、apt-get install g++-8

安装后在/usr/bin/找x86_64-linux-gnu-gcc-8和x86_64-linux-gnu-g++-8,如果能找到说明安装成功!

删除/usr/bin/gcc和/usr/bin/g++软连接:

sudo rm /usr/bin/gcc

sudo rm /usr/bin/g++

重新创建gcc和g++软连接:

ln -s /usr/bin/x86_64-linux-gnu-gcc-8 /usr/bin/gcc

ln -s /usr/bin/x86_64-linux-gnu-g++-8 /usr/bin/g++

尝试重新执行make 或 make -j(并行数)。

希望可以帮到你~OV0

2021-07-11更新:

paddlepaddle inference 2.1版本,已经有现成编译好的2.1C库,如果没有特殊需要,强烈推荐直接下载现成的C编译库,因为在编译过程中,会遇到各种问题,如 需要大量下载-编译github项目,编译过程中也会遇到一些其他的库依赖问题,github网速也不稳定,时好时坏,所以建议下载已编译好的C 库。

https://paddleinference.paddlepaddle.org.cn/v2.1/user_guides/download_lib.html#linux

原文地址:https://www.cnblogs.com/GengMingYan/p/14714096.html