COMBINE-lab / salmon

🐟 🍣 🍱 Highly-accurate & wicked fast transcript-level quantification from RNA-seq reads using selective alignment
https://combine-lab.github.io/salmon
GNU General Public License v3.0
776 stars 164 forks source link

Salmon-0.9.1_linux_x86_64 binary: Exec format error (MacOS 10.12) #192

Open bgarchow opened 6 years ago

bgarchow commented 6 years ago

Untar salmon tarball:

$ tar xzvf Salmon-0.9.1_linux_x86_64.tar.gz

Verify binary file is executable:

$ cd Salmon-latest_linux_x86_64/bin && ls -l
total 25336
-rwxr-xr-x 1 bgarchow  staff  12971263 Nov 28 22:30 salmon

Try to run salmon:

bin $ ./salmon -h
-bash: ./salmon: cannot execute binary file: Exec format error

BASH version:

$ bash --version
GNU bash, version 4.4.18(1)-release (x86_64-apple-darwin16.7.0)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
rob-p commented 6 years ago

Hi @bgarchow,

This appears to be because you are trying to use the linux binary on OSX. These aren't binary-compatible operating systems. If you want to use Salmon on OSX, then you should either install it using bioconda (this is the easiest and quickest option), or build it from source. Let me know if you're able to do the bioconda install (they have it pre-built for OSX).

--Rob

Jx-b commented 6 years ago

Hi, It does not seem to work through bioconda, I am trying to install the latest release on OSX with conda but I keep getting the following error:

$ conda install -c bioconda salmon 
Solving environment: failed

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

  - salmon
  - boost=1.64
  - salmon
  - libcxx==4.0.0

Current channels:

  - https://conda.anaconda.org/bioconda/osx-64
  - https://conda.anaconda.org/bioconda/noarch
  - https://repo.anaconda.com/pkgs/main/osx-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/free/osx-64
  - https://repo.anaconda.com/pkgs/free/noarch
  - https://repo.anaconda.com/pkgs/r/osx-64
  - https://repo.anaconda.com/pkgs/r/noarch
  - https://repo.anaconda.com/pkgs/pro/osx-64
  - https://repo.anaconda.com/pkgs/pro/noarch
rob-p commented 6 years ago

Hi @Jx-b,

There seem to be some strange versioning issues with bioconda. Can you try the following; which should install salmon in its own environment?

conda create -n salmon salmon=0.9.1

Then, you can activate the salmon environment and run salmon from there. Please let me know if this works for you.

Best, Rob

Jx-b commented 6 years ago

Hi Rob, thanks for the quick reply. I tried what you suggested and I tried with adding the bioconda channel but still got the same error, however adding the conda-forge and bioconda channels to the conda config solved it. Maybe it needed access to conda-forge to find the boost and libcxx packages?

$ conda config --add channels conda-forge
$ conda config --add channels bioconda
$ conda create -n salmon salmon=0.9.1
Solving environment: done

## Package Plan ##

  environment location: /Users/Jb_Macbook/miniconda3/envs/salmon

  added / updated specs: 
    - salmon=0.9.1

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    tk-8.6.7                   |                0         3.0 MB  conda-forge
    mkl_random-1.0.1           |           py36_0         371 KB  conda-forge
    boost-1.64.0               |           py36_4         304 KB  conda-forge
    libiconv-1.15              |                0         1.3 MB  conda-forge
    clangdev-4.0.0             |        default_0        62.8 MB  conda-forge
    bzip2-1.0.6                |                1         145 KB  conda-forge
    xz-5.2.3                   |                0         304 KB  conda-forge
    certifi-2018.1.18          |           py36_0         143 KB  conda-forge
    pip-9.0.3                  |           py36_0         1.7 MB  conda-forge
    tbb-2018_20171205          |                0         404 KB  conda-forge
    boost-cpp-1.64.0           |                1        16.2 MB  conda-forge
    ncurses-5.9                |               10         1.1 MB  conda-forge
    jemalloc-4.5.0             |                0         4.1 MB  bioconda
    salmon-0.9.1               |                1         2.6 MB  bioconda
    numpy-1.14.2               |   py36ha9ae307_1         4.0 MB
    sqlite-3.20.1              |                2         1.4 MB  conda-forge
    setuptools-39.0.1          |           py36_0         552 KB  conda-forge
    llvmdev-4.0.0              |        default_0       100.9 MB  conda-forge
    icu-58.2                   |                0        22.7 MB  conda-forge
    readline-7.0               |                0         383 KB  conda-forge
    libcxx-4.0.0               |                1         1.1 MB  conda-forge
    zlib-1.2.11                |                0          95 KB  conda-forge
    libxml2-2.9.8              |                0         1.9 MB  conda-forge
    wheel-0.31.0               |           py36_0          62 KB  conda-forge
    python-3.6.5               |                1        13.9 MB  conda-forge
    mkl_fft-1.0.1              |           py36_1         146 KB  conda-forge
    ------------------------------------------------------------
                                           Total:       241.7 MB
RaymondSHANG commented 6 years ago

I tried conda install -c bioconda salmon similar failure as shown by Jx-b. Then I tried the way as Jx-b suggested, it failed at first. After updating Conda to the latest version (4.5.1), removing the salmon file and reinstall it by: conda create -n salmon salmon=0.9.1 The installation was finally complete without error.

Thanks for the discussion here, @Jx-b