maickrau / GraphAligner

MIT License
261 stars 32 forks source link

Cannot compile with conda #70

Closed baozg closed 1 year ago

baozg commented 1 year ago

Hi, Mikko

I try to compile GraphAligner with conda, but it failed with an error. But I can suceffully compile the latest MBG. Could you help me figure this out?

mamba env create -f CondaEnvironment_linux.yml
conda activate GraphAligner
make bin/GraphAligner

log

/public/home/baizhigui88/miniconda3/envs/GraphAligner/bin/x86_64-conda-linux-gnu-c++ -c -o obj/Aligner.o src/Aligner.cpp -Wall -Wextra -std=c++17 -O3 -g -Iconcurrentqueue -IBBHash -Izstr/src -Iparallel-hashmap/parallel_hashmap/ `pkg-config --cflags protobuf` `pkg-config --cflags libsparsehash` -Wno-unused-parameter -IMEMfinder/src -I`jemalloc-config --includedir`
In file included from src/Aligner.cpp:12:
src/stream.hpp:58: warning: ignoring '#pragma omp critical' [-Wunknown-pragmas]
   58 | #pragma omp critical (stream_out)
      |
src/stream.hpp:70: warning: ignoring '#pragma omp critical' [-Wunknown-pragmas]
   70 | #pragma omp critical (stream_out)
      |
src/stream.hpp:153: warning: ignoring '#pragma omp parallel' [-Wunknown-pragmas]
  153 | #pragma omp parallel shared(more_input, more_objects, objects, count, in, lambda, handle_count, raw_in, gzip_in, coded_in)
      |
src/stream.hpp:158: warning: ignoring '#pragma omp critical' [-Wunknown-pragmas]
  158 | #pragma omp critical (objects)
      |
src/stream.hpp:171: warning: ignoring '#pragma omp master' [-Wunknown-pragmas]
  171 | #pragma omp master
      |
src/stream.hpp:186: warning: ignoring '#pragma omp critical' [-Wunknown-pragmas]
  186 | #pragma omp critical (objects)
      |
src/stream.hpp:196: warning: ignoring '#pragma omp critical' [-Wunknown-pragmas]
  196 | #pragma omp critical (objects)
      |
In file included from BBHash/ParallelBB.h:7,
                 from src/MinimizerSeeder.h:9,
                 from src/Aligner.cpp:19:
BBHash/BooPHF.h:39: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
   39 | #pragma mark -
      |
BBHash/BooPHF.h:40: warning: ignoring '#pragma mark utils' [-Wunknown-pragmas]
   40 | #pragma mark utils
      |
BBHash/BooPHF.h:335: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
  335 | #pragma mark -
      |
BBHash/BooPHF.h:336: warning: ignoring '#pragma mark hasher' [-Wunknown-pragmas]
  336 | #pragma mark hasher
      |
In file included from BBHash/ParallelBB.h:7,
                 from src/MinimizerSeeder.h:9,
                 from src/Aligner.cpp:19:
BBHash/BooPHF.h:512: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
  512 | #pragma mark -
      |
BBHash/BooPHF.h:513: warning: ignoring '#pragma mark iterators' [-Wunknown-pragmas]
  513 | #pragma mark iterators
      |
BBHash/BooPHF.h:540: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
  540 | #pragma mark -
      |
BBHash/BooPHF.h:541: warning: ignoring '#pragma mark BitVector' [-Wunknown-pragmas]
  541 | #pragma mark BitVector
      |
BBHash/BooPHF.h:795: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
  795 | #pragma mark -
      |
BBHash/BooPHF.h:796: warning: ignoring '#pragma mark level' [-Wunknown-pragmas]
  796 | #pragma mark level
      |
BBHash/BooPHF.h:829: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
  829 | #pragma mark -
      |
BBHash/BooPHF.h:830: warning: ignoring '#pragma mark mphf' [-Wunknown-pragmas]
  830 | #pragma mark mphf
      |
In file included from BBHash/ParallelBB.h:7,
                 from src/MinimizerSeeder.h:9,
                 from src/Aligner.cpp:19:
BBHash/BooPHF.h:1530: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 1530 | #pragma mark -
      |
BBHash/BooPHF.h:1531: warning: ignoring '#pragma mark threading' [-Wunknown-pragmas]
 1531 | #pragma mark threading
      |
In file included from src/MinimizerSeeder.h:7,
                 from src/Aligner.cpp:19:
/public/home/baizhigui88/miniconda3/envs/GraphAligner/include/sdsl/int_vector.hpp:1393:8: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
 1393 | inline auto
      |        ^~~~
/public/home/baizhigui88/miniconda3/envs/GraphAligner/include/sdsl/int_vector.hpp:1401:8: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
 1401 | inline auto
      |        ^~~~
/public/home/baizhigui88/miniconda3/envs/GraphAligner/include/sdsl/int_vector.hpp:1409:8: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
 1409 | inline auto
      |        ^~~~
/public/home/baizhigui88/miniconda3/envs/GraphAligner/include/sdsl/int_vector.hpp:1417:8: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
 1417 | inline auto
      |        ^~~~
/public/home/baizhigui88/miniconda3/envs/GraphAligner/include/sdsl/int_vector.hpp:1425:8: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
 1425 | inline auto
      |        ^~~~
/public/home/baizhigui88/miniconda3/envs/GraphAligner/include/sdsl/int_vector.hpp:1433:8: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
 1433 | inline auto
      |        ^~~~
In file included from /public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/filesystem:44,
                 from BBHash/BooPHF.h:12,
                 from BBHash/ParallelBB.h:7,
                 from src/MinimizerSeeder.h:9,
                 from src/Aligner.cpp:19:
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_fwd.h:298:26: error: '__file_clock' does not name a type
  298 |   using file_time_type = __file_clock::time_point;
      |                          ^~~~~~~~~~~~
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_fwd.h:320:3: error: 'file_time_type' does not name a type; did you mean 'file_type'?
  320 |   file_time_type last_write_time(const path&);
      |   ^~~~~~~~~~~~~~
      |   file_type
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_fwd.h:321:3: error: 'file_time_type' does not name a type; did you mean 'file_type'?
  321 |   file_time_type last_write_time(const path&, error_code&) noexcept;
      |   ^~~~~~~~~~~~~~
      |   file_type
In file included from /public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/filesystem:45,
                 from BBHash/BooPHF.h:12,
                 from BBHash/ParallelBB.h:7,
                 from src/MinimizerSeeder.h:9,
                 from src/Aligner.cpp:19:
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h: In function 'auto std::filesystem::__detail::__string_from_range(_InputIterator, _InputIterator)':
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h:232:34: error: '__to_address' is not a member of 'std'
  232 |           const auto* __f = std::__to_address(std::__niter_base(__first));
      |                                  ^~~~~~~~~~~~
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h:233:34: error: '__to_address' is not a member of 'std'
  233 |           const auto* __l = std::__to_address(std::__niter_base(__last));
      |                                  ^~~~~~~~~~~~
In file included from /public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/filesystem:46,
                 from BBHash/BooPHF.h:12,
                 from BBHash/ParallelBB.h:7,
                 from src/MinimizerSeeder.h:9,
                 from src/Aligner.cpp:19:
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_dir.h: At global scope:
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_dir.h:259:5: error: 'file_time_type' does not name a type; did you mean 'file_type'?
  259 |     file_time_type
      |     ^~~~~~~~~~~~~~
      |     file_type
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_dir.h:264:5: error: 'file_time_type' does not name a type; did you mean 'file_type'?
  264 |     file_time_type
      |     ^~~~~~~~~~~~~~
      |     file_type
In file included from /public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/filesystem:47,
                 from BBHash/BooPHF.h:12,
                 from BBHash/ParallelBB.h:7,
                 from src/MinimizerSeeder.h:9,
                 from src/Aligner.cpp:19:
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_ops.h:242:3: error: 'file_time_type' does not name a type; did you mean 'file_type'?
  242 |   file_time_type  last_write_time(const path& __p);
      |   ^~~~~~~~~~~~~~
      |   file_type
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_ops.h:243:3: error: 'file_time_type' does not name a type; did you mean 'file_type'?
  243 |   file_time_type  last_write_time(const path& __p, error_code& __ec) noexcept;
      |   ^~~~~~~~~~~~~~
      |   file_type
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_ops.h:244:41: error: 'file_time_type' has not been declared
  244 |   void last_write_time(const path& __p, file_time_type __new_time);
      |                                         ^~~~~~~~~~~~~~
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_ops.h:245:41: error: 'file_time_type' has not been declared
  245 |   void last_write_time(const path& __p, file_time_type __new_time,
      |                                         ^~~~~~~~~~~~~~
In file included from BBHash/ParallelBB.h:7,
                 from src/MinimizerSeeder.h:9,
                 from src/Aligner.cpp:19:
BBHash/BooPHF.h: In member function 'void boomphf::Progress::finish_threaded()':
BBHash/BooPHF.h:241:32: warning: unused variable 'rem' [-Wunused-variable]
  241 |                         double rem = 0;
      |                                ^~~
src/Aligner.cpp: In function 'std::unordered_map<std::basic_string<char>, std::vector<SeedHit> > loadGafSeeds(const AlignmentGraph&, const string&)':
src/Aligner.cpp:713:24: warning: unused variable 'readLength' [-Wunused-variable]
  713 |                 size_t readLength = std::stoi(line.substr(tabPoses[0]+1, tabPoses[1] - tabPoses[0] - 1));
      |                        ^~~~~~~~~~
src/Aligner.cpp:717:24: warning: unused variable 'pathLength' [-Wunused-variable]
  717 |                 size_t pathLength = std::stoi(line.substr(tabPoses[5]+1, tabPoses[6] - tabPoses[5] - 1));
      |                        ^~~~~~~~~~
src/Aligner.cpp:719:24: warning: unused variable 'pathEnd' [-Wunused-variable]
  719 |                 size_t pathEnd = std::stoi(line.substr(tabPoses[7]+1, tabPoses[8] - tabPoses[7] - 1));
      |                        ^~~~~~~
In file included from /public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/filesystem:45,
                 from BBHash/BooPHF.h:12,
                 from BBHash/ParallelBB.h:7,
                 from src/MinimizerSeeder.h:9,
                 from src/Aligner.cpp:19:
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h: In instantiation of 'static std::basic_string<_CharT, _Traits, _Alloc> std::filesystem::path::_S_str_convert(std::basic_string_view<char>, const _Allocator&) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Allocator = std::allocator<wchar_t>]':
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h:1088:40:   required from 'std::basic_string<_CharT, _Traits, _Alloc> std::filesystem::path::string(const _Allocator&) const [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Allocator = std::allocator<wchar_t>]'
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h:1096:49:   required from here
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h:1070:35: error: '__str_codecvt_in_all' was not declared in this scope
 1070 |           if (__str_codecvt_in_all(__first, __last, __wstr, __cvt))
      |               ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h: In instantiation of 'static std::basic_string<_CharT, _Traits, _Alloc> std::filesystem::path::_S_str_convert(std::basic_string_view<char>, const _Allocator&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Allocator = std::allocator<char16_t>]':
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h:1088:40:   required from 'std::basic_string<_CharT, _Traits, _Alloc> std::filesystem::path::string(const _Allocator&) const [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Allocator = std::allocator<char16_t>]'
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h:1122:52:   required from here
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h:1070:35: error: '__str_codecvt_in_all' was not declared in this scope
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h: In instantiation of 'static std::basic_string<_CharT, _Traits, _Alloc> std::filesystem::path::_S_str_convert(std::basic_string_view<char>, const _Allocator&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Allocator = std::allocator<char32_t>]':
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h:1088:40:   required from 'std::basic_string<_CharT, _Traits, _Alloc> std::filesystem::path::string(const _Allocator&) const [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Allocator = std::allocator<char32_t>]'
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h:1125:52:   required from here
/public/home/baizhigui88/miniconda3/envs/GraphAligner/x86_64-conda-linux-gnu/include/c++/11.2.0/bits/fs_path.h:1070:35: error: '__str_codecvt_in_all' was not declared in this scope
make: *** [makefile:41: obj/Aligner.o] Error 1
maickrau commented 1 year ago

That's strange, it looks like the errors are coming from the standard library. Have you used the same environment to compile GraphAligner before?

baozg commented 1 year ago

Sorry, it maybe not the first run error. I create a totally new environment and try to build. I will rerun all the command line and paste the first error here.

baozg commented 1 year ago

Find it. Because our cluster loads default module environment with some compiler, I module purge and rerun the make bin/GraphAligner, and it successfully compiled. Thank you for the reply.