PaddlePaddle / Paddle

PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)
http://www.paddlepaddle.org/
Apache License 2.0
22.2k stars 5.57k forks source link

源码编译后,import paddle没报错,但是运行程序报错name 'libpaddle' is not defined #68155

Closed kwjlhh closed 1 month ago

kwjlhh commented 1 month ago

问题描述 Issue Description

源码编译cmake指令:cmake .. -DPY_VERSION=3.9 -DWITH_GPU=ON -DWITH_AVX=OFF

import paddle: Python 3.9.19 (main, May 6 2024, 19:43:03) [GCC 11.2.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information.

import paddle /home/miniconda3/envs/videoEnv/lib/python3.9/site-packages/paddle/utils/cpp_extension/extension_utils.py:686: UserWarning: No ccache found. Please be aware that recompiling all source files may be required. You can download and install ccache from: https://github.com/ccache/ccache/blob/master/doc/INSTALL.md warnings.warn(warning_message)

运行报错: Error: Can not import paddle core while this file exists: /home/miniconda3/envs/videoEnv/lib/python3.9/site-packages/paddle/base/libpaddle.so Traceback (most recent call last): File "/home/miniconda3/envs/videoEnv/lib/python3.9/site-packages/paddle/base/core.py", line 267, in from . import libpaddle ImportError: /home/miniconda3/envs/videoEnv/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /home/miniconda3/envs/videoEnv/lib/python3.9/site-packages/paddle/base/libpaddle.so)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/watermark/video-subtitle-remover/gui.py", line 17, in import backend.main File "/home/watermark/video-subtitle-remover/backend/main.py", line 11, in import config File "/home/watermark/video-subtitle-remover/backend/config.py", line 10, in import paddle File "/home/miniconda3/envs/videoEnv/lib/python3.9/site-packages/paddle/init.py", line 37, in from .base import core # noqa: F401 File "/home/miniconda3/envs/videoEnv/lib/python3.9/site-packages/paddle/base/init.py", line 38, in from . import ( # noqa: F401 File "/home/miniconda3/envs/videoEnv/lib/python3.9/site-packages/paddle/base/backward.py", line 28, in from . import core, framework, log_helper, unique_name File "/home/miniconda3/envs/videoEnv/lib/python3.9/site-packages/paddle/base/core.py", line 373, in if not avx_supported() and libpaddle.is_compiled_with_avx(): NameError: name 'libpaddle' is not defined

版本&环境信息 Version & Environment Information

python3 summary_env.py /home/miniconda3/envs/videoEnv/lib/python3.9/site-packages/paddle/utils/cpp_extension/extension_utils.py:686: UserWarning: No ccache found. Please be aware that recompiling all source files may be required. You can download and install ccache from: https://github.com/ccache/ccache/blob/master/doc/INSTALL.md warnings.warn(warning_message)


Paddle version: 0.0.0 Paddle With CUDA: True

OS: ubuntu 22.04 GCC version: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 Clang version: N/A CMake version: N/A Libc version: glibc 2.35 Python version: 3.9.19

CUDA version: 12.6.20 Build cuda_12.6.r12.6/compiler.34431801_0 cuDNN version: N/A Nvidia driver version: 560.35.03 Nvidia driver List: GPU 0: NVIDIA A40 GPU 1: NVIDIA A40 GPU 2: NVIDIA A40 GPU 3: NVIDIA A40


tianshuo78520a commented 1 month ago

ImportError: /home/miniconda3/envs/videoEnv/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found
感觉是环境问题,可以查下环境中,可能有多个libstdc++.so.6? 默认的gcc可能和/home/miniconda3下的libstdc++.so.6版本不一致

kwjlhh commented 1 month ago

ImportError: /home/miniconda3/envs/videoEnv/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found 感觉是环境问题,可以查下环境中,可能有多个libstdc++.so.6? 默认的gcc可能和/home/miniconda3下的libstdc++.so.6版本不一致

使用conda install -c conda-forge gcc=12.1.0更新后,运行程序换了个错报: [<class 'ImportError'>] cannot import name 'fluid' from 'paddle' (/home/miniconda3/envs/videoEnv/lib/python3.9/site-packages/paddle/init.py) Traceback (most recent call last): File "/home/watermark/video-subtitle-remover/gui.py", line 394, in subtitleRemoverGUI = SubtitleRemoverGUI() File "/home/watermark/video-subtitle-remover/gui.py", line 25, in init from paddle import fluid ImportError: cannot import name 'fluid' from 'paddle' (/home/miniconda3/envs/videoEnv/lib/python3.9/site-packages/paddle/init.py) 单独import paddle是不报错的

tianshuo78520a commented 1 month ago

你执行的是什么命令? fluid我们应该已经不再使用了,你的paddle是什么版本的?

kwjlhh commented 1 month ago

你执行的是什么命令? fluid我们应该已经不再使用了,你的paddle是什么版本的?

解决了,把fluid改成base就可以了