arm源码安装paddle2.6报错void* memcpy(void*, const void*, size_t)

velaa5lx  于 5个月前  发布在  其他
关注(0)|答案(5)|浏览(46)

问题描述 Issue Description

按照 https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/compile/arm-compile.html这篇文档在python3.10.14上安装paddlepaddle。
前面的步骤执行很顺利,执行到步骤9
9.使用以下命令来编译,注意,因为处理器为 ARM 架构,如果不加TARGET=ARMV8则会在编译的时候报错。
make TARGET=ARMV8 -j$(nproc)
报错:error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of non-trivial type ‘Eigen::internal::Packet4c’ {aka ‘struct Eigen::internal::eigen_packet_wrapper<int, 2>’} from an array of ‘const int8_t’ {aka ‘const signed char’} [-Werror=class-memaccess]

版本&环境信息 Version & Environment Information

Paddle version: N/A
Paddle With CUDA: N/A

OS: debian 12
GCC version: (Debian 12.2.0-14) 12.2.0
Clang version: N/A
CMake version: version 3.16.8
Libc version: glibc 2.36
Python version: 3.10.14

CUDA version: N/A
cuDNN version: N/A
Nvidia driver version: N/A
Nvidia driver List: N/A

eivgtgni

eivgtgni1#

很多这样的报错

efzxgjgh

efzxgjgh2#

您好,我们正在联系相关开发同学进行复现,复现后会尽快联系您,感谢您的反馈!

yr9zkbsy

yr9zkbsy3#

您好, https://www.paddlepaddle.org.cn/documentation/docs/zh/install/compile/arm-compile.html 这篇文章里面对ARM的原吗编译有点老了。您如果需要公版ARM的 PaddlePaddle ARM CPU 的安装包,可以从 https://www.paddlepaddle.org.cn/whl/linux/cpu-mkl/develop.html 这个链接中直接下载。

如果您需要源码编译PaddlePaddle ARM CPU的安装包,可以参考如下步骤进行编译,建议使用飞桨的开发镜像,这样可以避免很多因为环境差异导致的编译问题。

# 启动容器镜像命令参考
docker pull registry.baidubce.com/device/paddle-cpu:ubuntu20-$(uname -m)-gcc84-py310
docker run -dit --name paddle-cpu-dev -v $(pwd):/work \
  --network=host --shm-size=128G --workdir=/work \
  --cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
  registry.baidubce.com/device/paddle-cpu:ubuntu20-$(uname -m)-gcc84-py310 /bin/bash

# 下载源码,默认 develop 分支
git clone https://github.com/PaddlePaddle/Paddle.git
cd Paddle

# 创建编译目录
mkdir build && cd build

# 源码编译cmake命令参考
cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
  -DPY_VERSION=3.10 -DPYTHON_EXECUTABLE=`which python3` \
  -DWITH_TESTING=OFF -DON_INFER=ON -DWITH_DISTRIBUTE=ON -DWITH_ARM=ON

# 编译命令
make TARGET=ARMV8 -j16
zkure5ic

zkure5ic4#

@qili93 您好,我按照您的说明分别试了一下直接执行安装包和源码,仍然都报错。
其中:
直接执行安装包报错信息

源码安装报错

cmake报错完整信息.txt

想问下,这个安装步骤在我上面发的环境下测试过吗?

dl5txlt9

dl5txlt95#

用的官方提供的docker执行时候,报了和上面一样的错误

相关问题