【问题标题】:Keep getting error incompatible library version libchtslib.so requires version 9.0.0 or later, but libcurl.4.dylib provides version 7.0.0不断报错 库版本不兼容 libchtslib.so 需要 9.0.0 或更高版本,但 libcurl.4.dylib 提供 7.0.0 版本
【发布时间】:2017-05-21 13:19:53
【问题描述】:

我正在尝试安装一个名为 metaBIT 的程序。我能够将它添加到我的 PATH 中。但是当我执行时:

metaBIT -h 

它出错并给了我这个:

Traceback (most recent call last):
File "/Users/twpierson/edirect/metaBIT", line 12, in <module>
import pysam
File "//anaconda/lib/python2.7/site-packages/pysam/__init__.py", line 5, in       <module>
from pysam.libchtslib import *
ImportError: dlopen(//anaconda/lib/python2.7/site-  packages/pysam/libchtslib.so, 2): Library not loaded: libcurl.4.dylib
 Referenced from: //anaconda/lib/python2.7/site-packages/pysam/libchtslib.so
 Reason: Incompatible library version: libchtslib.so requires version 9.0.0    or later, but libcurl.4.dylib provides version 7.0.0

我已经使用谷歌搜索尝试了关于此错误的所有可用建议。

我尝试卸载并重新安装 pysam。

pip uninstall pysamp 
pip install pysam

我仍然遇到同样的错误。请帮忙!

【问题讨论】:

    标签: python macos terminal pip pysam


    【解决方案1】:

    我建议安装 cURLMacPortsHomebrew 版本:

    $ sudo port install curl
    

    这将使用/opt/local/bin/curl 中的MacPorts 安装最新版本的cURL(此时为7.52.1)。 MacPorts 应该完成在 macOS/OS X 上使用此最新版本 cURL 所需的所有链接。安装后,您可以通过以下方式检查 libcurl.4.dylib 版本:

    $ cd /opt/local/lib
    $ otool -L libcurl.4.dylib
    libcurl.4.dylib:
        /opt/local/lib/libcurl.4.dylib (compatibility version 9.0.0, current version 9.0.0)
        /opt/local/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
        /opt/local/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
        /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.8)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)
    

    【讨论】:

    • @user3105519:是的,请按照此处的安装说明进行操作:macports.org/install.php。我会推荐“macOS Package (.pkg) Installer”方法,这是迄今为止最简单的方法(只需几分钟)。
    • 很抱歉,但经过进一步检查,该解决方案仅在我位于 /opt/local/lib 目录时才有效。如果我切换目录,那么 curl 会再次损坏。请帮忙。谢谢!
    • @user3105519:/opt/local/lib 在您的路径中吗?通过 echo $PATH 检查它。还要检查您的系统正在使用哪个版本的 cURL...
    • Curl 7.0.0 我认为系统 curl 似乎在 /opt/local/bin/curl 中。我想我需要编辑 bash 配置文件并将 /opt/local/lib 移动到 /opt/local/bin/curl 之前?
    • 这是我的 echo $PATH: /opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/Users/Bobby/.local ://anaconda/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/Users/Bobby/.local/bin:/Users/Bobby/Desktop/Bob/metabit/KronaTools-2.7/scripts:/用户/Bobby/Desktop/Bob/metabit/samtools:/anaconda/pkgs/bowtie2-2.2.8-py27_2/bin:/opt/local/lib:/opt/blast-2.2.22/bin:/usr/bin: /bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/Bobby/Desktop/bowtie2-2.2.3:/Users/Bobby/Desktop/bowtie-2.2.3 :/Users/Bobby/edirect
    【解决方案2】:

    以下是我的解决方法:

          `conda remove bcftools` 
          `conda update curl`
          `conda install bcftools`
    

    【讨论】:

      猜你喜欢
      • 2013-10-01
      • 2013-09-20
      • 2014-06-04
      • 1970-01-01
      • 2014-02-14
      • 2012-06-23
      • 2015-10-24
      • 1970-01-01
      • 2017-03-21
      相关资源
      最近更新 更多