iqbal-lab / Mykrobe-predictor

Antibiotic resistance predictions in minutes on a laptop
Other
50 stars 19 forks source link

Makefile:153: recipe for target 'predictor' failed #93

Closed tseemann closed 8 years ago

tseemann commented 8 years ago

I've run sh install.sh and get this error:

mkdir -p bin; gcc -Iinclude/predictor/core -Ilibs/cortex/include/basic -Ilibs/cortex/include/hash_table -Iinclude/predictor/staph -Ilibs/cortex/include/basic/event_encoding/base_encoding -L/usr/local/lib  -Ilibs/htslib/htslib -Ilibs/seq_file -Ilibs/string_buffer -Llibs/htslib/htslib -Llibs/seq_file -Llibs/string_buffer -L -O3 -m64 -Wall  -DWINDOWS=0 -DVERSION_STR='""' -DNUMBER_OF_BITFIELDS_IN_BINARY_KMER=1 -DNUMBER_OF_COLOURS=1 -DSTAPH=1  -o bin/"mykrobe.predictor.staph" src/obj/predictor/global.o src/obj/predictor/main.o src/obj/predictor/antibiotics.o src/obj/predictor/binary_kmer.o src/obj/predictor/element.o src/obj/predictor/seq.o src/obj/predictor/hash_value.o src/obj/predictor/hash_table.o src/obj/predictor/build.o src/obj/predictor/dB_graph_supernode.o src/obj/predictor/graph_info.o  src/obj/predictor/dB_graph.o src/obj/predictor/db_variants.o src/obj/predictor/cmd_line.o src/obj/predictor/event_encoding.o src/obj/predictor/db_differentiation.o src/obj/predictor/genotyping_known.o src/obj/predictor/known_mutations.o src/obj/predictor/gene_presence.o src/obj/predictor/species.o src/obj/predictor/maths.o src/obj/predictor/file_reader.o src/obj/predictor/mut_models.o src/obj/predictor/gene_presence_models.o  src/obj/predictor/json.o src/obj/predictor/base_species.o -lseqfile -lstrbuf -lhts -lpthread -lz -lm
src/obj/predictor/file_reader.o: In function `_read_first_kmer':
file_reader.c:(.text+0x59b): undefined reference to `_read_k_bases'
file_reader.c:(.text+0x5c8): undefined reference to `_read_k_bases'
file_reader.c:(.text+0x5fe): undefined reference to `_read_k_bases'
file_reader.c:(.text+0x6dd): undefined reference to `_read_k_bases'
src/obj/predictor/file_reader.o: In function `load_se_seq_data_into_graph_colour':
file_reader.c:(.text+0x1688): undefined reference to `_process_read'
src/obj/predictor/file_reader.o: In function `load_pe_seq_data_into_graph_colour':
file_reader.c:(.text+0x1d9a): undefined reference to `_process_read'
file_reader.c:(.text+0x1e0c): undefined reference to `_process_read'
collect2: error: ld returned 1 exit status
Makefile:153: recipe for target 'predictor' failed
make: *** [predictor] Error 1
iqbal-lab commented 8 years ago

Did you do git clone --recursive ?

kgori commented 8 years ago

I also get this linker error (output below). However, everything compiles properly if I remove the "inline" specifications from file_reader.c.

mkdir -p bin; gcc -Iinclude/predictor/core -Ilibs/cortex/include/basic -Ilibs/cortex/include/hash_table -Iinclude/predictor/staph -Ilibs/cortex/include/basic/event_encoding/base_encoding -L/usr/local/lib -Ilibs/htslib/htslib -Ilibs/seq_file -Ilibs/string_buffer -Llibs/htslib/htslib -Llibs/seq_file -Llibs/string_buffer -L -O3 -m64 -Wall -DWINDOWS=0 -DVERSION_STR='""' -DNUMBER_OF_BITFIELDS_IN_BINARY_KMER=1 -DNUMBER_OF_COLOURS=1 -DSTAPH=1 -o bin/"mykrobe.predictor.staph" src/obj/predictor/global.o src/obj/predictor/main.o src/obj/predictor/antibiotics.o src/obj/predictor/binary_kmer.o src/obj/predictor/element.o src/obj/predictor/seq.o src/obj/predictor/hash_value.o src/obj/predictor/hash_table.o src/obj/predictor/build.o src/obj/predictor/dB_graph_supernode.o src/obj/predictor/graph_info.o src/obj/predictor/dB_graph.o src/obj/predictor/db_variants.o src/obj/predictor/cmd_line.o src/obj/predictor/event_encoding.o src/obj/predictor/db_differentiation.o src/obj/predictor/genotyping_known.o src/obj/predictor/known_mutations.o src/obj/predictor/gene_presence.o src/obj/predictor/species.o src/obj/predictor/maths.o src/obj/predictor/file_reader.o src/obj/predictor/mut_models.o src/obj/predictor/gene_presence_models.o src/obj/predictor/json.o src/obj/predictor/base_species.o -lseqfile -lstrbuf -lhts -lpthread -lz -lm src/obj/predictor/file_reader.o: In function _read_first_kmer': file_reader.c:(.text+0x59b): undefined reference to_read_k_bases' file_reader.c:(.text+0x5c8): undefined reference to _read_k_bases' file_reader.c:(.text+0x5fe): undefined reference to_read_k_bases' file_reader.c:(.text+0x6dd): undefined reference to _read_k_bases' src/obj/predictor/file_reader.o: In functionload_se_seq_data_into_graph_colour': file_reader.c:(.text+0x1688): undefined reference to _process_read' src/obj/predictor/file_reader.o: In functionload_pe_seq_data_into_graph_colour': file_reader.c:(.text+0x1d9a): undefined reference to _process_read' file_reader.c:(.text+0x1e0c): undefined reference to_process_read' collect2: error: ld returned 1 exit status

iqbal-lab commented 8 years ago

Thanks for this - what version of gcc do you have?

kgori commented 8 years ago

This was with gcc 5.3.0. I just tried with an older gcc (4.4.7) and there was no problem. Maybe there has been a change in the way inline functions are handled between those compiler versions.

iqbal-lab commented 8 years ago

I guess so - thanks very much for this very helpful info.

tseemann commented 8 years ago

I was using GCC 5.x as well.

Phelimb commented 8 years ago

@kgori We've released a new version that requires and install of mccortex (make) and mykrobe (via pip). See https://github.com/iqbal-lab/Mykrobe-predictor. I'm going to close this issue since I think this should be fixed in latests.

Please open a new issue if you have install issues with the latests version.