kensung-lab / hypo-assembler

29 stars 2 forks source link

unable to install HTSlib #9

Open yeeus opened 3 months ago

yeeus commented 3 months ago

I got errors when I run ./build_all.sh so I run step by step and finally found the error was caused by make in /polisher/external/install/htslib/. Here is the log:

cd external/install/htslib
autoreconf
./configure --prefix=$(pwd) --disable-bz2 --disable-lzma
make
/path/to/x86_64-conda-linux-gnu-cc -Wall -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /path/to/include -I. -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /path/to/include -c -o bgzf.o bgzf.c
In file included from htslib/khash.h:131,
                 from bgzf.c:79:
/path/to/include/htslib/kstring.h:91:18: error: expected ';' before 'int'
   91 |     HTSLIB_EXPORT
      |                  ^
      |                  ;
   92 |  int kvsprintf(kstring_t *s, const char *fmt, va_list ap) KS_ATTR_PRINTF(2,0);
      |  ~~~
/path/to/include/htslib/kstring.h:94:18: error: expected ';' before 'int'
   94 |     HTSLIB_EXPORT
      |                  ^
      |                  ;
   95 |  int ksprintf(kstring_t *s, const char *fmt, ...) KS_ATTR_PRINTF(2,3);
      |  ~~~
/path/to/include/htslib/kstring.h:97:18: error: expected ';' before 'int'
   97 |     HTSLIB_EXPORT
      |                  ^
      |                  ;
   98 |     int kputd(double d, kstring_t *s); // custom %g only handler
      |     ~~~
/path/to/include/htslib/kstring.h:100:18: error: expected ';' before 'int'
  100 |     HTSLIB_EXPORT
      |                  ^
      |                  ;
  101 |  int ksplit_core(char *s, int delimiter, int *_max, int **_offsets);
      |  ~~~
/path/to/include/htslib/kstring.h:103:18: error: expected ';' before 'char'
  103 |     HTSLIB_EXPORT
      |                  ^
      |                  ;
  104 |  char *kstrstr(const char *str, const char *pat, int **_prep);
      |  ~~~~
/path/to/include/htslib/kstring.h:106:18: error: expected ';' before 'char'
  106 |     HTSLIB_EXPORT
      |                  ^
      |                  ;
  107 |  char *kstrnstr(const char *str, const char *pat, int n, int **_prep);
      |  ~~~~
/path/to/include/htslib/kstring.h:109:18: error: expected ';' before 'void'
  109 |     HTSLIB_EXPORT
      |                  ^
      |                  ;
  110 |  void *kmemmem(const void *_str, int n, const void *_pat, int m, int **_prep);
      |  ~~~~
/path/to/include/htslib/kstring.h:116:18: error: expected ';' before 'char'
  116 |     HTSLIB_EXPORT
      |                  ^
      |                  ;
  117 |  char *kstrtok(const char *str, const char *sep, ks_tokaux_t *aux);
      |  ~~~~
/path/to/include/htslib/kstring.h:124:18: error: expected ';' before 'int'
  124 |     HTSLIB_EXPORT
      |                  ^
      |                  ;
  125 |     int kgetline(kstring_t *s, kgets_func *fgets_fn, void *fp);
      |     ~~~
/path/to/include/htslib/kstring.h:132:18: error: expected ';' before 'int'
  132 |     HTSLIB_EXPORT
      |                  ^
      |                  ;
  133 |     int kgetline2(kstring_t *s, kgets_func2 *fgets_fn, void *fp);
      |     ~~~
make: *** [Makefile:132: bgzf.o] Error 1

The version of my gcc is 11.3.0 and cmake is 3.23.0. How can I fix this error? Best wishes!