• 【算能】sail的python-pcie的编译时候,报错:


    make pysail后:

    In file included from /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/attr.h:13,
                     from /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/pybind11.h:44,
                     from /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/src/bind.cpp:17:
    /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/cast.h: In function ‘std::string pybind11::detail::error_string()’:
    /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/cast.h:442:36: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
      442 |                 "  " + handle(frame->f_code->co_filename).cast() +
          |                                    ^~
    In file included from /home/xuanjiexiao/anaconda3/include/python3.11/Python.h:42,
                     from /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/detail/common.h:112,
                     from /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/pytypes.h:12,
                     from /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/cast.h:13,
                     from /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/attr.h:13,
                     from /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/pybind11.h:44,
                     from /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/src/bind.cpp:17:
    /home/xuanjiexiao/anaconda3/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/attr.h:13,
                     from /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/pybind11.h:44,
                     from /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/src/bind.cpp:17:
    /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/cast.h:442:75: error: expected primary-expression before ‘>’ token
      442 |                 "  " + handle(frame->f_code->co_filename).cast() +
          |                                                                           ^
    /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/cast.h:442:77: error: expected primary-expression before ‘)’ token
      442 |                 "  " + handle(frame->f_code->co_filename).cast() +
          |                                                                             ^
    /home/xuanjiexiao/Downloads/Release_230501-public/sophon-sail_20230605_085400/sophon-sail_3.5.0/sophon-sail/3rdparty/pybind11/include/pybind11/cast.h:444:29: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
      444 |                 handle(frame->f_code->co_name).cast() + "\n";
          |                             ^~
    In file included from /home/xuanjiexiao/anaconda3/include/python3.11/Python.h:42,

    原因分析:

    python版本太高导致的

    解决方案;

    利用conda创建一个虚拟的环境,然后编译,然后得到对应的包,后面的步骤就一样了。

    注意:我使用的python由原来的3.11降级为3.8后可以使用了

  • 相关阅读:
    C++ 删除链表的倒数第N个结点
    记录级别索引:Hudi 针对大型数据集的超快索引
    Linux开发工具之编辑器vim
    [6]辨析云计算交付模型IaaS PaaS SaaS和云部署模型
    CN_以太网规格和传输介质@双绞线@基带同轴电缆
    简单易用的操作界面,让你轻松制作电子期刊
    vue 放大镜(简易)
    机器学习和大数据基础数据集--免费
    java毕业设计社区微服务平台小程序服务器端Mybatis+系统+数据库+调试部署
    Java面试BAT通关手册
  • 原文地址:https://blog.csdn.net/weixin_40749043/article/details/133813972