BrendelGroup / AEGeAn

Integrated toolkit for analysis and evaluation of annotated genomes
http://brendelgroup.github.io/AEGeAn
ISC License
24 stars 10 forks source link

not compile #134

Closed ecenteno closed 9 years ago

ecenteno commented 9 years ago

Hi,

I'm trying to use Parseval, so I tried to download the AEGeAn package and compile it, but it gives me this message once I type "make":

[compile AgnCliquePair] src/core/AgnCliquePair.c:12:28: fatal error: core/queue_api.h: No such file or directory

include "core/queue_api.h"

I tried also to download Parseval from sourceforge: [http://sourceforge.net/projects/parseval/files/]

I followed the README steps, so I pasted your steps in a script:

test -d /home/eco/projects/dev/parseval/src || mkdir -p /home/eco/projects/dev/parseval/src

cd /home/eco/projects/dev/parseval/src git clone git://genometools.org/genometools.git cd genometools make prefix=/home/eco/projects/dev/parseval 64bit=yes make prefix=/home/eco/projects/dev/parseval 64bit=yes install

cd /home/eco/projects/dev/parseval/src git clone git://parseval.git.sourceforge.net/gitroot/parseval/parseval cd parseval make prefix=/home/eco/projects/dev/parseval GT_INSTALL_DIR=/home/eco/projects/dev/parseval GT_COMPILE_DIR=/home/eco/projects/dev/parseval/src/genometools 64bit=yes make prefix=/home/eco/projects/dev/parseval GT_INSTALL_DIR=/home/eco/projects/dev/parseval GT_COMPILE_DIR=/home/eco/projects/dev/parseval/src/genometools 64bit=yes install

Everything seems to work fine, genometools is properly compiled, but parseval fails with this message:

gcc -Werror -Wall -O3 -DPE_DATA_PATH='"/home/eco/projects/dev/parseval/share/parseval"' -fopenmp -m64 -I /home/eco/projects/dev/parseval/include/genometools/ -I /home/eco/projects/dev/parseval/src/genometools/src/ -I inc -I /usr/include/cairo/ -I /sw/include/cairo/ -o bin/parseval obj/PeCliquePair.o obj/PeComparEval.o obj/PeError.o obj/PeGeneValidator.o obj/PeGtExtensions.o obj/PeNodeVisitor.o obj/PeOptions.o obj/PePairwiseCompareLocus.o obj/PeReports.o obj/PeTranscriptClique.o obj/PeUtils.o obj/parseval.o -lgenometools -lm -L/home/eco/projects/dev/parseval/lib obj/PeGeneValidator.o: In function pe_gene_validator_infer_exons': PeGeneValidator.c:(.text+0x20c): undefined reference togt_genome_node_compare' obj/PeGeneValidator.o: In function pe_gene_validator_infer_introns': PeGeneValidator.c:(.text+0x487): undefined reference togt_genome_node_compare' obj/PeGeneValidator.o: In function pe_gene_validator_infer_utrs': PeGeneValidator.c:(.text+0x82f): undefined reference togt_genome_node_compare' obj/PeGeneValidator.o: In function pe_gene_validator_validate_mrna': PeGeneValidator.c:(.text+0xbab): undefined reference togt_genome_node_compare' PeGeneValidator.c:(.text+0xbb9): undefined reference to gt_genome_node_compare' obj/PeGeneValidator.o:PeGeneValidator.c:(.text+0xbc7): more undefined references togt_genome_node_compare' follow collect2: error: ld returned 1 exit status make: * [bin/parseval] Error 1 gcc -Werror -Wall -O3 -DPE_DATA_PATH='"/home/eco/projects/dev/parseval/share/parseval"' -fopenmp -m64 -I /home/eco/projects/dev/parseval/include/genometools/ -I /home/eco/projects/dev/parseval/src/genometools/src/ -I inc -I /usr/include/cairo/ -I /sw/include/cairo/ -o bin/parseval obj/PeCliquePair.o obj/PeComparEval.o obj/PeError.o obj/PeGeneValidator.o obj/PeGtExtensions.o obj/PeNodeVisitor.o obj/PeOptions.o obj/PePairwiseCompareLocus.o obj/PeReports.o obj/PeTranscriptClique.o obj/PeUtils.o obj/parseval.o -lgenometools -lm -L/home/eco/projects/dev/parseval/lib obj/PeGeneValidator.o: In function pe_gene_validator_infer_exons': PeGeneValidator.c:(.text+0x20c): undefined reference togt_genome_node_compare' obj/PeGeneValidator.o: In function pe_gene_validator_infer_introns': PeGeneValidator.c:(.text+0x487): undefined reference togt_genome_node_compare' obj/PeGeneValidator.o: In function pe_gene_validator_infer_utrs': PeGeneValidator.c:(.text+0x82f): undefined reference togt_genome_node_compare' obj/PeGeneValidator.o: In function pe_gene_validator_validate_mrna': PeGeneValidator.c:(.text+0xbab): undefined reference togt_genome_node_compare' PeGeneValidator.c:(.text+0xbb9): undefined reference to gt_genome_node_compare' obj/PeGeneValidator.o:PeGeneValidator.c:(.text+0xbc7): more undefined references togt_genome_node_compare' follow collect2: error: ld returned 1 exit status make: * [bin/parseval] Error 1

Thanks in advance

standage commented 9 years ago

The SourceForge ParsEval package is definitely out-of-date and should not be used. This should be very clear from the SourceForge site.

The AEGeAn package is definitely what you want. Where did you download it from? Did you have trouble finding the installation instructions?

ecenteno commented 9 years ago

Ok, I finally made it work. As you say, I could not make work the sourceforge version. I did not found the installation instructions until I discovered the official webpage, where there are good installation instructions. Following the "for impatient people" instructions I just found a problem when downloading aegean using curl. I used wget and mv instead. Since I installed the software as non-root user, I'm pasting here my installation script, just in case it may help someone. Maybe it can be simplified and become more elegant, but it worked for me:

Install pre-requisite packages with your OS's package manager

sudo apt-get install -y build-essential git libcairo2-dev libpango1.0-dev

test -d /home/eco/projects/dev/local || mkdir -p /home/eco/projects/dev/local cd /home/eco/projects/dev/local

Download, compile, and install the GenomeTools package

curl -O http://genometools.org/pub/genometools-unstable.tar.gz tar xzf genometools-unstable.tar.gz cd genometools-unstable make prefix=/home/eco/projects/dev/local 64bit=yes make prefix=/home/eco/projects/dev/local 64bit=yes install

Make sure that the compiler/linker can find the GenomeTools library

sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/genometools-x86_64.conf'

sudo ldconfig

Download, compile, and install the AEGeAn Toolkit

curl https://github.com/standage/AEGeAn/archive/v0.12.2.tar.gz > AEGeAn-0.12.2.tar.gz

wget https://github.com/standage/AEGeAn/archive/v0.12.2.tar.gz mv v0.12.2.tar.gz AEGeAn-0.12.2.tar.gz tar xzf AEGeAn-0.12.2.tar.gz cd AEGeAn-0.12.2 export LD_LIBRARY_PATH="/usr/lib:/home/eco/projects/dev/local/lib" sudo ldconfig make -L /home/eco/projects/dev/local/lib prefix=/home/eco/projects/dev/local test make -L /home/eco/projects/dev/local/lib prefix=/home/eco/projects/dev/local install

Cheers

standage commented 9 years ago

I'm glad the installation instructions helped. I always welcome suggestions if any of the wording or instructions can be improved!