首页 > 其他分享 >pip install METIS

pip install METIS

时间:2024-07-20 11:52:28浏览次数:12  
标签:libmetis so.6 GKlib METIS so install linux pip

python 的包 METIS 需要在本地安装 METIS,METIS 本身又是依赖 GKlib 的,所以需要首先编译 GKlib,然后编译 METIS

编译 GKlib

make config CONFIG_FLAGS='-D BUILD_SHARED_LIBS=ON -D CMAKE_INSTALL_PREFIX=/home/hongyu_gao2001/GKlib'

编译 METIS

make config shared=1 cc=gcc prefix=/home/hongyu_gao2001/METIS gklib_path=/home/hongyu_gao2001/GKlib

这里 gklib_path 或许是重要的,不知道不加能不能行

undefined symbol

编译后执行 python 程序报错 libmetis.so: undefined symbol: gk_jbufs

ldd libmetis.so 会发现并没有 libGKlib.so

$ ldd libmetis.so 

linux-vdso.so.1 (0x00007fff1b54c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x000079f3f6980000)
/lib64/ld-linux-x86-64.so.2 (0x000079f3f6bf9000)

最终的解决方案来自这里

实际做的处理就是向 libmetis/CMakeLists.txt 中添加了一句 target_link_libraries(metis GKlib)

然后 ldd 的结果中就应该会包含 libGKlib.so

ldd libmetis.so 

linux-vdso.so.1 (0x00007ffe573f8000)
libGKlib.so => /home/hongyu_gao2001/GKlib/lib/libGKlib.so (0x00007f8291508000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f82912d6000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8291594000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f82911ef000)

所以实际原因应该就是即使 GKlib 正确安装了,但是还链接上,不过这个问题很神奇,因为我明明看到编译指令中是包含 -lGKlib 的,但是最后居然没有链接上。

标签:libmetis,so.6,GKlib,METIS,so,install,linux,pip
From: https://www.cnblogs.com/hongyugao/p/18312919

相关文章

  • 为了Python换源,我开发了一个库「pipco 0.0.19」
    你好,我是悦创。有时候某个源又出问题,或者频繁切换源。我就想开发一个库可以切换的,链接:https://pypi.org/project/pipco/库是开源的,可以自行学习或者使用。使用方法:安装pipinstallpipco查看帮助pcohelp当你需要使用Python时,Pip是一个非常重要的工具,它用于安......
  • Python - Conda - 对比 conda 和 pip
    之前已经写过一篇和工具相关的文章:《工具篇:makeasparrowcmakebuildsystem》,本文继续这个话题,大家可能都用过conda和pip,但是对于他们的区别和关系,可能大家不一定很清楚,本文来尝试做一些总结。一、conda1.1简介conda是一个通用的包管理器,意思是什么语言的包都可以用它进行管......
  • npm/yarn/pnpm install失败:ERR_PNPM_NO_VERSIONS No versions available for uWebSock
    ERR_PNPM_NO_VERSIONS NoversionsavailableforuWebSockets.js.Thepackagemaybeunpublished.我在新项目中想要切换包管理器从yarn到pnpm的时候,删除node_modules和yarn.lock之后,pnpminstall竟然提示这个包可能没发布。我觉得这个不可能,都需要使用了,怎么可能没发......
  • qtchooser -install qt6 $(which qmake6)
    qtchooser-installqt6$(whichqmake6)https://askubuntu.com/questions/1460242/ubuntu-22-04-with-qt6-qmake-could-not-find-a-qt-installation-of InUbuntu22.04afterinstalling Qt6 usingsudoaptinstallqt6-base-devcalling qmake resultsinaner......
  • Transformers Pipeline + Mistral-7B-Instruct-v0.x修改Chat Template
    在使用https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.3提供的Generatewithtransformers代码进行测试时,产生以下报错:fromtransformersimportpipelinemessages=[{"role":"system","content":"Youareapiratechatbotwhoalw......
  • Python安装出现严重错误的解决方法_0x80070643-( A newer version of the Python laun
    每次在装软件配置环境的时候,总会遇到别人碰不到的各种问题,人都麻了。最后我还是自己尝试这解决了,只是建议,虽然说不知道是否以后还会问题,但是可以成功安装,配置环境并运行。(本人是win11)首先解释一下pythonlauncher是什么资料解释:PythonLauncher是Python官方提供的一个工具,......
  • 安装软件Docker Desktop Installer.exe后导致的AMD显卡掉驱动,提示:The version of AMD
    打开AMDRadeonSoftware时总是弹出“TheversionofAMDRadeonSoftwareyouhavelaunchedisnotcompatiblewithyourcurrentlyinstalledAMDgraphicsdriver."提示框,如图所示:TheversionofAMDRadeonSoftwareyouhavelaunchedisnotcompatiblewithyourcurr......
  • 数据结构与算法 —— Transformers之Pipeline
    Transformers之Pipeline是HuggingFaceTransformers库中提供的一种使用预训练模型进行推理的极简方式。这些Pipeline对象从库中抽象出大部分复杂代码,为多项任务(如命名实体识别、情感分析、特征提取和问答等)提供了简单的API。以下是对Transformers之Pipeline的详细介绍:一、......
  • Broken pipe异常分析及解决
    Brokenpipe异常分析报1.错误描述ClientAbortException:java.io.IOException:Brokenpipe可能出现原因:TCP服务端write数据时,收到SIGPIPE信号(连接已经终止)场景:TCP握手尚未结束时,连接已经close;服务端收到一次read,但write了多次;连接通道被占满,新连接被拒绝时,client中断了......
  • Nessus Professional 10.7 Auto Installer for macOS Sonoma (updated Jul 2024)
    NessusProfessional10.7AutoInstallerformacOSSonoma(updatedJul2024)发布Nessus试用版自动化安装程序,支持macOSSonoma、RHEL9和Ubuntu24.04请访问原文链接:https://sysin.org/blog/nessus-auto-install-for-macos/,查看最新版。原创作品,转载请保留出处。Ness......