Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error during make step #4

Open
KhanhLPBao opened this issue Mar 31, 2021 · 1 comment
Open

Error during make step #4

KhanhLPBao opened this issue Mar 31, 2021 · 1 comment

Comments

@KhanhLPBao
Copy link

KhanhLPBao commented Mar 31, 2021

Hi, I encoutered an error when try to compile with make.
First I clone GASAL2 and then compile it successfully by running ./configure.sh and ./run_all.sh
But when I compile bwa-gasal2, I encountered this error:

If you donot see anything below this line then there is nothing to "make"
g++ -c -g -Wall -Wno-unused-function -O2 -msse4.2 -std=c++11 -fpermissive -DHAVE_PTHREAD -DUSE_MALLOC_WRAPPERS -I./GASAL2/include/  src/bwamem.c -o ./obj/bwamem.o
In file included from src/bwamem.c:18:
src/vector_filter.h:12:36: error: ‘aligned’ was not declared in this scope
 #define __aligned__ __attribute__((aligned(16)))
                                    ^~~~~~~
src/vector_filter.h:12:36: note: suggested alternative: ‘signed’
In file included from /usr/lib/gcc/x86_64-linux-gnu/8/include/xmmintrin.h:31,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/emmintrin.h:31,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/pmmintrin.h:31,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/tmmintrin.h:31,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/smmintrin.h:32,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/nmmintrin.h:31,
                 from src/vector_filter.h:16,
                 from src/bwamem.c:18:
/usr/lib/gcc/x86_64-linux-gnu/8/include/mmintrin.h:45:85: error: expected ‘)’ before ‘(’ token
 typedef int __m64_u __attribute__ ((__vector_size__ (8), __may_alias__, __aligned__ (1)));
                                    ~                                                ^
/usr/lib/gcc/x86_64-linux-gnu/8/include/mmintrin.h:45:85: error: expected ‘)’ before ‘(’ token
In file included from src/bwamem.c:18:
src/vector_filter.h:12:36: error: ‘aligned’ was not declared in this scope
 #define __aligned__ __attribute__((aligned(16)))
                                    ^~~~~~~
src/vector_filter.h:12:36: note: suggested alternative: ‘signed’
In file included from /usr/lib/gcc/x86_64-linux-gnu/8/include/emmintrin.h:31,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/pmmintrin.h:31,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/tmmintrin.h:31,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/smmintrin.h:32,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/nmmintrin.h:31,
                 from src/vector_filter.h:16,
                 from src/bwamem.c:18:
/usr/lib/gcc/x86_64-linux-gnu/8/include/xmmintrin.h:72:89: error: expected ‘)’ before ‘(’ token
 typedef float __m128_u __attribute__ ((__vector_size__ (16), __may_alias__, __aligned__ (1)));
                                       ~                                                 ^
/usr/lib/gcc/x86_64-linux-gnu/8/include/xmmintrin.h:72:89: error: expected ‘)’ before ‘(’ token
In file included from src/bwamem.c:18:
src/vector_filter.h:12:36: error: ‘aligned’ was not declared in this scope
 #define __aligned__ __attribute__((aligned(16)))
                                    ^~~~~~~
src/vector_filter.h:12:36: note: suggested alternative: ‘signed’
In file included from /usr/lib/gcc/x86_64-linux-gnu/8/include/pmmintrin.h:31,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/tmmintrin.h:31,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/smmintrin.h:32,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/nmmintrin.h:31,
                 from src/vector_filter.h:16,
                 from src/bwamem.c:18:
/usr/lib/gcc/x86_64-linux-gnu/8/include/emmintrin.h:57:94: error: expected ‘)’ before ‘(’ token
 typedef long long __m128i_u __attribute__ ((__vector_size__ (16), __may_alias__, __aligned__ (1)));
                                            ~                                                 ^
/usr/lib/gcc/x86_64-linux-gnu/8/include/emmintrin.h:57:94: error: expected ‘)’ before ‘(’ token
In file included from src/bwamem.c:18:
src/vector_filter.h:12:36: error: ‘aligned’ was not declared in this scope
 #define __aligned__ __attribute__((aligned(16)))
                                    ^~~~~~~
src/vector_filter.h:12:36: note: suggested alternative: ‘signed’
In file included from /usr/lib/gcc/x86_64-linux-gnu/8/include/pmmintrin.h:31,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/tmmintrin.h:31,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/smmintrin.h:32,
                 from /usr/lib/gcc/x86_64-linux-gnu/8/include/nmmintrin.h:31,
                 from src/vector_filter.h:16,
                 from src/bwamem.c:18:
/usr/lib/gcc/x86_64-linux-gnu/8/include/emmintrin.h:58:91: error: expected ‘)’ before ‘(’ token
 typedef double __m128d_u __attribute__ ((__vector_size__ (16), __may_alias__, __aligned__ (1)));
                                         ~                                                 ^
/usr/lib/gcc/x86_64-linux-gnu/8/include/emmintrin.h:58:91: error: expected ‘)’ before ‘(’ token
In file included from src/kstring.h:8,
                 from src/bwamem.c:11:
src/bwamem.c: In function ‘mem_opt_t* mem_opt_init()’:
src/malloc_wrap.h:28:36: warning: invalid conversion from ‘void*’ to ‘mem_opt_t*’ [-fpermissive]
 #  define calloc(n, s)  wrap_calloc( (n), (s), __FILE__, __LINE__, __func__)
                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:52:6: note: in expansion of macro ‘calloc’
  o = calloc(1, sizeof(mem_opt_t));
      ^~~~~~
src/bwamem.c: In function ‘smem_aux_t* smem_aux_init()’:
src/malloc_wrap.h:28:36: warning: invalid conversion from ‘void*’ to ‘smem_aux_t*’ [-fpermissive]
 #  define calloc(n, s)  wrap_calloc( (n), (s), __FILE__, __LINE__, __func__)
                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:110:6: note: in expansion of macro ‘calloc’
  a = calloc(1, sizeof(smem_aux_t));
      ^~~~~~
src/malloc_wrap.h:28:36: warning: invalid conversion from ‘void*’ to ‘bwtintv_v*’ [-fpermissive]
 #  define calloc(n, s)  wrap_calloc( (n), (s), __FILE__, __LINE__, __func__)
                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:111:15: note: in expansion of macro ‘calloc’
  a->tmpv[0] = calloc(1, sizeof(bwtintv_v));
               ^~~~~~
src/malloc_wrap.h:28:36: warning: invalid conversion from ‘void*’ to ‘bwtintv_v*’ [-fpermissive]
 #  define calloc(n, s)  wrap_calloc( (n), (s), __FILE__, __LINE__, __func__)
                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:112:15: note: in expansion of macro ‘calloc’
  a->tmpv[1] = calloc(1, sizeof(bwtintv_v));
               ^~~~~~
src/bwamem.c: In function ‘void mem_collect_intv(mem_opt_t*, const bwt_t*, int, const uint8_t*, smem_aux_t*)’:
src/bwamem.c:202:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
    for (i = 0; i < a->mem1.n; ++i) {
                ~~^~~~~~~~~~~
src/bwamem.c:217:43: warning: comparison of integer expressions of different signedness: ‘bwtint_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
    if (end - start < split_len || p->x[2] > opt->split_width)
                                   ~~~~~~~~^~~~~~~~~~~~~~~~~~
src/bwamem.c:220:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
    for (i = 0; i < a->mem1.n; ++i)
                ~~^~~~~~~~~~~
src/bwamem.c:221:66: warning: comparison of integer expressions of different signedness: ‘bwtint_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
     if ((uint32_t) a->mem1.a[i].info - (a->mem1.a[i].info >> 32) >= opt->min_seed_len)
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/bwamem.c:236:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
       for (i = 0; i < a->mem1.n; ++i)
                   ~~^~~~~~~~~~~
src/bwamem.c:164:26: warning: unused variable ‘max’ [-Wunused-variable]
  int i, k, x = 0, old_n, max, max_i;
                          ^~~
src/bwamem.c:164:31: warning: unused variable ‘max_i’ [-Wunused-variable]
  int i, k, x = 0, old_n, max, max_i;
                               ^~~~~
src/bwamem.c:167:6: warning: unused variable ‘min_miss_match’ [-Wunused-variable]
  int min_miss_match = 0;
      ^~~~~~~~~~~~~~
src/bwamem.c:168:19: warning: unused variable ‘w’ [-Wunused-variable]
  bwt_mem_width_t *w;
                   ^
In file included from src/kstring.h:8,
                 from src/bwamem.c:11:
src/bwamem.c: In function ‘int test_and_merge(const mem_opt_t*, int64_t, mem_chain_t*, const mem_seed_t*, int)’:
src/malloc_wrap.h:38:37: warning: invalid conversion from ‘void*’ to ‘mem_seed_t*’ [-fpermissive]
 #  define realloc(p, s) wrap_realloc((p), (s), __FILE__, __LINE__, __func__)
                         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:374:16: note: in expansion of macro ‘realloc’
     c->seeds = realloc(c->seeds, c->m * sizeof(mem_seed_t));
                ^~~~~~~
src/bwamem.c: In function ‘void mem_print_chain(const bntseq_t*, mem_chain_v*)’:
src/bwamem.c:409:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  for (i = 0; i < chn->n; ++i) {
              ~~^~~~~~~~
src/bwamem.c: In function ‘mem_chain_v mem_chain(const mem_opt_t*, const bwt_t*, const bntseq_t*, int, const uint8_t*, void*)’:
src/bwamem.c:438:19: warning: invalid conversion from ‘const mem_opt_t*’ to ‘mem_opt_t*’ [-fpermissive]
  mem_collect_intv(opt, bwt, len, seq, aux);
                   ^~~
src/bwamem.c:163:41: note:   initializing argument 1 of ‘void mem_collect_intv(mem_opt_t*, const bwt_t*, int, const uint8_t*, smem_aux_t*)’
 static void mem_collect_intv(mem_opt_t *opt, const bwt_t *bwt, int len, const uint8_t *seq, smem_aux_t *a) {
                              ~~~~~~~~~~~^~~
src/bwamem.c:439:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  for (i = 0, b = e = l_rep = 0; i < aux->mem.n; ++i) { // compute frac_rep
                                 ~~^~~~~~~~~~~~
src/bwamem.c:442:15: warning: comparison of integer expressions of different signedness: ‘bwtint_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
   if (p->x[2] <= opt->max_occ)
       ~~~~~~~~^~~~~~~~~~~~~~~
src/bwamem.c:450:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  for (i = 0; i < aux->mem.n; ++i) {
              ~~^~~~~~~~~~~~
src/bwamem.c:455:18: warning: comparison of integer expressions of different signedness: ‘bwtint_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
   step = p->x[2] > opt->max_occ ? p->x[2] / opt->max_occ : 1;
          ~~~~~~~~^~~~~~~~~~~~~~
src/bwamem.c:456:25: warning: comparison of integer expressions of different signedness: ‘int64_t’ {aka ‘long int’} and ‘bwtint_t’ {aka ‘long unsigned int’} [-Wsign-compare]
   for (k = count = 0; k < p->x[2] && count < opt->max_occ; k += step, ++count) {
                       ~~^~~~~~~~~
In file included from src/kstring.h:8,
                 from src/bwamem.c:11:
src/malloc_wrap.h:28:36: warning: invalid conversion from ‘void*’ to ‘mem_seed_t*’ [-fpermissive]
 #  define calloc(n, s)  wrap_calloc( (n), (s), __FILE__, __LINE__, __func__)
                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:476:17: note: in expansion of macro ‘calloc’
     tmp.seeds = calloc(tmp.m, sizeof(mem_seed_t));
                 ^~~~~~
src/bwamem.c:493:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  for (i = 0; i < chain.n; ++i)
              ~~^~~~~~~~~
src/bwamem.c: In function ‘int mem_chain_flt(const mem_opt_t*, int, mem_chain_t*)’:
src/bwamem.c:536:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
    for (k = 0; k < chains.n; ++k) {
                ~~^~~~~~~~~~
src/bwamem.c:555:10: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
    if (k == chains.n) {
        ~~^~~~~~~~~~~
src/bwamem.c:560:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
   for (i = 0; i < chains.n; ++i) {
               ~~^~~~~~~~~~
src/bwamem.c: In function ‘void mem_mark_primary_se_core(const mem_opt_t*, int, mem_alnreg_t*, int_v*)’:
src/bwamem.c:717:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
    for (k = 0; k < z->n; ++k) {
                ~~^~~~~~
src/bwamem.c:732:10: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
    if (k == z->n)
        ~~^~~~~~~
In file included from src/kstring.h:8,
                 from src/bwamem.c:11:
src/bwamem.c: In function ‘void mem_chain2aln(const mem_opt_t*, const bntseq_t*, const uint8_t*, int, const uint8_t*, const mem_chain_t*, mem_alnreg_v*, int*, int*, gpu_batch*)’:
src/malloc_wrap.h:33:36: warning: invalid conversion from ‘void*’ to ‘uint64_t*’ {aka ‘long unsigned int*’} [-fpermissive]
 #  define malloc(s)     wrap_malloc( (s),      __FILE__, __LINE__, __func__)
                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:1087:8: note: in expansion of macro ‘malloc’
  srt = malloc(c->n * 8);
        ^~~~~~
src/bwamem.c:1098:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
   for (i = 0; i < av->n; ++i)  // test whether extension has been made before
               ~~^~~~~~~
src/bwamem.c:1119:9: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
   if (i < av->n)
       ~~^~~~~~~
src/bwamem.c:1226:40: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
     if (curr_gpu_batch->n_target_batch < curr_gpu_batch->gpu_storage->host_max_target_batch_bytes)
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:1246:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
    if (curr_gpu_batch->n_seqs < curr_gpu_batch->gpu_storage->host_max_n_alns)
        ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:1253:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
    if (curr_gpu_batch->n_seqs < curr_gpu_batch->gpu_storage->host_max_n_alns)
        ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:1260:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
    if (curr_gpu_batch->n_seqs < curr_gpu_batch->gpu_storage->host_max_n_alns)
        ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:1267:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
    if (curr_gpu_batch->n_seqs < curr_gpu_batch->gpu_storage->host_max_n_alns)
        ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:1211:8: warning: unused variable ‘j’ [-Wunused-variable]
    int j;
        ^
src/bwamem.c:1048:12: warning: unused variable ‘rid’ [-Wunused-variable]
  int i, k, rid, max_off[2], aw[2]; // aw: actual bandwidth used in extension
            ^~~
src/bwamem.c:1048:17: warning: unused variable ‘max_off’ [-Wunused-variable]
  int i, k, rid, max_off[2], aw[2]; // aw: actual bandwidth used in extension
                 ^~~~~~~
src/bwamem.c:1049:39: warning: unused variable ‘tmp’ [-Wunused-variable]
  int64_t l_pac = bns->l_pac, rmax[2], tmp, max = 0;
                                       ^~~
src/bwamem.c:1051:11: warning: unused variable ‘rseq’ [-Wunused-variable]
  uint8_t *rseq = NULL;
           ^~~~
src/bwamem.c: In function ‘void mem_aln2sam(const mem_opt_t*, const bntseq_t*, kstring_t*, bseq1_t*, int, const mem_aln_t*, int, const mem_aln_t*)’:
src/bwamem.c:1563:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
         for (i = tmp; i < str->l; ++i) // replace TAB in the comment to SPACE
                       ~~^~~~~~~~
src/bwamem.c: In function ‘void mem_reg2sam(const mem_opt_t*, const bntseq_t*, const uint8_t*, bseq1_t*, mem_alnreg_v*, int, const mem_aln_t*)’:
src/bwamem.c:1621:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
     for (k = l = 0; k < a->n; ++k) {
                     ~~^~~~~~
src/bwamem.c:1649:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
         for (k = 0; k < aa.n; ++k)
                     ~~^~~~~~
src/bwamem.c:1651:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
         for (k = 0; k < aa.n; ++k)
                     ~~^~~~~~
src/bwamem.c:1657:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
         for (k = 0; k < a->n; ++k)
                     ~~^~~~~~
src/bwamem.c: In function ‘void mem_gasal_fill(gpu_batch*, int, int, char*, int)’:
src/bwamem.c:1679:54: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
   if (gpu_batch_arr[gpu_batch_arr_idx].n_query_batch < gpu_batch_arr[gpu_batch_arr_idx].gpu_storage->host_max_query_batch_bytes)
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:1697:54: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
   if (gpu_batch_arr[gpu_batch_arr_idx].n_query_batch < gpu_batch_arr[gpu_batch_arr_idx].gpu_storage->host_max_query_batch_bytes)
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c: In function ‘void mem_align1_core(const mem_opt_t*, const bwt_t*, const bntseq_t*, const uint8_t*, bseq1_t*, void*, int, int, mem_alnreg_v*, int, gasal_gpu_storage_v*)’:
src/bwamem.c:1803:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
                 for (i = 0; i < chn.n; ++i) {
                             ~~^~~~~~~
src/bwamem.c:1851:16: warning: unused variable ‘cur’ [-Wunused-variable]
     gpu_batch *cur = &gpu_batch_arr[gpu_batch_arr_idx];
                ^~~
src/bwamem.c:1857:33: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
                 fprintf(stderr, "Thread no. %d is here with internal batch size %d, regs.n %d \n", tid, internal_batch_size, regs.n);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                            ~~~~~~
In file included from src/bntseq.h:31,
                 from src/bwamem.h:5,
                 from src/bwamem.c:12:
src/bwamem.c:1865:38: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
             assert(kv_size(regs_vec) == batch_processed);
src/bwamem.c:1902:91: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
                     if (gpu_batch_arr[internal_batch_idx].no_extend == 1) fprintf(stderr, "I am here too as well with regs.n %d\n", regs.n);
                                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~
src/bwamem.c:1903:34: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
                     for(i = 0; i < regs.n; ++i){
                                ~~^~~~~~~~
src/bwamem.c:1923:39: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
                         for (i = 0; i < regs.n; ++i) {
                                     ~~^~~~~~~~
src/bwamem.c:1928:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
                     for (i = 0; i < regs.n; ++i) {
                                 ~~^~~~~~~~
In file included from src/kstring.h:8,
                 from src/bwamem.c:11:
src/bwamem.c: In function ‘mem_aln_t mem_reg2aln(const mem_opt_t*, const bntseq_t*, const uint8_t*, int, const char*, const mem_alnreg_t*)’:
src/malloc_wrap.h:33:36: warning: invalid conversion from ‘void*’ to ‘uint8_t*’ {aka ‘unsigned char*’} [-fpermissive]
 #  define malloc(s)     wrap_malloc( (s),      __FILE__, __LINE__, __func__)
                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:1970:13: note: in expansion of macro ‘malloc’
     query = malloc(l_query);
             ^~~~~~
src/malloc_wrap.h:38:37: warning: invalid conversion from ‘void*’ to ‘uint32_t*’ {aka ‘unsigned int*’} [-fpermissive]
 #  define realloc(p, s) wrap_realloc((p), (s), __FILE__, __LINE__, __func__)
                         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:2027:19: note: in expansion of macro ‘realloc’
         a.cigar = realloc(a.cigar, 4 * (a.n_cigar + 2) + l_MD);
                   ^~~~~~~
src/bwamem.c: In function ‘void mem_process_seqs(const mem_opt_t*, const bwt_t*, const bntseq_t*, const uint8_t*, int64_t, int, bseq1_t*, const mem_pestat_t*)’:
src/malloc_wrap.h:33:36: warning: invalid conversion from ‘void*’ to ‘mem_alnreg_v*’ [-fpermissive]
 #  define malloc(s)     wrap_malloc( (s),      __FILE__, __LINE__, __func__)
                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:2104:14: note: in expansion of macro ‘malloc’
     w.regs = malloc(n * sizeof(mem_alnreg_v));
              ^~~~~~
src/malloc_wrap.h:33:36: warning: invalid conversion from ‘void*’ to ‘smem_aux_t**’ [-fpermissive]
 #  define malloc(s)     wrap_malloc( (s),      __FILE__, __LINE__, __func__)
                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:2112:13: note: in expansion of macro ‘malloc’
     w.aux = malloc(opt->n_threads * sizeof(smem_aux_t));
             ^~~~~~
src/bwamem.c:2116:28: warning: invalid conversion from ‘void (*)(void*, int, int, int, int, gasal_gpu_storage_v*)’ to ‘void (*)(void*, int, int, int, int)’ [-fpermissive]
     kt_for(opt->n_threads, worker1, &w, /*(opt->flag & MEM_F_PE) ? n >> 1 : */n); // find mapping positions
                            ^~~~~~~
In file included from src/bwamem.c:12:
src/bwamem.h:197:43: note:   initializing argument 2 of ‘void kt_for(int, void (*)(void*, int, int, int, int), void*, int)’
  extern void kt_for(int n_threads, void (*func)(void*, int, int, int, int), void *data, int n);
                                    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/bwamem.c:2136:28: warning: invalid conversion from ‘void (*)(void*, int, int, int, int, gasal_gpu_storage_v*)’ to ‘void (*)(void*, int, int, int, int)’ [-fpermissive]
     kt_for(opt->n_threads, worker2, &w, (opt->flag & MEM_F_PE) ? n >> 1 : n); // generate alignment
                            ^~~~~~~
In file included from src/bwamem.c:12:
src/bwamem.h:197:43: note:   initializing argument 2 of ‘void kt_for(int, void (*)(void*, int, int, int, int), void*, int)’
  extern void kt_for(int n_threads, void (*func)(void*, int, int, int, int), void *data, int n);
                                    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:57: bwamem.o] Error 1

My system information is:

$uname -a
Linux TGD 5.8.0-48-generic #54~20.04.1-Ubuntu SMP Sat Mar 20 13:40:25 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

$gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 8.4.0-3ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 8.4.0 (Ubuntu 8.4.0-3ubuntu2)

nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

@sflorescu
Copy link

sflorescu commented Mar 21, 2022

@KhanhLPBao Quite a late reply but I am currently working on this project and I fixed this issue that arises with newer G++ versions due to the newer C++ standards. In order to compile with newer G++versions you need to change in the vector_filter.h and popcount.h how the aligned memory is defined. Currently it has the following structure:

#ifndef __aligned__
#define __aligned__ __attribute__((aligned(16)))
#endif

You need to change it to something like this since the double undescore in newer C++ standards is reserved for the compiler's internal use:
#ifndef align_16
#define align_16 __attribute__((aligned(16)))
#endif

Also you will have to change in bwamem.c every instance where memory is aligned to the new definition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants