dnbaker / dashing

Fast and accurate genomic distances using HyperLogLog
GNU General Public License v3.0
160 stars 11 forks source link

update of hll breaks the build #28

Closed EricDeveaud closed 5 years ago

EricDeveaud commented 5 years ago

Hello,

I was abble to compile dashing monday 19th and not abble to recompile it today (thursday 22th) with the following error:

/local/gensoft2/exe/gcc/7.2.0/bin/g++ -O3 -funroll-loops -pipe -fno-strict-aliasing -march=native -mpclmul -DUSE_PDQSORT -DNOT_THREADSAFE -DENABLE_COMPUTED_GOTO   -fopenmp  -fno-rtti -std=c++14 -Wall -Wextra -Wno-char-subscripts -Wpointer-arith -Wwrite-strings -Wdisabled-optimization -Wformat -Wcast-align -Wno-unused-function -Wno-unused-parameter -pedantic -Wunused-variable -Wno-attributes -Wno-pedantic  -Wno-ignored-attributes  -DDASHING_VERSION=\"v0.3.5\"  -Ibonsai/clhash/include -I.  -Ibonsai/zlib -Ibonsai/libpopcnt -Iinclude -Ibonsai/circularqueue -Ibonsai/zstd/zlibWrapper -Ibonsai/zstd/lib/common -Ibonsai/zstd/lib  -Ibonsai/hll -Ibonsai/hll/vec -Ibonsai -Ibonsai/bonsai/include/ -L.  -Lbonsai/zlib -DNDEBUG -c src/dashing.cpp -o src/dashing.o -lz
In file included from ./bonsai/bonsai/include/database.h:4:0,
                 from src/dashing.cpp:5:
./bonsai/bonsai/include/encoder.h: In constructor 'bns::RollingHasher<IntType, HashClass>::RollingHasher(unsigned int, bool, bns::RollingHashingType, uint64_t, uint64_t)':
./bonsai/bonsai/include/encoder.h:550:58: error: 'NotImplementedError' is not a member of 'sketch::common'
         if(enc == PROTEIN_6_FRAME) throw sketch::common::NotImplementedError("Protein 6-frame not implemented.");
                                                          ^~~~~~~~~~~~~~~~~~~
./bonsai/bonsai/include/encoder.h:550:58: note: suggested alternatives:
In file included from bonsai/hll/common.h:44:0,
                 from src/dashing.cpp:2:
bonsai/hll/exception.h:10:7: note:   'sketch::exception::NotImplementedError'
 class NotImplementedError: public std::runtime_error {
       ^~~~~~~~~~~~~~~~~~~
bonsai/hll/exception.h:10:7: note:   'sketch::exception::NotImplementedError'
bonsai/hll/exception.h:10:7: note:   'sketch::exception::NotImplementedError'
src/dashing.cpp: At global scope:
src/dashing.cpp:29:23: error: 'sketch::common::NotImplementedError' has not been declared
 using sketch::common::NotImplementedError;
                       ^~~~~~~~~~~~~~~~~~~
src/dashing.cpp: In function 'int bns::union_main(int, char**)':
src/dashing.cpp:1717:40: error: 'NotImplementedError' is not a member of 'sketch::common'
         default: throw sketch::common::NotImplementedError(ks::sprintf("Union not implemented for %s\n", sketch_names[sketch_type]).data());
                                        ^~~~~~~~~~~~~~~~~~~
src/dashing.cpp:1717:40: note: suggested alternatives:
In file included from bonsai/hll/common.h:44:0,
                 from src/dashing.cpp:2:
bonsai/hll/exception.h:10:7: note:   'sketch::exception::NotImplementedError'
 class NotImplementedError: public std::runtime_error {
       ^~~~~~~~~~~~~~~~~~~
bonsai/hll/exception.h:10:7: note:   'sketch::exception::NotImplementedError'
bonsai/hll/exception.h:10:7: note:   'sketch::exception::NotImplementedError'
bonsai/hll/exception.h:10:7: note:   'sketch::exception::NotImplementedError'
make: *** [src/dashing.o] Error 1

due to updates in hll submodule.

monday I cloned dashing (commit e002e3eda84013e926015bbdfcd5ec662fc13049) which had following revisions of submodules and nested submodules after make update

[gensoft@2b553ae80831 dashing-v0.3.5]$ git submodule
 2b1a48e49f19baeddf13384e528ee3bd2ff85cb6 bonsai (v0.2.2-9-g2b1a48e)
 ce5a57777cad45bb412878089afb3e30a9bccbce distmat (heads/master)
 ee5300f5c1266c963129a7f152f9c82c3a0e8b12 khset (heads/master)
[gensoft@2b553ae80831 dashing-v0.3.5]$ cd bonsai/
[gensoft@2b553ae80831 bonsai]$ git submodule
 5f48537e54e391ba1c249d2c4eddd2d1debe1f47 circularqueue (heads/master)
 742f81a66c8e2ae7889d1bc4c4b4d8734bdcd5af clhash (v0.1.0-8-g742f81a)
 2c4687431f978f02a3780e24b8b701d22aa32d9c flat_hash_map (heads/master)
 d516b3ed4278013e42963f551b53ecb68950dfd0 hll (v0.6-242-gd516b3e)
 f719aad5fa273424fab4b0d884d68375b7cc2520 klib (spawn-final-166-gf719aad)
 eeaaf19959c19644db134b4063aff11cc188b3bb kspp (heads/master)
 e7c5dddaf16e8f17d629f74b8f11d6d7eb258f93 lazy (heads/master)
 0de541e96ee4c88e5bd28a0e941ac91e99c3b62f libpopcnt (v2.2-20-g0de541e)
 0aa224367a0f09b5c3e5c90c715e3ff8fb2ffad3 linear (heads/master)
 65325bac67a840d2488908cfa266737297c159ff ntHash (v1.0.4-6-g65325ba)
 08879029ab8dcb80a70142acb709e3df02de5d37 pdqsort (heads/master)
 e68381300c074cbc6609a32367b9b7d93c65702e rollinghashcpp (heads/master)
 cacf7f1d4e3d44d871b605da3b647f07d718623f zlib (v1.2.11)
[gensoft@2b553ae80831 bonsai]$ cd ../distmat/
[gensoft@2b553ae80831 distmat]$ git submodule
 c9d32a81f40ad540015814edf13b29980c63e39c pybind11 (v2.2.0-223-gc9d32a8)
[gensoft@2b553ae80831 distmat]$ cd ../khset/
[gensoft@2b553ae80831 khset]$ git submodule
 f719aad5fa273424fab4b0d884d68375b7cc2520 klib (spawn-final-166-gf719aad)

today in order to reompile it on a other machine I cloned again dashing which have following revisions of submodules and nested submodules after make update

[gensoft@2b553ae80831 dashing-v0.3.5]$ git submodule
 2b1a48e49f19baeddf13384e528ee3bd2ff85cb6 bonsai (v0.2.2-9-g2b1a48e)
 ce5a57777cad45bb412878089afb3e30a9bccbce distmat (heads/master)
 ee5300f5c1266c963129a7f152f9c82c3a0e8b12 khset (heads/master)
[gensoft@2b553ae80831 dashing-v0.3.5]$ cd bonsai/
[gensoft@2b553ae80831 bonsai]$ git submodule
 5f48537e54e391ba1c249d2c4eddd2d1debe1f47 circularqueue (heads/master)
 742f81a66c8e2ae7889d1bc4c4b4d8734bdcd5af clhash (v0.1.0-8-g742f81a)
 2c4687431f978f02a3780e24b8b701d22aa32d9c flat_hash_map (heads/master)
+78e20281a9f5495d09a9771ff2bbd324dbf49fc9 hll (v0.6-248-g78e2028)
 f719aad5fa273424fab4b0d884d68375b7cc2520 klib (spawn-final-166-gf719aad)
 eeaaf19959c19644db134b4063aff11cc188b3bb kspp (heads/master)
 e7c5dddaf16e8f17d629f74b8f11d6d7eb258f93 lazy (heads/master)
 0de541e96ee4c88e5bd28a0e941ac91e99c3b62f libpopcnt (v2.2-20-g0de541e)
 0aa224367a0f09b5c3e5c90c715e3ff8fb2ffad3 linear (heads/master)
 65325bac67a840d2488908cfa266737297c159ff ntHash (v1.0.4-6-g65325ba)
 08879029ab8dcb80a70142acb709e3df02de5d37 pdqsort (heads/master)
 e68381300c074cbc6609a32367b9b7d93c65702e rollinghashcpp (heads/master)
 cacf7f1d4e3d44d871b605da3b647f07d718623f zlib (v1.2.11)
[gensoft@2b553ae80831 bonsai]$ cd ../distmat/
[gensoft@2b553ae80831 distmat]$ git submodule
+12e8774bc9aa4603136f2979088619b495850ca2 pybind11 (v2.2.0-234-g12e8774)
[gensoft@2b553ae80831 distmat]$ cd ../khset/
[gensoft@2b553ae80831 khset]$ git submodule
 f719aad5fa273424fab4b0d884d68375b7cc2520 klib (spawn-final-166-gf719aad)

you can note that hll and pybind11 differs

11c10
<  d516b3ed4278013e42963f551b53ecb68950dfd0 hll (v0.6-242-gd516b3e)
---
> +78e20281a9f5495d09a9771ff2bbd324dbf49fc9 hll (v0.6-248-g78e2028)
23c22
<  c9d32a81f40ad540015814edf13b29980c63e39c pybind11 (v2.2.0-223-gc9d32a8)
---
> +12e8774bc9aa4603136f2979088619b495850ca2 pybind11 (v2.2.0-234-g12e8774)

after

[gensoft@2b553ae80831 dashing-v0.3.5]$ cd bonsai/hll
[gensoft@2b553ae80831 hll]$ git checkout d516b3ed4278013e42963f551b53ecb68950dfd0cd

make dashing ends correctly

the update rule braks the submodule behavior, as you perform the following git checkout master && git pull

regards

Eric

dnbaker commented 5 years ago

Hi, Eric --

Thanks for the find! You're right, I hadn't updated downstream code for modifications in the repository, but I've fixed it now. (I'll let you know/close this issue after the Travis build exits successfully.)

dnbaker commented 5 years ago

It passed Travis CI — let me know if you have any other problems, and thanks again!