linux 編譯安裝paddlepaddle時報錯: is deprecated [-Werror=deprecated-copy]


如果沒有特殊情況,建議使用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM