COMBINE-lab / cuttlefish

Building the compacted de Bruijn graph efficiently from references or reads.
BSD 3-Clause "New" or "Revised" License
83 stars 9 forks source link

problem with installing cuttlefish from the source #17

Closed PandorasRed closed 2 years ago

PandorasRed commented 2 years ago

hello,

when i'm trying to install your software with the command line you give in your readme, my computer give me this error:

[ 13%] No update step for 'prj_jemalloc' [ 15%] No patch step for 'prj_jemalloc' [ 16%] Performing configure step for 'prj_jemalloc' autoconf ./autogen.sh: line 5: autoconf: command not found Error 0 in autoconf make[2]: [CMakeFiles/prj_jemalloc.dir/build.make:125: prj_jemalloc-prefix/src/prj_jemalloc-stamp/prj_jemalloc-configure] Error 1 make[1]: [CMakeFiles/Makefile2:148: CMakeFiles/prj_jemalloc.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... /usr/bin/ld: cannot find -lpthread /usr/bin/ld: cannot find -lm /usr/bin/ld: cannot find -lc collect2: error: ld returned 1 exit status make[3]: [Makefile:126: kmc] Error 1 make[2]: [CMakeFiles/prj_kmc.dir/build.make:130: prj_kmc-prefix/src/prj_kmc-stamp/prj_kmc-build] Error 2 make[1]: [CMakeFiles/Makefile2:121: CMakeFiles/prj_kmc.dir/all] Error 2 make: *** [Makefile:149: all] Error 2

i tried to install it on another computer and i have exactly the same error

jamshed commented 2 years ago

Hello @PandorasRed, from the log, I believe that you may not have autoconf installed in the machine. Could you please check if you have it installed, and if not, please try the following to install it before attempting a clean compilation of Cuttlefish:

sudo apt-get install autoconf

Thanks.

PandorasRed commented 2 years ago

i installed autoconf and now i have this error :

Scanning dependencies of target prj_kmc Scanning dependencies of target prj_jemalloc [ 1%] Creating directories for 'prj_kmc' [ 3%] Creating directories for 'prj_jemalloc' [ 4%] Performing download step for 'prj_kmc' [ 6%] Performing download step for 'prj_jemalloc' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 567k 0 567k 0 0 1208k 0 --:--:-- --:--:-- --:--:-- 1208k 100 1552k 0 1552k 0 0 2293k 0 --:--:-- --:--:-- --:--:-- 2293k [ 7%] No update step for 'prj_kmc' [ 9%] Performing patch step for 'prj_kmc' patching file Makefile patching file kmc_CLI/kmc.cpp patching file kmc_api/kmer_defs.h patching file kmc_core/defs.h patching file kmc_core/queues.h [ 10%] No update step for 'prj_jemalloc' [ 12%] No configure step for 'prj_kmc' [ 13%] No patch step for 'prj_jemalloc' [ 15%] Performing build step for 'prj_kmc' [ 16%] Performing configure step for 'prj_jemalloc' make[3]: warning: -jN forced in submake: disabling jobserver mode. autoconf ./configure --enable-autogen --disable-debug --enable-static --prefix=/pasteur/appa/scratch/oguinard/cuttlefish/external --silent [ 18%] Performing build step for 'prj_jemalloc' src/jemalloc.c:2986:7: warning: ‘libc_calloc’ specifies less restrictive attributes than its target ‘calloc’: ‘alloc_size’, ‘leaf’, ‘malloc’, ‘nothrow’ [-Wmissing-attributes] 2986 | void *libc_calloc(size_t n, size_t size) PREALIAS(je_calloc); | ^~~~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:541:14: note: ‘libc_calloc’ target declared here 541 | extern void *calloc (size_t nmemb, size_t size) | ^~ src/jemalloc.c:3001:7: warning: ‘libc_valloc’ specifies less restrictive attributes than its target ‘valloc’: ‘leaf’, ‘malloc’, ‘nothrow’ [-Wmissing-attributes] 3001 | void libc_valloc(size_t size) PREALIAS(je_valloc); | ^~~~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:572:14: note: ‘libc_valloc’ target declared here 572 | extern void valloc (size_t size) THROW attribute_malloc wur; | ^~ src/jemalloc.c:2998:7: warning: ‘libc_realloc’ specifies less restrictive attributes than its target ‘realloc’: ‘alloc_size’, ‘leaf’, ‘nothrow’ [-Wmissing-attributes] 2998 | void *libc_realloc(void ptr, size_t size) PREALIAS(je_realloc); | ^~~~~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:549:14: note: ‘__libc_realloc’ target declared here 549 | extern void realloc (void *ptr, size_t size) | ^~~ src/jemalloc.c:2995:7: warning: ‘libc_memalign’ specifies less restrictive attributes than its target ‘memalign’: ‘malloc’, ‘nothrow’ [-Wmissing-attributes] 2995 | void __libc_memalign(size_t align, size_t s) PREALIAS(je_memalign); | ^~~~~~~ In file included from include/jemalloc/internal/jemalloc_preamble.h:21, from src/jemalloc.c:2: include/jemalloc/internal/../jemalloc.h:83:23: note: ‘libc_memalign’ target declared here 83 | # define je_memalign memalign | ^~~~ src/jemalloc.c:2885:1: note: in expansion of macro ‘je_memalign’ 2885 | je_memalign(size_t alignment, size_t size) { | ^~~ src/jemalloc.c:2992:7: warning: ‘libc_malloc’ specifies less restrictive attributes than its target ‘malloc’: ‘alloc_size’, ‘leaf’, ‘malloc’, ‘nothrow’ [-Wmissing-attributes] 2992 | void libc_malloc(size_t size) PREALIAS(je_malloc); | ^~~~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:539:14: note: ‘libc_malloc’ target declared here 539 | extern void malloc (size_t size) THROW attribute_malloc wur; | ^~ src/jemalloc.c:2989:6: warning: ‘__libc_free’ specifies less restrictive attributes than its target ‘free’: ‘leaf’, ‘nothrow’ [-Wmissing-attributes] 2989 | void libc_free(void ptr) PREALIAS(je_free); | ^~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:563:13: note: ‘libc_free’ target declared here 563 | extern void free (void ptr) THROW; | ^~~~ cp include/jemalloc/internal/private_namespace.gen.h include/jemalloc/internal/private_namespace.gen.h src/jemalloc.c:2986:7: warning: ‘__libc_calloc’ specifies less restrictive attributes than its target ‘calloc’: ‘alloc_size’, ‘leaf’, ‘malloc’, ‘nothrow’ [-Wmissing-attributes] 2986 | void __libc_calloc(size_t n, size_t size) PREALIAS(je_calloc); | ^~~~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:541:14: note: ‘libc_calloc’ target declared here 541 | extern void calloc (size_t __nmemb, size_t size) | ^~ src/jemalloc.c:3001:7: warning: ‘libc_valloc’ specifies less restrictive attributes than its target ‘valloc’: ‘leaf’, ‘malloc’, ‘nothrow’ [-Wmissing-attributes] 3001 | void libc_valloc(size_t size) PREALIAS(je_valloc); | ^~~~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:572:14: note: ‘libc_valloc’ target declared here 572 | extern void valloc (size_t size) THROW __attribute_malloc wur; | ^~ src/jemalloc.c:2998:7: warning: ‘__libc_realloc’ specifies less restrictive attributes than its target ‘realloc’: ‘alloc_size’, ‘leaf’, ‘nothrow’ [-Wmissing-attributes] 2998 | void libc_realloc(void* ptr, size_t size) PREALIAS(je_realloc); | ^~~~~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:549:14: note: ‘libc_realloc’ target declared here 549 | extern void realloc (void ptr, size_t size) | ^~~ src/jemalloc.c:2995:7: warning: ‘libc_memalign’ specifies less restrictive attributes than its target ‘memalign’: ‘malloc’, ‘nothrow’ [-Wmissing-attributes] 2995 | void *libc_memalign(size_t align, size_t s) PREALIAS(je_memalign); | ^~~~~~~ In file included from include/jemalloc/internal/jemalloc_preamble.h:21, from src/jemalloc.c:2: include/jemalloc/internal/../jemalloc.h:83:23: note: ‘libc_memalign’ target declared here 83 | # define je_memalign memalign | ^~~~ src/jemalloc.c:2885:1: note: in expansion of macro ‘je_memalign’ 2885 | je_memalign(size_t alignment, size_t size) { | ^~~ src/jemalloc.c:2992:7: warning: ‘libc_malloc’ specifies less restrictive attributes than its target ‘malloc’: ‘alloc_size’, ‘leaf’, ‘malloc’, ‘nothrow’ [-Wmissing-attributes] 2992 | void libc_malloc(size_t size) PREALIAS(je_malloc); | ^~~~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:539:14: note: ‘libc_malloc’ target declared here 539 | extern void malloc (size_t size) THROW attribute_malloc wur; | ^~ src/jemalloc.c:2989:6: warning: ‘__libc_free’ specifies less restrictive attributes than its target ‘free’: ‘leaf’, ‘nothrow’ [-Wmissing-attributes] 2989 | void libc_free(void ptr) PREALIAS(je_free); | ^~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:563:13: note: ‘__libc_free’ target declared here 563 | extern void free (void ptr) THROW; | ^~~~ src/jemalloc.c:2986:7: warning: ‘libc_calloc’ specifies less restrictive attributes than its target ‘calloc’: ‘alloc_size’, ‘leaf’, ‘malloc’, ‘nothrow’ [-Wmissing-attributes] 2986 | void *libc_calloc(size_t n, size_t size) PREALIAS(je_calloc); | ^~~~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:541:14: note: ‘libc_calloc’ target declared here 541 | extern void *calloc (size_t nmemb, size_t size) | ^~ src/jemalloc.c:3001:7: warning: ‘libc_valloc’ specifies less restrictive attributes than its target ‘valloc’: ‘leaf’, ‘malloc’, ‘nothrow’ [-Wmissing-attributes] 3001 | void libc_valloc(size_t size) PREALIAS(je_valloc); | ^~~~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:572:14: note: ‘libc_valloc’ target declared here 572 | extern void valloc (size_t size) THROW attribute_malloc wur; | ^~ src/jemalloc.c:2998:7: warning: ‘libc_realloc’ specifies less restrictive attributes than its target ‘realloc’: ‘alloc_size’, ‘leaf’, ‘nothrow’ [-Wmissing-attributes] 2998 | void *libc_realloc(void ptr, size_t size) PREALIAS(je_realloc); | ^~~~~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:549:14: note: ‘__libc_realloc’ target declared here 549 | extern void realloc (void *ptr, size_t size) | ^~~ src/jemalloc.c:2995:7: warning: ‘libc_memalign’ specifies less restrictive attributes than its target ‘memalign’: ‘malloc’, ‘nothrow’ [-Wmissing-attributes] 2995 | void __libc_memalign(size_t align, size_t s) PREALIAS(je_memalign); | ^~~~~~~ In file included from include/jemalloc/internal/jemalloc_preamble.h:21, from src/jemalloc.c:2: include/jemalloc/internal/../jemalloc.h:83:23: note: ‘libc_memalign’ target declared here 83 | # define je_memalign memalign | ^~~~ src/jemalloc.c:2885:1: note: in expansion of macro ‘je_memalign’ 2885 | je_memalign(size_t alignment, size_t size) { | ^~~ src/jemalloc.c:2992:7: warning: ‘libc_malloc’ specifies less restrictive attributes than its target ‘malloc’: ‘alloc_size’, ‘leaf’, ‘malloc’, ‘nothrow’ [-Wmissing-attributes] 2992 | void libc_malloc(size_t size) PREALIAS(je_malloc); | ^~~~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:539:14: note: ‘libc_malloc’ target declared here 539 | extern void malloc (size_t size) THROW attribute_malloc wur; | ^~ src/jemalloc.c:2989:6: warning: ‘__libc_free’ specifies less restrictive attributes than its target ‘free’: ‘leaf’, ‘nothrow’ [-Wmissing-attributes] 2989 | void libc_free(void ptr) PREALIAS(je_free); | ^~~ In file included from include/jemalloc/internal/jemalloc_internal_decls.h:63, from include/jemalloc/internal/jemalloc_preamble.h:5, from src/jemalloc.c:2: /usr/include/stdlib.h:563:13: note: ‘__libc_free’ target declared here 563 | extern void free (void *ptr) THROW; | ^~~~ [ 19%] Performing install step for 'prj_jemalloc' [ 21%] Completed 'prj_jemalloc' [ 21%] Built target prj_jemalloc /usr/bin/ld: cannot find -lpthread /usr/bin/ld: cannot find -lm /usr/bin/ld: cannot find -lc collect2: error: ld returned 1 exit status make[3]: [Makefile:126: kmc] Error 1 make[2]: [CMakeFiles/prj_kmc.dir/build.make:130: prj_kmc-prefix/src/prj_kmc-stamp/prj_kmc-build] Error 2 make[1]: [CMakeFiles/Makefile2:121: CMakeFiles/prj_kmc.dir/all] Error 2 make: [Makefile:149: all] Error 2

jamshed commented 2 years ago

Hi @PandorasRed: what OS are you using? The following linking errors suggest that you might be missing some fundamental libraries.

/usr/bin/ld: cannot find -lpthread
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc

Could you please try the following to install the libraries, as documented here in the README? Thanks.

PandorasRed commented 2 years ago

hello, i'm trying to install cuttlefish on the cluster at my work, i think we are on a type of unix but i have no access to directly install library, we need to load them from modulefile, so i have checked and with all the library loaded i have exactly the same error

jamshed commented 2 years ago

Hello @PandorasRed, would it be possible for you to try installing it from bioconda, with the single-liner from here?

jamshed commented 2 years ago

Hi @PandorasRed,

Just checking in. Have you been able to install it?

PandorasRed commented 2 years ago

when i have tried to install it with conda it make my terminal crash and now i have a ghost proccess, so i'm checking with the admin team of my cluster if they can help me with what is resolving the error for installing from source and not using conda

PandorasRed commented 2 years ago

my admin team has installed it directly saying that i can't compile it on the cluster directly for some reason, still thank for the help you provided me with trying to install it