ParBLiSS / FastANI

Fast Whole-Genome Similarity (ANI) Estimation
Apache License 2.0
374 stars 67 forks source link

Cannot install fastANI on MAC #131

Open francescodc87 opened 7 months ago

francescodc87 commented 7 months ago

Hi all, I am trying to install fastANI on my Mac but I can't find a way to do it, I tried the following

1) Download the latest release and use the instructions on the INSTALL.txt file, and I get the following error after cmake

-- The CXX compiler identification is AppleClang 15.0.0.15000309
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/lib/libz.tbd (found suitable version "1.2.12", minimum required is "1.1")
Using zlib library v1.2.12
-- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) 
-- Could NOT find OpenMP (missing: OpenMP_CXX_FOUND) 
NOTE: OpenMP not found; Compiling as a single threaded app...
-- Found GSL: /opt/homebrew/include (found suitable version "2.7.1", minimum required is "1.6")
GSL v2.7.1 Found: 
CMake Error at CMakeLists.txt:59 (add_subdirectory):
  The source directory

    /Users/username/FastANI-1.34/ext/Catch2

  does not contain a CMakeLists.txt file.

CMake Error at CMakeLists.txt:61 (include):
  include could not find requested file:

    Catch

CMake Error at CMakeLists.txt:72 (catch_discover_tests):
  Unknown CMake command "catch_discover_tests".

2) used autoconf and ./configure and I get this error

checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... -std=gnu++11
checking for g++ -std=gnu++11 option to support OpenMP... unsupported
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for zlib.h... yes
checking for gsl/gsl_cdf.h... no
configure: error: GNU Scientific Library headers not found.

I installed gsl with brew. I also tried ./configure --with-gsl=/opt/homebrew/include/ but I get the same error

3) via conda also not working

conda install fastANI -c bioconda            
Channels:
 - bioconda
 - defaults
Platform: osx-arm64
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - fastani

Current channels:

  - https://conda.anaconda.org/bioconda
  - defaults

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

Any help?

fluhus commented 5 months ago

Hi,

For 1 I think you need to get Catch2 which is a submodule. From the fastani source directory, run:

git submodule init
git submodule update

This should fetch it for you.


For 3 it could be that the program is not available for the arm64 architecture (conda page). There is this SO thread about setting up an osx-64 environment, perhaps it can solve this.

I hope this helps!

peterjc commented 1 day ago

For (3), the BioConda package for fastANI was updated in August 2024 to cover Linux and macOS on ARM64.