gmarcais / Jellyfish

A fast multi-threaded k-mer counter
Other
463 stars 136 forks source link

Make error while installing #107

Closed ashaneev closed 6 years ago

ashaneev commented 6 years ago

Hi, I have been trying to install the latest version(Version 2.2.7) on my PC and getting the following error while running the second command(make -j 4). The error log is given below:

user@user-Lenovo-H30-50:~/Downloads/jellyfish-2.2.7$ make -j 4 make all-am make[1]: Entering directory /home/veena/Downloads/jellyfish-2.2.7' CXX lib/rectangular_binary_matrix.lo CXX lib/allocators_mmap.lo CXX lib/thread_exec.lo CXX lib/jsoncpp.lo In file included from /usr/local/include/assert.h:5:0, from lib/allocators_mmap.cc:18: /usr/local/include/except.h:15:32: error: conflicting declaration ‘typedef struct Except_Frame_T* Except_Frame_T’ typedef struct Except_Frame_T *Except_Frame_T; ^ /usr/local/include/except.h:15:16: error: ‘struct Except_Frame_T’ has a previous declaration as ‘struct Except_Frame_T’ typedef struct Except_Frame_T *Except_Frame_T; ^ /usr/local/include/except.h:17:18: error: field ‘prev’ has incomplete type Except_Frame_T prev; ^ In file included from /usr/local/include/assert.h:5:0, from lib/rectangular_binary_matrix.cc:21: /usr/local/include/except.h:15:32: error: conflicting declaration ‘typedef struct Except_Frame_T* Except_Frame_T’ typedef struct Except_Frame_T *Except_Frame_T; ^ /usr/local/include/except.h:15:16: error: ‘struct Except_Frame_T’ has a previous declaration as ‘struct Except_Frame_T’ typedef struct Except_Frame_T *Except_Frame_T; ^ /usr/local/include/except.h:17:18: error: field ‘prev’ has incomplete type Except_Frame_T prev; ^ make[1]: *** [lib/allocators_mmap.lo] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: *** [lib/rectangular_binary_matrix.lo] Error 1 In file included from /usr/local/include/assert.h:5:0, from /usr/include/c++/4.8/cassert:43, from lib/jsoncpp.cpp:202: /usr/local/include/except.h:15:32: error: conflicting declaration ‘typedef struct Except_Frame_T* Except_Frame_T’ typedef struct Except_Frame_T *Except_Frame_T; ^ /usr/local/include/except.h:15:16: error: ‘struct Except_Frame_T’ has a previous declaration as ‘struct Except_Frame_T’ typedef struct Except_Frame_T *Except_Frame_T; ^ /usr/local/include/except.h:17:18: error: field ‘prev’ has incomplete type Except_Frame_T prev; ^ make[1]: *** [lib/jsoncpp.lo] Error 1 make[1]: Leaving directory/home/veena/Downloads/jellyfish-2.2.7' make: *** [all] Error 2

My configuration and other version details are as follows:

OS: Ubuntu 14.04.5 LTS gcc (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 Intel® Core™ i5-4460 CPU @ 3.20GHz × 4, 64-bit

I have tried with gcc 4.9 as well but the same error persist. Strangely I was able to install jellyfish on another PC and the only difference between both is that the other one is Intel i7. Please help me.

gmarcais commented 6 years ago

I don't think the processor matters here. The error reported is in a system header. It seems you have a conflict between your compiler and your standard library files.

In any case, there is a static version available for download in the latest release.

ashaneev commented 6 years ago

Thank you so much.....it worked.

On Fri, Feb 9, 2018 at 2:39 AM, gmarcais notifications@github.com wrote:

I don't think the processor matters here. The error reported is in a system header. It seems you have a conflict between your compiler and your standard library files.

In any case, there is a static version available for download in the latest release https://github.com/gmarcais/Jellyfish/releases/tag/v2.2.8 .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gmarcais/Jellyfish/issues/107#issuecomment-364249070, or mute the thread https://github.com/notifications/unsubscribe-auth/AiZmG4pWqrmHodYJ5JM0nFEisGrNB6whks5tS2KRgaJpZM4R4HPE .

cksajil commented 6 years ago

Thank you. Good to know about the static version :-)))