bcgsc / biobloom

Create Bloom filters for a given reference and then use it to categorize sequences
http://www.bcgsc.ca/platform/bioinfo/software/biobloomtools
GNU General Public License v3.0
76 stars 15 forks source link

Missing header file "Common/Uncompress.h" #58

Closed simon28li closed 2 years ago

simon28li commented 3 years ago

Hello,when I try to execute make check version 2.2.0,It throw an exception that missing header file Common/Uncompress.h. Below is the log.Thanks. [root@localhost spack-src]# make check Making check in Common make[1]: Entering directory '/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/Common' make[1]: Nothing to be done for 'check'. make[1]: Leaving directory '/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/Common' Making check in BioBloomMaker make[1]: Entering directory '/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/BioBloomMaker' make[1]: Nothing to be done for 'check'. make[1]: Leaving directory '/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/BioBloomMaker' Making check in BioBloomCategorizer make[1]: Entering directory '/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/BioBloomCategorizer' make[1]: Nothing to be done for 'check'. make[1]: Leaving directory '/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/BioBloomCategorizer' Making check in Tests make[1]: Entering directory '/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/Tests' make BloomFilterTests BloomFilterCategorizerTests BloomFilterMakerTests BloomFilterInfoTests SeqEvalTests make[2]: Entering directory '/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/Tests' /home/spack/spack/lib/spack/env/gcc/g++ -DHAVE_CONFIG_H -I. -I.. -I/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src -std=c++11 -w -Wall -Wextra -Werror -w -MT BloomFilterTests.o -MD -MP -MF .deps/BloomFilterTests.Tpo -c -o BloomFilterTests.o BloomFilterTests.cpp mv -f .deps/BloomFilterTests.Tpo .deps/BloomFilterTests.Po /home/spack/spack/lib/spack/env/gcc/g++ -Wall -Wextra -Werror -w -o BloomFilterTests BloomFilterTests.o ../Common/libcommon.a -lz -ldl /home/spack/spack/lib/spack/env/gcc/g++ -DHAVE_CONFIG_H -I. -I.. -I/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/BioBloomCategorizer -I/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/Common -I/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/DataLayer -I/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src -std=c++11 -w -Wall -Wextra -Werror -w -MT BloomFilterCategorizerTests-BloomFilterCategorizerTests.o -MD -MP -MF .deps/BloomFilterCategorizerTests-BloomFilterCategorizerTests.Tpo -c -o BloomFilterCategorizerTests-BloomFilterCategorizerTests.o test -f 'BloomFilterCategorizerTests.cpp' || echo '/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/Tests/'BloomFilterCategorizerTests.cpp BloomFilterCategorizerTests.cpp:9:10: fatal error: Common/Uncompress.h: No such file or directory

include "Common/Uncompress.h"

      ^~~~~~~~~~~~~~~~~~~~~

compilation terminated. make[2]: [Makefile:402: BloomFilterCategorizerTests-BloomFilterCategorizerTests.o] Error 1 make[2]: Leaving directory '/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/Tests' make[1]: [Makefile:529: check-am] Error 2 make[1]: Leaving directory '/tmp/root/spack-stage/spack-stage-biobloom-2.2.0-c6yd3fom435nvbkthzyhm4522oxq6mgg/spack-src/Tests' make: *** [Makefile:426: check-recursive] Error 1

lcoombe commented 3 years ago

Hi @simon28li,

Are you seeing the same error if you just run make, as described in the installation instructions? If you keep seeing issues compiling from source, I'd also suggest installing from linuxbrew/homebrew, which is usually much easier.

Thank you for your interest in BBT! Lauren

vlad0x00 commented 3 years ago

Seems you're running an outdated version, are you able to update? I think Uncompress.h is not required in the latest.

simon28li commented 3 years ago

Hi @simon28li,

Are you seeing the same error if you just run make, as described in the installation instructions? If you keep seeing issues compiling from source, I'd also suggest installing from linuxbrew/homebrew, which is usually much easier.

Thank you for your interest in BBT! Lauren

@lcoombe Thank you for your reply. In fact, make does not report an error.

simon28li commented 3 years ago

Seems you're running an outdated version, are you able to update? I think Uncompress.h is not required in the latest.

@schutzekatze Thank you for your reply. When I attempt to upgrade the version to 2.3.3 and then run the make check command, the following error message is displayed:

[root@localhost spack-src]# make check
Making check in Common
make[1]: Entering directory '/tmp/root/spack-stage/spack-stage-biobloom-2.3.3-gyuebakej5r2k4ndjgbgcddiwktoizzw/spack-src/Common'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/root/spack-stage/spack-stage-biobloom-2.3.3-gyuebakej5r2k4ndjgbgcddiwktoizzw/spack-src/Common'
Making check in BioBloomMaker
make[1]: Entering directory '/tmp/root/spack-stage/spack-stage-biobloom-2.3.3-gyuebakej5r2k4ndjgbgcddiwktoizzw/spack-src/BioBloomMaker'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/root/spack-stage/spack-stage-biobloom-2.3.3-gyuebakej5r2k4ndjgbgcddiwktoizzw/spack-src/BioBloomMaker'
Making check in BioBloomCategorizer
make[1]: Entering directory '/tmp/root/spack-stage/spack-stage-biobloom-2.3.3-gyuebakej5r2k4ndjgbgcddiwktoizzw/spack-src/BioBloomCategorizer'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/root/spack-stage/spack-stage-biobloom-2.3.3-gyuebakej5r2k4ndjgbgcddiwktoizzw/spack-src/BioBloomCategorizer'
Making check in Tests
make[1]: Entering directory '/tmp/root/spack-stage/spack-stage-biobloom-2.3.3-gyuebakej5r2k4ndjgbgcddiwktoizzw/spack-src/Tests'
make  BloomFilterTests BloomFilterCategorizerTests BloomFilterMakerTests BloomFilterInfoTests SeqEvalTests ntHashTests
make[2]: Entering directory '/tmp/root/spack-stage/spack-stage-biobloom-2.3.3-gyuebakej5r2k4ndjgbgcddiwktoizzw/spack-src/Tests'
/home/spack/spack/lib/spack/env/gcc/g++ -DHAVE_CONFIG_H -I. -I..   -I/tmp/root/spack-stage/spack-stage-biobloom-2.3.3-gyuebakej5r2k4ndjgbgcddiwktoizzw/spack-src    -std=c++11 -w -Wall -Wextra -Werror  -w -MT BloomFilterTests.o -MD -MP -MF .deps/BloomFilterTests.Tpo -c -o BloomFilterTests.o BloomFilterTests.cpp
BloomFilterTests.cpp:15:10: fatal error: btl_bloomfilter/ntHashIterator.hpp: No such file or directory
 #include "btl_bloomfilter/ntHashIterator.hpp"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

I find the ntHashIterator.hpp file is in the /btl_bloomfilter/vendor directory,so I copy the files in this directory of vendor to the /btl_bloomfilter directory,However, an error is also reported.

/home/spack/spack/lib/spack/env/gcc/g++ -DHAVE_CONFIG_H -I. -I..  -I/tmp/root/spack-stage/spack-stage-biobloom-2.3.3-gyuebakej5r2k4ndjgbgcddiwktoizzw/spack-src/Common -I/tmp/root/spack-stage/spack-stage-biobloom-2.3.3-gyuebakej5r2k4ndjgbgcddiwktoizzw/spack-src    -std=c++11 -w -Wall -Wextra -Werror  -w -MT ntHashTests-ntHashTests.o -MD -MP -MF .deps/ntHashTests-ntHashTests.Tpo -c -o ntHashTests-ntHashTests.o `test -f 'ntHashTests.cpp' || echo '/tmp/root/spack-stage/spack-stage-biobloom-2.3.3-gyuebakej5r2k4ndjgbgcddiwktoizzw/spack-src/Tests/'`ntHashTests.cpp
ntHashTests.cpp: In function 'int main()':
ntHashTests.cpp:17:29: error: 'parseSeed' was not declared in this scope
  stHashIterator itr1(seqFW, parseSeed(ss), ss.size(), ss[0].size());
                             ^~~~~~~~~
make[2]: *** [Makefile:444: ntHashTests-ntHashTests.o] Error 1

Is it my operation error? Do you have the same problem when you perform the make check? Do you have other self-test methods?

JustinChu commented 3 years ago

The test do indeed require an update to address the changes made in the newer version of btl_bloomfilter used in BBT.

I pushed a fix to the master branch but generally speaking the tests probably need a overhaul anyway.

simon28li commented 3 years ago

The test do indeed require an update to address the changes made in the newer version of btl_bloomfilter used in BBT.

I pushed a fix to the master branch but generally speaking the tests probably need a overhaul anyway.

@JustinChu Thank you very much. The following error message is displayed when I use the latest code to test.

/home/spack/spack/lib/spack/env/gcc/g++ -Wall -Wextra -Werror  -fopenmp -std=c++11 -w   -o ntHashTests ntHashTests-ntHashTests.o ../Common/libcommon.a -lz -ldl
ntHashTests-ntHashTests.o: In function `__static_initialization_and_destruction_0(int, int)':
ntHashTests.cpp:(.text+0x5a0): undefined reference to `sdsl::ram_fs_initializer::ram_fs_initializer()'
ntHashTests.cpp:(.text+0x5b4): undefined reference to `sdsl::ram_fs_initializer::~ram_fs_initializer()'
ntHashTests.cpp:(.text+0x5b8): undefined reference to `sdsl::ram_fs_initializer::~ram_fs_initializer()'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:381: ntHashTests] Error 1
make[2]: Leaving directory '/tmp/root/spack-stage/spack-stage-biobloom-master-uaarwkbx4kjvhhic6olkuedzv6is25lw/spack-src/Tests'
make[1]: *** [Makefile:558: check-am] Error 2
make[1]: Leaving directory '/tmp/root/spack-stage/spack-stage-biobloom-master-uaarwkbx4kjvhhic6olkuedzv6is25lw/spack-src/Tests'
make: *** [Makefile:429: check-recursive] Error 1
JustinChu commented 3 years ago

Sorry, I forgot to commit a make file change. make check compile now after cleaning up and re-running autogen.sh.

simon28li commented 3 years ago

Sorry, I forgot to commit a make file change. make check compile now after cleaning up and re-running autogen.sh.

Thanks a lot. Now, it's okay to run the make check.

simon28li commented 3 years ago

Sorry, I forgot to commit a make file change. make check compile now after cleaning up and re-running autogen.sh.

Thanks a lot. Now, it's okay to run the make check.

simon28li commented 3 years ago

@JustinChu Do you have any plans to release an official version containing this patch recently?

simon28li commented 3 years ago

@JustinChu Do you have any plans to release an official version containing this patch recently? @JustinChu Is there any progress or plan to release the new version?

JustinChu commented 3 years ago

There have been a few other bugfixes so you are right that we are due for a release. I've wanted to get the code working on conda as well. I'll try to get a new release around the end of the month.

JustinChu commented 2 years ago

Release 2.3.5 has bugfix and bbt is on conda now as well.