dyld:未找到符号:__ ZdaPvm - 在Mac OS X上运行KING

时间:2018-05-09 07:02:54

标签: macos bioinformatics dyld genetics

我在Mac OS X上运行KING时出现问题。我认为它与dyld链接错误有关。有没有人对如何解决这个错误有任何建议?

提前致谢。

   > ./king -b ./ex/ex.bed

返回:

dyld: Symbol not found: __ZdaPvm
  Referenced from: /Users/gaelgarcia/Downloads/./king (which was built for Mac OS X 10.13)
  Expected in: /usr/local/lib/libstdc++.6.dylib
 in /Users/gaelgarcia/./king
Abort trap: 6

2 个答案:

答案 0 :(得分:2)

尝试使用the provided precompiled Mac version时遇到类似问题。我能够在解压缩的源目录中运行以下代码来运行构建from source的运行版本:

clang++ -L /opt/local/lib/libomp/ -lm -lz -O2 -fopenmp -o king *.cpp

首先在上面的目录中安装 libomp 。我使用Macports,所以我用

做了这个
port install libomp

对于Homebrew用户,the recommendation seems to be to simply install llvm, which now includes openmp support directly.

编辑已经通过Homebrew(llvm)安装了brew install llvm,在我的Mac OS 10.12上正确构建并运行KING的命令是:

/usr/local/Cellar/llvm/6.0.0/bin/clang++ -I /usr/local/Cellar/llvm/6.0.0/include -L /usr/local/Cellar/llvm/6.0.0/lib -O2 -fopenmp -lm -lz -o king *.cpp

使用提供的示例.bed文件运行新构建的可执行文件:

> ./king -b ../ex/ex.bed

KING 2.1.3 - (c) 2010-2018 Wei-Min Chen

The following parameters are in effect:
Binary File :    ../ex/ex.bed (-bname)

答案 1 :(得分:0)

对于像我这样寻求答案的人,几年后,我设法通过在Homebrew上安装gcc来解决了这个问题。

brew install gcc 

其中包括libgfortran。既然我在Anaconda中安装了dyld,可能没有必要,但是我发现这是让King在Mac上运行的最简单方法。

编辑:我还必须通过

在我的bash个人资料中设置DYLD_LIBRARY_PATH
nano ~/.bash_profile

并添加

export DYLD_LIBRARY_PATH=/opt/local/lib/libgcc/

或在计算机上搜索动态库libgcc_s.1.dylib的位置。