main.cpp:110:54: error: 'open_memstream' was not declared in this scope

149 views
Skip to first unread message

giaco...@gmail.com

unread,
Nov 2, 2015, 9:42:08 AM11/2/15
to SMufin
Hi guys,

I am trying to install SMufin since it seems extremely useful for our goal but Ill'get the same errors in what seems the very final part of the installation. I get this error:

Bioinfo$ sudo make
Password:
mpic++ -o SMuFin main.cpp alphabet.o amino.o array8.o array.o direct.o genarray.o genhash.o gmem.o gs2k.o hash.o mathutil.o mystring.o parse.o seqgen.o stack.o stree.o trace.o util.o blind2.o deep2.o ds.o globals.o helped.o shallow.o getway_s asm bwa.a samtools.a -lz -lmpi -lgomp
main.cpp: In function 'int get_n_lines_from_gzip(gzFile, char**, size_t*, int)':
main.cpp:110:54: error: 'open_memstream' was not declared in this scope
FILE* fph_out = open_memstream(mem_out, size_mem_out);
^
main.cpp: In function 'void read_mem_from_file(char*, char**, size_t*)':
main.cpp:129:41: error: 'open_memstream' was not declared in this scope
FILE* out_fh = open_memstream(mem, size);
^
main.cpp: In function 'void* process_det_mut_block(void*)':
main.cpp:215:68: error: 'open_memstream' was not declared in this scope
FILE* stream_inormal = open_memstream(&mem_inormal, &size_inormal);
^
main.cpp:234:104: error: 'fmemopen' was not declared in this scope
sfile_t* block_file = blockfopen(fmemopen(mem_normal_reads.first, mem_normal_reads.second, "rb"), 0);
^
main.cpp:279:58: error: 'open_memstream' was not declared in this scope
FILE* stream_snvs = open_memstream(&mem_snvs, &size_snvs);
^
main.cpp: In function 'void* process_block_func(void*)':
main.cpp:319:44: error: 'open_memstream' was not declared in this scope
FILE* fph = open_memstream(&mem, &size_mem);
^
main.cpp: In function 'void slave(int)':
main.cpp:709:58: error: 'open_memstream' was not declared in this scope
FILE* stream_out = open_memstream(&mems[i], &sizes[i]);
^
main.cpp:714:69: error: 'open_memstream' was not declared in this scope
FILE* merged_partition = open_memstream(&merged_mem, &merged_size);
^
main.cpp: In function 'std::vector<_MutationBlock*> get_breakpoints(char*, std::vector<_TreeBlock*>&, std::vector<_TreeBlock*>&)':
main.cpp:823:53: error: 'open_memstream' was not declared in this scope
FILE* fmem = open_memstream(&block_mem, &block_size);
^
main.cpp:826:49: error: 'fmemopen' was not declared in this scope
FILE* fb = fmemopen(block_mem, block_size, "rb");
^
make: *** [SMuFin] Error 1


I have installed GCC 4.8.4
OpenMPI 1.10.0

My machine is a MAC OSX Yosemite
3 GHz 8-Core Intel Xeon E5
32 GB 1866 MHz DDR3 ECC

Please, any suggestion on how to solve that??

SMufin

unread,
Nov 6, 2015, 8:29:58 AM11/6/15
to SMufin
Dear Giacomo,

The open_memstream function is a POSIX function which is not available for MAC OSX.

(https://www.gnu.org/software/gnulib/manual/html_node/open_005fmemstream.html)

Smufin is not prepared to run in MAC OSX machines. Could you try to use the application in a linux machine?.


Regards,


Reply all
Reply to author
Forward
0 new messages