1

首先我想提一下,我不是程序员,也没有英语母语,但我会尽力做到最好:-)

我一直在寻找一种方法来创建一些漂亮的圆形可视化(和弦图)并在 Circos(http://circos.ca)上遇到困难,这似乎符合我的需求。

安装一直很顺利,直到最后一步,我遇到了 GD 的问题,并在尝试修复它时绕着圈子跑。

这里有一些细节:

  • MacBook Air(视网膜显示屏,13 英寸,2020 年)
  • macOS 蒙特雷版本 12.0.1 (21A559)
  • 马戏团 0.69-9
  • Perl v5.34.0

我已经成功安装了一堆 perl 不同的模块:-)

如果使用 perl 模块进行检查circos -modules,则缺少两个,这就是问题开始的地方:

ok       1.52 Carp
ok       0.45 Clone
ok       2.63 Config::General
ok       3.80 Cwd
ok      2.179 Data::Dumper
ok       2.58 Digest::MD5
ok       2.85 File::Basename
ok       3.80 File::Spec::Functions
ok     0.2311 File::Temp
ok       1.52 FindBin
ok       0.39 Font::TTF::Font
missing            GD
missing            GD::Polyline
ok       2.52 Getopt::Long
ok       1.46 IO::File
ok      0.430 List::MoreUtils
ok       1.55 List::Util
ok       0.01 Math::Bezier
ok   1.999818 Math::BigFloat
ok       0.07 Math::Round
ok       0.08 Math::VecStat
ok    1.03_01 Memoize
ok       1.97 POSIX
ok       1.30 Params::Validate
ok       2.01 Pod::Usage
ok       2.05 Readonly
ok 2017060201 Regexp::Common
ok       2.84 SVG
ok       1.19 Set::IntSpan
ok     1.6611 Statistics::Basic
ok       3.23 Storable
ok       1.23 Sys::Hostname
ok       2.04 Text::Balanced
ok       0.61 Text::Format
ok     1.9767 Time::HiRes

我尝试了各种方法并广泛搜索,但我无法让这两个 GD perl 模块正常工作。

当我使用 brew 安装 GD 时,它似乎安装得很好,但是在检查使用时circos -modules我得到:

dyld [14230]:缺少符号调用

卸载 usingbrew uninstall --ignore-dependencies gd并再次检查后,再次circos -modules报告两个丢失的模块,并且不再显示 dyld 错误。

所以我尝试了一些我不太清楚自己在做什么的事情:-)

...并下载GD 2.73并编译...

perl Makefile.PL --ignore_missing_gd

Where is libgd installed? [/usr/lib] /usr/local/Cellar/

Please choose the features that match how libgd was built:
Build JPEG support? [y] y
Build PNG support? [y] y
Build FreeType support? [y] y
Build GIF support? [y] n
Build XPM support? [y] n

If you experience compile problems, please check the @INC, @LIBPATH and @LIBS
arrays defined in Makefile.PL and manually adjust, if necessary.

Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for GD
Writing MYMETA.yml and MYMETA.json

所以我被鼓励运行该make命令,但不幸的是已经报告了大量警告,所以我决定不继续sudo make install

现在,当我再次检查时,circos -modules我再次遇到同样的错误:-(

重复brew uninstall --ignore-dependencies gd相同的模块丢失后再次报告,我又回到了循环的开头。

在这里,我被困住并在圈子里跑来跑去,任何提示或很少的帮助将不胜感激。

感谢,并有一个愉快的一天!


同时,我关注了@Håkon Hægland 发布的链接

在 Mac OS Big Sur 版本 11.0.1 上安装 circos 时缺少 GD

所以我做了以下事情:

brew install pkg-config
Running `brew update --preinstall`...
==> Auto-updated Homebrew!
Updated Homebrew from cf4848b17 to e76dce1ae.
Updated 1 tap (homebrew/core).
==> Updated Formulae
Updated 16 formulae.
Warning: pkg-config 0.29.2_3 is already installed and up-to-date.
To reinstall 0.29.2_3, run:
  brew reinstall pkg-config

brew install libgd
==> Downloading https://ghcr.io/v2/homebrew/core/gd/manifests/2.3.3_1
Already downloaded: /Users/dirk/Library/Caches/Homebrew/downloads/fb430dd3c55c9f1f523cb280513372f2cc630661b0adf7c78e40dbbb040fe81c--gd-2.3.3_1.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/gd/blobs/sha256:8976ef6710a704e27557e1ad9c2b3aecf9b0b3dc266b212922a6ac22
Already downloaded: /Users/dirk/Library/Caches/Homebrew/downloads/641ee2beaa19a84d66e7e62cb57a1b792eb02fb05306fbfe9ee15b4741649622--gd--2.3.3_1.monterey.bottle.tar.gz
==> Pouring gd--2.3.3_1.monterey.bottle.tar.gz
  /usr/local/Cellar/gd/2.3.3_1: 33 files, 1.4MB
==> Running `brew cleanup gd`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

cpanm GD
GD is up to date. (2.73)

但是当重新运行时circos -modules,我再次收到以下错误:

dyld[3534]: missing symbol called
zsh: abort      circos -modules

还在兜圈子,只是绝望,现在该睡觉了,明天又是新的一天……

感谢所有人的帮助和晚安:-)

4

1 回答 1

0

这个问题终于可以在@håkon-hægland 的帮助下得到解决

我只需要在以下文件中指向正确的 perl 版本:

/usr/local/Cellar/circos/0.69-9/bin/circos

将以下行更改为:

#!/bin/bash

# PERL5LIB="/usr/local/Cellar/circos/0.69-9/libexec/lib/perl5" exec "/usr/local/Cellar/circos/0.69-9/libexec/bin/circos" "$@"

PERL5LIB="/usr/local/bin/perl" exec "/usr/local/Cellar/circos/0.69-9/libexec/bin/circos" "$@"

再次感谢@håkon-hægland,祝您周末愉快 :-)

于 2022-01-22T10:49:11.660 回答