首页 > 其他分享 >pip install METIS

pip install METIS

时间:2024-09-01 21:26:49浏览次数:10  
标签: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://blog.51cto.com/u_14882565/11890179

相关文章

  • 【ERROR_INVALID_PIP】ESP开发环境 esp-idf v5.3 + VSCode + 插件 espressif idf 的搭
    目录一、概述二、详细安装流程1、下载安装ESP-IDF工具安装器2、配置相应的环境变量3、运行Helloworld 三、报错以及处理方法处理方法:四、结语一、概述        文章主要内容是对ESP-IDF的配置安装流程的回顾以及完成helloworld示例项目的构建与烧录,并针......
  • 【Python】如何使用pip,安装第三方库和qrcode、xlrd库的使用
    第三方库第三方库就是别人已经实现好了的库,我们可以拿过来直接使用虽然标准库已经很强大了,但是终究是有限的,而第三方库可以视为是集合了全世界Python程序猿的智慧,可以说是几乎无穷无尽使用pippip是Python内置的包管理器所谓包管理器就类似于我们平时使用的手机......
  • pip install gdal 在Windows系统上安装gdal
     django.core.exceptions.ImproperlyConfigured:CouldnotfindtheGDALlibrary(tried"gdal302","gdal301","gdal300","gdal204","gdal203","gdal202","gdal201","gdal20").Is......
  • 企业对个人信息数据的保护 | CCRC-PIPP​ 个人信息保护专业人员
    在当前数据驱动的时代,个人信息保护不仅是组织合规工作的重要组成部分,也是确保信息资源合规利用的关键。为此,组织须采取必要措施来保障用户个人信息的安全,同时遵守适用的法律规定。为支撑这一目标,中国网络安全审查认证和市场监管大数据中心推出了个人信息保护专业人员(CCRC-PIP......
  • 个人信息保护专业人员(CCRC-PIPP)助力企业数据要素合规有序流通
    在当今数字化时代,个人信息作为企业不可或缺的数据资产,其合规管理与高效流通变得尤为重要。组织须采纳必要措施保护用户信息,同时确保遵循相关法规要求。为此,中国网络安全审查认证和市场监管大数据中心推出了个人信息保护专业人员(CCRC-PIPP)能力认证项目,旨在培养更多专业精英,支......
  • 解决创建VUE项目的时候执行npm install一直是loading状态
    创建VUE项目的时候执行命令npmcreatevue@latestnpminstall然后一直是处于loading状态配置npm代理,切换至国内镜像源先查看当前的镜像源:npmconfiggetregistry直接访问NPM官方仓库(registry.npmjs.org)可能速度较慢甚至不稳定。这时,切换至国内高速npm镜像源。​​​......
  • yum install epel-release, except KeyboardInterrupt, e:, SyntaxError: invalid syn
     yuminstallepel-release File"/usr/bin/yum",line30   exceptKeyboardInterrupt,e:                           ^SyntaxError:invalidsyntax问题原因:由于yum包管理是使用python2写的,由于python3与python2不兼容导致出......
  • 一种PyInstaller中优雅的控制包大小的方法
    PyInstaller会在打包时自动为我们收集一些依赖项,特别是我们在打包PyQt/PySide相关的应用时,PyInstaller会自动包含我们程序通常不需要的文件,如'tanslations'文件夹,'plugins/imageformats'等,通常这些文件会使我们最终的exe文件变大。在网上没有找任何好的方法来排除这些文件,从这个Is......
  • PyInstaller 打包 Python 程序
    使用PyInstaller打包Python程序是一个相对简单直接的过程。PyInstaller允许你将Python程序及其所有依赖项打包成一个独立的可执行文件,这样用户就可以在没有安装Python解释器的系统上运行你的程序了。以下是一个基本的步骤指南,用于使用PyInstaller打包Python程......
  • 自动生成依赖清单:pipreqs,Python项目的救星
    文章目录**自动生成依赖清单:pipreqs,Python项目的救星**背景:为何选择pipreqs?pipreqs是什么?如何安装pipreqs?库函数使用方法场景应用场景一:新项目初始化场景二:更新现有项目依赖场景三:排除特定库常见Bug及解决方案Bug1:找不到项目中的某些依赖Bug2:生成的依赖文件中包含错误......