mpetri / FM-Index

FM-Index full-text index implementation using RRR Wavelet trees (libcds) and fast suffix sorting (libdivsufsort) including experimental results.
GNU General Public License v3.0
98 stars 25 forks source link

Failing at build #6

Open ghost opened 5 years ago

ghost commented 5 years ago

@mpetri Thank you for your hard work

On my Ubuntu 18.04, when running make it fails in making, with error:

  home@home-lnx:~/programs/test/FM-Index$ make
make -C libcds
make[1]: Entering directory '/home/home/programs/test/FM-Index/libcds'
 [MSG] Entering directory src
 [CLN] Removing object files
 [MSG] Entering directory tests
 [CLN] Cleaning object and binary files
 [CLN] Cleaning docs folder
 [CLN] Cleaning lib folder
 [CLN] Cleaning includes folder
 [MSG] Entering directory src
 [HDR] Populating the includes folder
 [CFG] CPPFLAGS = -g3 -Wall -O0 
 [C++] Compiling utils/Array.cpp
 [C++] Compiling utils/BitString.cpp
 [C++] Compiling utils/cppUtils.cpp
 [C++] Compiling static/mapper/Mapper.cpp
In file included from ../includes/MapperCont.h:31:0,
                 from ../includes/Mapper.h:67,
                 from static/mapper/Mapper.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/mapper/MapperNone.cpp
In file included from ../includes/MapperCont.h:31:0,
                 from ../includes/Mapper.h:67,
                 from ../includes/MapperNone.h:28,
                 from static/mapper/MapperNone.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/mapper/MapperCont.cpp
In file included from ../includes/MapperCont.h:31:0,
                 from static/mapper/MapperCont.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/bitsequence/BitSequence.cpp
 [C++] Compiling static/bitsequence/BitSequenceRG.cpp
 [C++] Compiling static/bitsequence/BitSequenceSDArray.cpp
 [C++] Compiling static/bitsequence/sdarraySadakane.cpp
 [C++] Compiling static/bitsequence/BitSequenceDArray.cpp
 [C++] Compiling static/bitsequence/BitSequenceRRR.cpp
 [C++] Compiling static/bitsequence/BitSequenceBuilderRG.cpp
In file included from ../includes/BitSequenceBuilderRG.h:27:0,
                 from static/bitsequence/BitSequenceBuilderRG.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/bitsequence/BitSequenceBuilderRRR.cpp
In file included from ../includes/BitSequenceBuilderRRR.h:27:0,
                 from static/bitsequence/BitSequenceBuilderRRR.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/bitsequence/BitSequenceBuilderSDArray.cpp
In file included from ../includes/BitSequenceBuilderSDArray.h:27:0,
                 from static/bitsequence/BitSequenceBuilderSDArray.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/bitsequence/BitSequenceBuilderDArray.cpp
In file included from ../includes/BitSequenceBuilderDArray.h:27:0,
                 from static/bitsequence/BitSequenceBuilderDArray.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/bitsequence/TableOffsetRRR.cpp
 [C++] Compiling static/coders/huff.cpp
 [C++] Compiling static/coders/HuffmanCoder.cpp
 [C++] Compiling static/sequence/Sequence.cpp
In file included from ../includes/BitmapsSequence.h:28:0,
                 from ../includes/Sequence.h:94,
                 from static/sequence/Sequence.cpp:21:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/BitmapsSequence.cpp
In file included from ../includes/WaveletTree.h:29:0,
                 from ../includes/Sequence.h:95,
                 from ../includes/BitmapsSequence.h:26,
                 from static/sequence/BitmapsSequence.cpp:21:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/wt_coder.cpp
In file included from ../includes/MapperCont.h:31:0,
                 from ../includes/Mapper.h:67,
                 from ../includes/wt_coder_huff.h:28,
                 from ../includes/wt_coder.h:71,
                 from static/sequence/wt_coder.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/wt_coder_binary.cpp
In file included from ../includes/MapperCont.h:31:0,
                 from ../includes/Mapper.h:67,
                 from ../includes/wt_coder_huff.h:28,
                 from ../includes/wt_coder.h:71,
                 from ../includes/wt_coder_binary.h:26,
                 from static/sequence/wt_coder_binary.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/wt_coder_huff.cpp
In file included from ../includes/MapperCont.h:31:0,
                 from ../includes/Mapper.h:67,
                 from ../includes/wt_coder_binary.h:27,
                 from ../includes/wt_coder.h:72,
                 from ../includes/wt_coder_huff.h:26,
                 from static/sequence/wt_coder_huff.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/wt_node.cpp
In file included from ../includes/MapperCont.h:31:0,
                 from ../includes/Mapper.h:67,
                 from ../includes/wt_coder_huff.h:28,
                 from ../includes/wt_coder.h:71,
                 from ../includes/wt_node.h:26,
                 from static/sequence/wt_node.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/wt_node_internal.cpp
In file included from ../includes/MapperCont.h:31:0,
                 from ../includes/Mapper.h:67,
                 from ../includes/wt_coder_huff.h:28,
                 from ../includes/wt_coder.h:71,
                 from ../includes/wt_node.h:26,
                 from ../includes/wt_node_internal.h:25,
                 from static/sequence/wt_node_internal.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/wt_node_leaf.cpp
In file included from ../includes/MapperCont.h:31:0,
                 from ../includes/Mapper.h:67,
                 from ../includes/wt_coder_huff.h:28,
                 from ../includes/wt_coder.h:71,
                 from ../includes/wt_node.h:26,
                 from ../includes/wt_node_leaf.h:25,
                 from static/sequence/wt_node_leaf.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/WaveletTree.cpp
In file included from ../includes/WaveletTree.h:29:0,
                 from static/sequence/WaveletTree.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/WaveletTreeNoptrs.cpp
In file included from ../includes/WaveletTreeNoptrs.h:29:0,
                 from static/sequence/WaveletTreeNoptrs.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/SequenceGMR.cpp
In file included from ../includes/BitmapsSequence.h:28:0,
                 from ../includes/Sequence.h:94,
                 from ../includes/SequenceGMR.h:26,
                 from static/sequence/SequenceGMR.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/SequenceGMRChunk.cpp
In file included from ../includes/BitmapsSequence.h:28:0,
                 from ../includes/Sequence.h:94,
                 from static/sequence/SequenceGMRChunk.h:26,
                 from static/sequence/SequenceGMRChunk.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/SequenceBuilderWaveletTreeNoptrs.cpp
In file included from ../includes/MapperCont.h:31:0,
                 from ../includes/Mapper.h:67,
                 from ../includes/SequenceBuilderWaveletTreeNoptrs.h:23,
                 from static/sequence/SequenceBuilderWaveletTreeNoptrs.cpp:21:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/SequenceBuilderWaveletTree.cpp
In file included from ../includes/MapperCont.h:31:0,
                 from ../includes/Mapper.h:67,
                 from ../includes/SequenceBuilderWaveletTree.h:23,
                 from static/sequence/SequenceBuilderWaveletTree.cpp:21:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/SequenceBuilderGMR.cpp
In file included from ../includes/BitmapsSequence.h:28:0,
                 from ../includes/Sequence.h:94,
                 from ../includes/SequenceBuilder.h:23,
                 from ../includes/SequenceBuilderGMR.h:23,
                 from static/sequence/SequenceBuilderGMR.cpp:21:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/sequence/SequenceBuilderGMRChunk.cpp
In file included from ../includes/BitmapsSequence.h:28:0,
                 from ../includes/Sequence.h:94,
                 from ../includes/SequenceBuilder.h:23,
                 from ../includes/SequenceBuilderGMRChunk.h:23,
                 from static/sequence/SequenceBuilderGMRChunk.cpp:21:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/permutation/Permutation.cpp
In file included from ../includes/perm.h:28:0,
                 from ../includes/PermutationMRRR.h:27,
                 from ../includes/Permutation.h:70,
                 from static/permutation/Permutation.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/permutation/PermutationMRRR.cpp
In file included from ../includes/perm.h:28:0,
                 from ../includes/PermutationMRRR.h:27,
                 from static/permutation/PermutationMRRR.cpp:23:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/permutation/PermutationBuilderMRRR.cpp
In file included from ../includes/perm.h:28:0,
                 from ../includes/PermutationMRRR.h:27,
                 from ../includes/Permutation.h:70,
                 from ../includes/PermutationBuilderMRRR.h:25,
                 from static/permutation/PermutationBuilderMRRR.cpp:22:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
 [C++] Compiling static/permutation/perm.cpp
In file included from ../includes/perm.h:28:0,
                 from static/permutation/perm.cpp:23:
../includes/BitSequenceBuilder.h: In member function ‘virtual void cds_static::BitSequenceBuilder::unuse()’:
../includes/BitSequenceBuilder.h:46:95: warning: deleting object of abstract class type ‘cds_static::BitSequenceBuilder’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
 id unuse() { userCount--; assert(userCount>=0); if(userCount==0) delete this; }
                                                                         ^~~~
static/permutation/perm.cpp: In function ‘cds_static::sperm* cds_static::createPerm(uint*, uint, uint, cds_static::BitSequenceBuilder*)’:
static/permutation/perm.cpp:35:40: warning: variable ‘firstelem’ set but not used [-Wunused-but-set-variable]
     aux, antbptr,nbwdptrs, elem,nbits, firstelem, cyclesize;
                                        ^~~~~~~~~
 [C++] Compiling static/textindex/mmap.cpp
 [C++] Compiling static/textindex/comparray4.cpp
static/textindex/comparray4.cpp: In function ‘int cds_static::csa_read(cds_static::CSA*, char*, char*)’:
static/textindex/comparray4.cpp:439:7: warning: variable ‘psize’ set but not used [-Wunused-but-set-variable]
   int psize,isize;
       ^~~~~
 [C++] Compiling static/textindex/qsufsort.cpp
 [C++] Compiling static/textindex/suftest3.test.cpp
static/textindex/suftest3.test.cpp: In function ‘int cds_static::count(void*, unsigned char*, long unsigned int, long unsigned int*)’:
static/textindex/suftest3.test.cpp:276:11: warning: variable ‘len’ set but not used [-Wunused-but-set-variable]
   int l,r,len;
           ^~~
static/textindex/suftest3.test.cpp: In function ‘long unsigned int cds_static::locate_extract(void*)’:
static/textindex/suftest3.test.cpp:288:2: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
  for ( hh=1; hh <= 1000000; hh*=10)
  ^~~
static/textindex/suftest3.test.cpp:301:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
   return lll;
   ^~~~~~
static/textindex/suftest3.test.cpp:286:16: warning: variable ‘locate’ set but not used [-Wunused-but-set-variable]
  ulong matches,locate;
                ^~~~~~
static/textindex/suftest3.test.cpp: In function ‘int cds_static::locate(void*, unsigned char*, long unsigned int, long unsigned int**, long unsigned int*)’:
static/textindex/suftest3.test.cpp:307:11: warning: variable ‘len’ set but not used [-Wunused-but-set-variable]
   int l,r,len;
           ^~~
 [C++] Compiling static/textindex/TextIndex.cpp
 [C++] Compiling static/textindex/TextIndexCSA.cpp
 [C++] Compiling static/suffixtree/LCP.cpp
 [C++] Compiling static/suffixtree/LCP_naive.cpp
 [C++] Compiling static/suffixtree/LCP_Sad.cpp
 [C++] Compiling static/suffixtree/LCP_FMN.cpp
 [C++] Compiling static/suffixtree/RMQ_succinct.cpp
static/suffixtree/RMQ_succinct.cpp:115:85: error: narrowing conversion of ‘-1’ from ‘int’ to ‘DTsucc {aka unsigned char}’ inside { } [-Wnarrowing]
 DTsucc RMQ_succinct::HighestBitsSet[8] = {~0, ~1, ~3, ~7, ~15, ~31, ~63, ~127};
                                                                              ^
static/suffixtree/RMQ_succinct.cpp:115:85: error: narrowing conversion of ‘-2’ from ‘int’ to ‘DTsucc {aka unsigned char}’ inside { } [-Wnarrowing]
static/suffixtree/RMQ_succinct.cpp:115:85: error: narrowing conversion of ‘-4’ from ‘int’ to ‘DTsucc {aka unsigned char}’ inside { } [-Wnarrowing]
static/suffixtree/RMQ_succinct.cpp:115:85: error: narrowing conversion of ‘-8’ from ‘int’ to ‘DTsucc {aka unsigned char}’ inside { } [-Wnarrowing]
static/suffixtree/RMQ_succinct.cpp:115:85: error: narrowing conversion of ‘-16’ from ‘int’ to ‘DTsucc {aka unsigned char}’ inside { } [-Wnarrowing]
static/suffixtree/RMQ_succinct.cpp:115:85: error: narrowing conversion of ‘-32’ from ‘int’ to ‘DTsucc {aka unsigned char}’ inside { } [-Wnarrowing]
static/suffixtree/RMQ_succinct.cpp:115:85: error: narrowing conversion of ‘-64’ from ‘int’ to ‘DTsucc {aka unsigned char}’ inside { } [-Wnarrowing]
static/suffixtree/RMQ_succinct.cpp:115:85: error: narrowing conversion of ‘-128’ from ‘int’ to ‘DTsucc {aka unsigned char}’ inside { } [-Wnarrowing]
Makefile:24: recipe for target 'static/suffixtree/RMQ_succinct.o' failed
make[2]: *** [static/suffixtree/RMQ_succinct.o] Error 1
Makefile:12: recipe for target 'libcompact' failed
make[1]: *** [libcompact] Error 2
make[1]: Leaving directory '/home/home/programs/test/FM-Index/libcds'
Makefile:12: recipe for target 'libcds/lib/libcds.a' failed
make: *** [libcds/lib/libcds.a] Error 2
lisanhu commented 5 years ago

Same here

Sawwave commented 3 years ago

Same here.

ramberg commented 3 years ago

It seems to be an issue in newer compiler versions, within one of the libraries. I'm using: gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)

You have to explicitly cast the values to DTsucc in two files: RMQ_succinct_lcp.cpp and RMQ_succinct.cpp

const DTsucc RMQ_succinct_lcp::HighestBitsSet[8] = {static_cast<DTsucc>(~0), static_cast<DTsucc>(~1), static_cast<DTsucc>(~3), static_cast<DTsucc>(~7), static_cast<DTsucc>(~15), static_cast<DTsucc>(~31), static_cast<DTsucc>(~63), static_cast<DTsucc>(~127)};

Detailed Solution can be found here: https://github.com/rdfhdt/hdt-cpp/issues/34#issue-162100652