Installation Failure
Hello,
I am trying to install gffread in cluster environment (Rocks Compute Node Rocks 7.0 (Manzanita) ) following the directions on the git page. However, I receive error 1 from make. Guidance on how to solve this issue would be appreciated.
Thanks.
git clone https://github.com/gpertea/gffread
cd gffread
make release
(base) [botantisty@biocomp-0-1 gffread]$ make release
.../miniconda3/bin/x86_64-conda_cos6-linux-gnu-c++ -O3 -DNDEBUG -Wall -Wextra -std=c++11 -I. -I../gclib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT -fno-strict-aliasing -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -c gff_utils.cpp -o gff_utils.o
In file included from gff_utils.cpp:1:0:
gff_utils.h:92:8: error: 'GRangeParser' does not name a type
extern GRangeParser* fltRange;
^~~~~~~~~~~~
gff_utils.h:94:8: error: 'GRangeParser' does not name a type
extern GRangeParser* fltJunction;
^~~~~~~~~~~~
gff_utils.cpp:50:1: error: 'GRangeParser' does not name a type
GRangeParser* fltRange=NULL;
^~~~~~~~~~~~
gff_utils.cpp:52:1: error: 'GRangeParser' does not name a type
GRangeParser* fltJunction=NULL;
^~~~~~~~~~~~
gff_utils.cpp: In member function 'bool GffLoader::checkFilters(GffObj*)':
gff_utils.cpp:435:6: error: 'fltRange' was not declared in this scope
if (fltRange!=NULL) { //filter by gseqName
^~~~~~~~
gff_utils.cpp:435:6: note: suggested alternative: 'fmtTable'
if (fltRange!=NULL) { //filter by gseqName
^~~~~~~~
fmtTable
gff_utils.cpp:458:11: error: 'class GffObj' has no member named 'removeAttrs'; did you mean 'removeAttr'?
gffrec->removeAttrs(attrList);
^~~~~~~~~~~
removeAttr
gff_utils.cpp:469:7: error: 'fltJunction' was not declared in this scope
if (fltJunction!=NULL) {
^~~~~~~~~~~
gff_utils.cpp: In member function 'bool GffLoader::process_transcript(GFastaDb&, GffObj&)':
gff_utils.cpp:757:15: error: 'class GffObj' has no member named 'printAttrs'; did you mean 'parseAttrs'?
gffrec.printAttrs(f_y, ";", false, decodeChars, false);
^~~~~~~~~~
parseAttrs
gff_utils.cpp:768:13: error: 'class GffObj' has no member named 'printAttrs'; did you mean 'parseAttrs'?
gffrec.printAttrs(f_x, ";", false, decodeChars, false);
^~~~~~~~~~
parseAttrs
gff_utils.cpp:834:15: error: 'class GffObj' has no member named 'printAttrs'; did you mean 'parseAttrs'?
gffrec.printAttrs(f_w, ";", false, decodeChars, false);
^~~~~~~~~~
parseAttrs
gff_utils.cpp: In member function 'void GffLoader::load(GList<GenomicSeqData>&, void (*)(const char*, GfList*))':
gff_utils.cpp:1449:8: error: 'class GffReader' has no member named 'procEnsemblID'
gffr->procEnsemblID(this->ensemblProc);
^~~~~~~~~~~~~
make: *** [Makefile:72: gff_utils.o] Error 1
I had the same problem, which was apparently due to an older ../gclib being already installed. The instructions say
Building this program from source requires the GCLib source code library. The make command should automatically fetch the latest gclib version from the repository if no ../gclib directory is found.
The old ../gclib stopped the automatic fetch, and the old gclib files don't have the correct definitions, so the compile failed. Removing the old ../gclib folder allowed the automatic fetch to do its work and the compile completed.
Thank you for @wlkath !!