Pytorch/Libtorch 在制作项目时在 Fedora 上找不到 GLIBC

问题描述 投票:0回答:1

我正在尝试在新笔记本电脑上构建一个使用 Libtorch 的 C++ 项目,但在运行 Make 时不断收到以下错误:

/home/labuser/anaconda3/envs/Research/bin/../lib/gcc/x86_64-conda-linux-gnu/13.1.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/labuser/anaconda3/envs/Research/lib/python3.11/site-packages/torch/lib/libc10.so: undefined reference to `memcpy@GLIBC_2.14'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/learn.dir/build.make:101: learn] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/learn.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

作为参考,我的操作系统是Fedora 38,我使用conda安装了Pytorch/Libtorch和GXX。项目本身是使用CMake构建的,然后运行Make显示上述错误。

我尝试过的事情:

  • 使用
    dnf update glibc
  • 更新了 glibc
  • 在 conda 中更新了我的 Pytorch 安装等

我对如何从这里继续感到相当困惑。

还有一件事:运行 CMakeList 确实抛出了一个警告,而在我的另一台 Fedora 计算机上则没有

-- Caffe2: Protobuf version 3.20.3
CMake Warning at /home/labuser/anaconda3/envs/Research/lib/python3.11/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:22 (message):
  static library kineto_LIBRARY-NOTFOUND not found.
Call Stack (most recent call first):
  /home/labuser/anaconda3/envs/Research/lib/python3.11/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:127 (append_torchlib_if_found)
  CMakeLists.txt:8 (find_package)

关于如何进行有什么建议吗?在编写自己的代码时,我在 glibc 的 stackexchange 上找到了一些建议,不确定如何解决 Pytorch/Libtorch 的问题。

在我的 conda 安装中更新了 Pytorch 和 GXX,使用 dnf 更新了 glibc。

pytorch conda glibc fedora-38
1个回答
0
投票

您面临的问题似乎是由于 Libtorch 使用的 GLIBC 版本与您的 Fedora 系统上可用的 GLIBC 版本不匹配所致。错误消息“对 `memcpy@GLIBC_2.14' 的未定义引用”表明 Libtorch 正在寻找 GLIBC 版本 2.14,但您系统上可用的版本可能不同。

您可以尝试的一种方法是构建并链接与 Fedora 系统上可用的 GLIBC 版本兼容的 Libtorch 版本。您可能需要使用不同版本的 Libtorch 或设置具有所需 GLIBC 版本的虚拟环境。

此外,有关缺少 kineto_LIBRARY 的警告表明您的 Libtorch 安装中可能缺少或配置错误的库。确保您的 Libtorch 安装完整且设置正确。

如果问题仍然存在,您可以考虑联系 PyTorch 社区或您正在开发的项目的开发人员以获得进一步帮助。他们可能有更具体的指导来解决 Fedora 上的 GLIBC 与 Libtorch 的兼容性问题。

© www.soinside.com 2019 - 2024. All rights reserved.