gpt4 book ai didi

perl - 安装 Bio::DB::Sam perl 模块

转载 作者:行者123 更新时间:2023-12-04 14:12:33 26 4
gpt4 key购买 nike

我正在尝试安装 perl 模块 Bio::DB::Sam 在远程服务器上的主目录上。

我下载了模块,提取了文件,然后运行:

perl Build.pl prefix=~/local

这就是接下来会发生的事情:
This module requires samtools 0.1.10 or higher (samtools.sourceforge.net).
Please enter the location of the bam.h and compiled libbam.a files: **/some_places/samtools-0.1.19**

Found /some_places/samtools-0.1.19/bam.h and /some_places/samtools-0.1.19/libbam.a.
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Bio-SamTools' version '1.39'

接下来当我尝试运行时:
./Build

这就是我得到的:
  Building Bio-SamTools
gcc -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -o blib/arch/auto/Bio/DB/Sam/Sam.so lib/Bio/DB/Sam.o c_bin/bam2bedgraph.o -L/some_places/samtools-0.1.19 -lbam -lpthread -lz
/usr/bin/ld: /some_places/samtools-0.1.19/libbam.a(bgzf.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/some_places/samtools-0.1.19/libbam.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
error building blib/arch/auto/Bio/DB/Sam/Sam.so from lib/Bio/DB/Sam.o c_bin/bam2bedgraph.o at ~/perl5/lib/perl5/ExtUtils/CBuilder/Base.pm line 323.

我确实用谷歌搜索了可能的解决方案并尝试了几个,但它们没有用,例如 --enable-shared OR export CXXFLAGS="$CXXFLAGS -fPIC" .

我已经在我的主目录中安装了 Bioperl。

任何帮助,将不胜感激。

干杯

最佳答案

这是一个脚本,它将获取 SAMtools 源并对其进行编译,然后获取并编译 Perl 绑定(bind)。

wget http://sourceforge.net/projects/samtools/files/samtools/0.1.18/samtools-0.1.18.tar.bz2
tar xjf samtools-0.1.18.tar.bz2 && cd samtools-0.1.18
make CFLAGS=-fPIC
export SAMTOOLS=`pwd`
cpanm Bio::DB::Sam

您可能看到的部分问题是 SAMtools 项目最近经历了一些重大的代码重组(这自然使得使用外部语言绑定(bind)变得困难)。

关于perl - 安装 Bio::DB::Sam perl 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25556178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com