EddyRivasLab / hmmer

HMMER: biological sequence analysis using profile HMMs
http://hmmer.org
Other
305 stars 69 forks source link

Problem installing hmmers #287

Closed edzeta closed 1 year ago

edzeta commented 1 year ago

Hi,

I am trying to install hmmer-3.3.2 using cygwim on windows. Unfortunately, there is a problem whenever I use made. I get the following error message:

$ make SUBDIR easel SUBDIR miniapps SUBDIR libdivsufsort SUBDIR src SUBDIR impl_sse CC makehmmerdb.o makehmmerdb.c: In function ‘main’: makehmmerdb.c:378:14: error: storage size of ‘ts1’ isn’t known 378 | struct tms ts1, ts2; | ^~~ makehmmerdb.c:378:19: error: storage size of ‘ts2’ isn’t known 378 | struct tms ts1, ts2; | ^~~ makehmmerdb.c:473:8: warning: implicit declaration of function ‘times’; did you mean ‘time’? [-Wimplicit-function-declaration] 473 | t1 = times(&ts1); | ^~~~~ | time make[1]: *** [Makefile:278: makehmmerdb.o] Error 1 make: *** [Makefile:92: all] Error 2

Does anybody know what could be the issue here?

Thanks in advance!

cryptogenomicon commented 1 year ago

This looks like a portability problem (times() and struct tms are not defined on your system) that may be limited to makehmmerdb, because our configure script checks for these automatically and the rest of the code should be using our configure-time HAVE_TIMES flag. So a workaround might be to comment out makehmmerdb in src/Makefile, and I bet the rest of the code should compile.

Meanwhile we'll fix this in a future release. Let me know if the workaround works in the meantime. Thanks for reporting it!

npcarter commented 1 year ago

If you don't have a particular reason to be using Cygwin, you might try Windows Subsystem for Linux instead as an alternate approach. I've found that to work well.

-Nick

On Wed, Oct 12, 2022 at 4:50 PM edzeta @.***> wrote:

Hi,

I am trying to install hmmer-3.3.2 using cygwim on windows. Unfortunately, there is a problem whenever I use made. I get the following error message:

$ make SUBDIR easel SUBDIR miniapps SUBDIR libdivsufsort SUBDIR src SUBDIR impl_sse CC makehmmerdb.o makehmmerdb.c: In function ‘main’: makehmmerdb.c:378:14: error: storage size of ‘ts1’ isn’t known 378 | struct tms ts1, ts2; | ^~~ makehmmerdb.c:378:19: error: storage size of ‘ts2’ isn’t known 378 | struct tms ts1, ts2; | ^~~ makehmmerdb.c:473:8: warning: implicit declaration of function ‘times’; did you mean ‘time’? [-Wimplicit-function-declaration] 473 | t1 = times(&ts1); | ^~~~~ | time make[1]: [Makefile:278: makehmmerdb.o] Error 1 make: [Makefile:92: all] Error 2

Does anybody know what could be the issue here?

Thanks in advance!

— Reply to this email directly, view it on GitHub https://github.com/EddyRivasLab/hmmer/issues/287, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDJBZFUDV7RZP4Z4V3KP3LWC4QC7ANCNFSM6AAAAAARDUXOGE . You are receiving this because you are subscribed to this thread.Message ID: @.***>

edzeta commented 1 year ago

This looks like a portability problem (times() and struct tms are not defined on your system) that may be limited to makehmmerdb, because our configure script checks for these automatically and the rest of the code should be using our configure-time HAVE_TIMES flag. So a workaround might be to comment out makehmmerdb in src/Makefile, and I bet the rest of the code should compile.

Meanwhile we'll fix this in a future release. Let me know if the workaround works in the meantime. Thanks for reporting it!

Thanks it solved the problem! The code compile without any problem, including the Tutorial.