[Transdecoder-users] Two compilation errors on OSX
Extracting likely coding regions from transcript sequences
Brought to you by:
bhaas
From: Dorsey, B. <bd...@hu...> - 2014-02-07 23:08:47
|
Hello decoders, I got the following message when trying to compile transdecoder on Mac OSX 10.7.5: sn01564:transdecoder_rel16JAN2014 bdorsey$ make nopfam cd 3rd_party/ffindex && make HAVE_MPI=1 && make install INSTALL_DIR=../../../util HAVE_MPI=1 make -C src -f Makefile.osx all cd ext && make make[3]: *** No targets specified and no makefile found. Stop. make[2]: *** [ext/fmemopen.o] Error 2 make[1]: *** [all] Error 2 make: *** [ffindex] Error 2 The makefile in /ext is named "Makefile.osx", so I changed: /transdecoder_rel16JAN2014/3rd_party/ffindex/src/Makefile.osx line 11 from "cd ext && make" to "cd ext && make -f Makefile.osx" This fixed the first error but... Then I get this error: sn01564:transdecoder_rel16JAN2014 bdorsey$ make nopfam cd 3rd_party/ffindex && make HAVE_MPI=1 && make install INSTALL_DIR=../../../util HAVE_MPI=1 make -C src -f Makefile.osx all cd ext && make -f Makefile.osx cc -std=c99 -O3 -g -fPIC -Wall -c -o fmemopen.o fmemopen.c cc -std=c99 -O3 -g -fPIC -Wall -fnested-functions -c -o ffindex.o ffindex.c clang: warning: argument unused during compilation: '-fnested-functions' ffindex.c:517:68: error: expected ';' at end of declaration void action(const void *node, const VISIT which, const int depth) ^ ; 1 error generated. make[2]: *** [ffindex.o] Error 1 make[1]: *** [all] Error 2 make: *** [ffindex] Error 2 Below is the block in /transdecoder_rel16JAN2014/3rd_party/ffindex/src/ffindex.c referenced above: int ffindex_tree_write(ffindex_index_t* index, FILE* index_file) { int ret = EXIT_SUCCESS; void action(const void *node, const VISIT which, const int depth) { ffindex_entry_t *entry; switch (which) { case preorder: break; case endorder: break; case postorder: case leaf: entry = *(ffindex_entry_t **) node; if(fprintf(index_file, "%s\t%zd\t%zd\n", entry->name, entry->offset, entry->length) < 0) ret = EXIT_FAILURE; break; } } twalk(index->tree_root, action); return ret; } This one I'm not comfortable trying to fix myself. I know zero about c programming but it doesn't seem there should be a ';' at the end of this line. However, should I put one there or is there another problem to address? Thanks for any help, Brian D. ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Brian Dorsey, Ph.D. Post-Doctoral Research Associate The Huntington Botanical Gardens bd...@hu... |