dyld:找不到符号:__ZdaPvm - 运行 KING on Mac OS X

dyld: Symbol not found: __ZdaPvm - Running KING on Mac OS X

我在 Mac OS X 上遇到 运行 KING 问题。我认为这与 dyld link 错误有关。有人对如何修复此错误有任何建议吗?

提前致谢。

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

Returns:

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

我在尝试使用 the provided precompiled Mac version. I was able to get a running version built from source 运行 解压缩的源目录中的以下内容时遇到了类似的问题:

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

首先在上述目录中安装了libomp。我使用 Mac 端口,所以我使用

port install libomp

对于 Homebrew 用户,


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

/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)

对于像我这样多年后寻找答案的人,我设法通过使用 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 的任何地方。