Sto tentando di installare un modulo perl Bio::DB::Sam
sulla mia directory home su un server remoto.Installazione del modulo Bio :: DB :: Sam perl
Ho scaricato il modulo, estratti i file, e corse:
perl Build.pl prefix=~/local
questo è ciò che succede dopo:
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'
Avanti quando provo a fare funzionare:
./Build
questo è quello che ottengo:
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.
Ho fatto a google le soluzioni possibili e ho provato un paio, ma non hanno funzionato, ad es. --enable-shared OR export CXXFLAGS="$CXXFLAGS -fPIC"
.
Ho già installato Bioperl nella mia home directory.
Qualsiasi aiuto sarebbe apprezzato.
Acclamazioni
Hai mandato un'email all'autore di samtools per chiedere assistenza? –
No, non l'ho ancora fatto. Al momento, sto cercando di ricompilare la versione di samtools dalla nostra parte usando -fPIC per vedere se continuo a vedere lo stesso problema durante l'installazione di Bio :: DB :: Sam. – Nikleotide
Questo è abbastanza comune, nella mia esperienza. Devi 'make clean' nella directory samtools, quindi modifica il Makefile nella dist samtools per aggiungere" -fPIC "ai CFLAGS. Successivamente, puoi provare a creare Bio-SamTools. – SES