编译成功了,运行为什么会失败_cython编译python

编译成功了,运行为什么会失败_cython编译python编译caffe2遇到的坑最新的caffe2已经移到pytorch中去了,直接下载其中的代码然后按照官方教程就可以了。这里会遇到新的问题:make[3]:Enteringdirectory‘/home/ubuntu/caffe2-master/build’make[3]:Leavingdirectory‘/home/ubuntu/caffe2-master/build’…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

编译caffe2源码遇到的坑


最新的caffe2 已经移到pytorch中去了,直接下载其中的代码然后按照官方教程就可以了。

编译遇到的问题:

make[3]: Entering directory '/home/ubuntu/caffe2-master/build'
make[3]: Leaving directory '/home/ubuntu/caffe2-master/build'
make[3]: Entering directory '/home/ubuntu/caffe2-master/build'
[ 92%] Linking CXX executable ../bin/mpi_test
/usr/bin/ld: CMakeFiles/mpi_test.dir/mpi/mpi_test.cc.o: undefined reference to symbol '_ZN3MPI8Datatype4FreeEv'
//usr/lib/libmpi_cxx.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
caffe2/CMakeFiles/mpi_test.dir/build.make? recipe for target 'bin/mpi_test' failed
make[3]: *** [bin/mpi_test] Error 1
make[3]: Leaving directory '/home/ubuntu/caffe2-master/build'
CMakeFiles/Makefile2:2654: recipe for target 'caffe2/CMakeFiles/mpi_test.dir/all' failed
make[2]: *** [caffe2/CMakeFiles/mpi_test.dir/all] Error 2
make[2]: Leaving directory '/home/ubuntu/caffe2-master/build'
Makefile:140: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/ubuntu/caffe2-master/build'
Makefile:4: recipe for target 'all' failed
make: *** [all] Error 2

Jetbrains全家桶1年46,售后保障稳定

问题出在MPI的链接问题中。

因此你需要修改的文件如下:
pytorch->caffe2->CMakefiles.txt
添加如下到最后行就可以了:

SET(CMAKE_C_COMPILER mpicc)
SET(CMAKE_CXX_COMPILER mpicxx)
include_directories(MPI_INCLUDE_PATH)
target_link_libraries(mpi_test ${MPI_LIBRARIES})

测试遇到的问题

再输入测试时候会遇到问题:
python -c 'from caffe2.python import core'
发现不能import caffe2_pb,这一步其实是因为路径存在问题。
如果你位于PATH_TO/pytorch/build
你就会发现,可以解决了,因此你需要把这个目录加载到PYTHONPATH中去。
具体方法:
echo 'export PYTHONPATH=$PYTHONPATH:PATH_TO/pytorch/build' >> ~/.bashrc
中去。然后
source ~/.bashrc
就可以了。

其中PATH_TO需要根据你自己的电脑上的目录操作。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226862.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月23日 上午8:01
下一篇 2025年6月23日 上午8:43


相关推荐

  • StringTokenizer用法[通俗易懂]

    StringTokenizer用法[通俗易懂]StringTokenizer可以将一个字符串分解为一个一个的单词或者标记。常用方法如下:methodcontentintcountTokens()返回nextToken方法被调用的次数。booleanhasMoreTokens()返回是否还有分隔符。booleanhasMoreElements()返回是否还有分隔符。StringnextTo…

    2025年8月2日
    5
  • JS处理文件流

    JS处理文件流最近做一个项目 遇到了一个问题 就是导出 Excel 功能 多普通呀 多大众化 哪里都有 可惜我们后台说给我 JSON 数据 自己处理 我果断拒绝了 拒绝的里有是我菜 实现不了啊 然后后台开发看不下去了 就是转成文件流给我吧 他们那里是分布式部署 也没有办法持久化存储 遂发生了一下的故事百度没有怎么做过 肯定是百度啦 然后找打了一段代码 代码内容如下 functiondown

    2026年3月18日
    2
  • (完美解决)升级win10,提示VirtualBox 立即卸载此应用,因为它与Windows 10 不兼容

    (完美解决)升级win10,提示VirtualBox 立即卸载此应用,因为它与Windows 10 不兼容今天 Windows 提醒升级 但是我升级完成之后就遇到这样的问题 在不停的刷新与寻到 virtualBox 还是无法解决问题 因为我的软件列表之中根本没有这个软件名字 问题如下图 目录问题描述解决步骤出现插曲完美解决问题描述解决步骤选择列表之中的所有东西删除 因为

    2026年3月26日
    2
  • 服务器购买_服务器可以挂什么赚钱

    服务器购买_服务器可以挂什么赚钱原标题:解放双手,什么值得买自动签到京东自动签到给你更多时间享受生活日活作为考核运营狗的重要指标,为了日活,签到成了各大网站和app日活指标达成的重要举措。签到给红包、签到升等级、签到拿好礼,种种签到福利固然好,可苦了佛系玩家,不签到没奖励、不签到没等级没金币各种限制。那么今天就给大家搬运个小福利:自动签到!当然对于itg是不屑的,能分分钟写出代码然后放置服务器自动运行。小白,自然要依靠大佬的…

    2025年11月11日
    4
  • 二、面向对象编程

    二、面向对象编程

    2021年8月19日
    56
  • 网络传输的两种方式——同步传输和异步传输的区别[通俗易懂]

    网络传输的两种方式——同步传输和异步传输的区别[通俗易懂]在网络通信过程中,通信双方要交换数据,需要高度的协同工作。为了正确的解释信号,接收方必须确切地知道信号应当何时接收和处理,因此定时是至关重要的。在计算机网络中,定时的因素称为位同步。同步是要接收方按照发送方发送的每个位的起止时刻和速率来接收数据,否则会产生误差。通常可以采用同步或异步的传输方式对位进行同步处理。1.异步传输(AsynchronousTransmission):异步传输…

    2022年4月19日
    277

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号