computations / root_digger

A tool to root phylogenies
MIT License
19 stars 7 forks source link

Problems installing Root Digger #13

Closed bbraschi78 closed 5 months ago

bbraschi78 commented 1 year ago

Hi,

I'm trying to install Root Digger on my mac and have run into some errors. At first my problem was not having installed googletest, but I think I have that sorted now. I'm not experienced with cmake etc. Can you see what I'm doing wrong?

Many thanks, Bryony

bbraschi@bbraschi-ml root_digger % make -- The C compiler identification is AppleClang 13.0.0.13000029 -- The CXX compiler identification is AppleClang 13.0.0.13000029 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Git: /usr/bin/git (found version "2.30.1 (Apple Git-130)") -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE
-- Found OpenMP_C: -Xclang -fopenmp (found version "5.0") -- Found OpenMP_CXX: -Xclang -fopenmp (found version "5.0") -- Found OpenMP: TRUE (found version "5.0")
-- SSE enabled. To disable it, run cmake with -DENABLE_SSE=false -- AVX enabled. To disable it, run cmake with -DENABLE_AVX=false -- AVX2 enabled. To disable it, run cmake with -DENABLE_AVX2=false Non-rev enabled -- coraxlib libraries: corax_static -- Found GTest: /usr/local/lib/cmake/GTest/GTestConfig.cmake (found version "1.11.0")
-- Configuring done -- Generating done CMake Warning: Manually-specified variables were not used by the project:

BENCHMARK_ENABLE_LTO

-- Build files have been written to: /Users/bbraschi/Scratch/root_digger/build [ 1%] Building C object lib/lbfgsb/CMakeFiles/lbfgs_lib.dir/lbfgsb.c.o [ 2%] Building C object lib/lbfgsb/CMakeFiles/lbfgs_lib.dir/linesearch.c.o [ 3%] Building C object lib/lbfgsb/CMakeFiles/lbfgs_lib.dir/linpack.c.o [ 4%] Building C object lib/lbfgsb/CMakeFiles/lbfgs_lib.dir/miniCBLAS.c.o [ 5%] Building C object lib/lbfgsb/CMakeFiles/lbfgs_lib.dir/subalgorithms.c.o [ 6%] Linking C static library liblbfgs_lib.a [ 6%] Built target lbfgs_lib [ 7%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/core/common.c.o [ 8%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/core/parsimony.c.o [ 9%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/core/partition.c.o [ 10%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/core/repeats.c.o [ 11%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/io/binary.c.o [ 12%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/io/binary_io_operations.c.o [ 13%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/io/fasta.c.o [ 15%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/io/maps.c.o [ 16%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/io/output.c.o [ 17%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/io/phylip.c.o [ 18%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/io/utree_ascii.c.o [ 19%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/io/utree_newick.c.o [ 20%] Building C object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/io/utree_svg.c.o [ 21%] Building CXX object lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/io/newick.cpp.o /Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:73:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] auto s = n->next; ^ /Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:77:5: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] auto tmp = s->next; ^ /Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:178:31: error: expected member name or ';' after declaration specifiers _input{std::move(input)}, _current_index{0} {}; ^ /Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:178:13: error: expected '(' _input{std::move(input)}, _current_index{0} {}; ^ /Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:178:30: error: expected ';' after expression _input{std::move(input)}, _current_index{0} {}; ^ ; /Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:205:5: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] auto f_str = consume_value_as_string(); ^ /Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:210:31: error: expected '(' for function-style cast or type construction throw std::runtime_error{std::string("Float conversion failed around")


/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:225:5: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
    auto ret = consume_token_pos();
    ^
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:228:31: error: expected '(' for function-style cast or type construction
      throw std::runtime_error{
            ~~~~~~~~~~~~~~~~~~^
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:251:5: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
    auto start_index = _current_index;
    ^
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:252:5: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
    auto token       = consume();
    ^
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:253:12: warning: generalized initializer lists are a C++11 extension [-Wc++11-extensions]
    return {token, start_index};
           ^~~~~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:253:12: error: non-aggregate type 'std::pair<lexeme_type_t, size_t>' (aka 'pair<lexeme_type_t, unsigned long>') cannot be initialized with an initializer list
    return {token, start_index};
           ^~~~~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:261:14: warning: generalized initializer lists are a C++11 extension [-Wc++11-extensions]
      return {"opening square bracket"};
             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:261:14: error: non-aggregate type 'std::string' (aka 'basic_string<char>') cannot be initialized with an initializer list
      return {"opening square bracket"};
             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:263:14: warning: generalized initializer lists are a C++11 extension [-Wc++11-extensions]
      return {"closing square bracket"};
             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:263:14: error: non-aggregate type 'std::string' (aka 'basic_string<char>') cannot be initialized with an initializer list
      return {"closing square bracket"};
             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:265:14: warning: generalized initializer lists are a C++11 extension [-Wc++11-extensions]
      return {"opening parenthesis"};
             ^~~~~~~~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:265:14: error: non-aggregate type 'std::string' (aka 'basic_string<char>') cannot be initialized with an initializer list
      return {"opening parenthesis"};
             ^~~~~~~~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:267:14: warning: generalized initializer lists are a C++11 extension [-Wc++11-extensions]
      return {"closing parenthesis"};
             ^~~~~~~~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:267:14: error: non-aggregate type 'std::string' (aka 'basic_string<char>') cannot be initialized with an initializer list
      return {"closing parenthesis"};
             ^~~~~~~~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:269:14: warning: generalized initializer lists are a C++11 extension [-Wc++11-extensions]
      return {"colon"};
             ^~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:269:14: error: non-aggregate type 'std::string' (aka 'basic_string<char>') cannot be initialized with an initializer list
      return {"colon"};
             ^~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:271:14: warning: generalized initializer lists are a C++11 extension [-Wc++11-extensions]
      return {"semicolon"};
             ^~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:271:14: error: non-aggregate type 'std::string' (aka 'basic_string<char>') cannot be initialized with an initializer list
      return {"semicolon"};
             ^~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:273:14: warning: generalized initializer lists are a C++11 extension [-Wc++11-extensions]
      return {"comma"};
             ^~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:273:14: error: non-aggregate type 'std::string' (aka 'basic_string<char>') cannot be initialized with an initializer list
      return {"comma"};
             ^~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:275:14: warning: generalized initializer lists are a C++11 extension [-Wc++11-extensions]
      return {"end of input"};
             ^~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:275:14: error: non-aggregate type 'std::string' (aka 'basic_string<char>') cannot be initialized with an initializer list
      return {"end of input"};
             ^~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:277:14: warning: generalized initializer lists are a C++11 extension [-Wc++11-extensions]
      return {"either a identifier or a number"};
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:277:14: error: non-aggregate type 'std::string' (aka 'basic_string<char>') cannot be initialized with an initializer list
      return {"either a identifier or a number"};
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:279:14: warning: generalized initializer lists are a C++11 extension [-Wc++11-extensions]
      return {"unknown token"};
             ^~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:279:14: error: non-aggregate type 'std::string' (aka 'basic_string<char>') cannot be initialized with an initializer list
      return {"unknown token"};
             ^~~~~~~~~~~~~~~~~
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:324:31: error: expected '(' for function-style cast or type construction
      throw std::runtime_error{"The punctuation was unrecognized"};
            ~~~~~~~~~~~~~~~~~~^
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:335:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
  auto token = peak();
  ^
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:400:31: error: expected member name or ';' after declaration specifiers
      _lexer{std::move(input)},
                              ^
/Users/bbraschi/Scratch/root_digger/lib/coraxlib/src/corax/io/newick.cpp:400:13: error: expected '('
      _lexer{std::move(input)},
            ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
18 warnings and 20 errors generated.
make[3]: *** [lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/io/newick.cpp.o] Error 1
make[2]: *** [lib/coraxlib/src/corax/CMakeFiles/corax_obj.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [release] Error 2
computations commented 1 year ago

Thanks for pointing this out. It appears that the underlying library was an old version, which had trouble building on mac. I have updated the repository. Please pull the changes and see if that fixes the problem.

bbraschi78 commented 1 year ago

Hi, I got further but now get the error 'cblas.h' file not found when I run "make". This may be due to my lack of experience in installing things via the command line rather than a problem with Root Digger. Any advice on how to fix this would be much appreciated!

computations commented 1 year ago

I think that the issue here might be that the configuration is messed up. I would delete the repository and reclone it, then try to build it again. However, I can't be sure without logs from the build process

computations commented 5 months ago

closing this issue as there has been no updates for some time.