COMBINE-lab/salmon

Unit tests with `make test` not finding `libtbb.so.12`

Opened this issue · 2 comments

Is the bug primarily related to salmon (bulk mode) or alevin (single-cell mode)?
Salmon

Describe the bug
Unit test failure during make test

To Reproduce
Building this Dockerfile is enough to reproduce the error

# Use Ubuntu as the base image
FROM ubuntu:latest

WORKDIR /pipeline

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        git ca-certificates make cmake libboost-all-dev build-essential \
        libcurl4-openssl-dev libbz2-dev liblzma-dev unzip curl && \
        git clone --branch v1.10.1 https://github.com/COMBINE-lab/salmon.git && \
        cd salmon && mkdir build && cd build && \
        cmake -DNO_IPO=TRUE -DBOOST_ROOT=/usr -DTBB_INSTALL_DIR=/usr \
        -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
        make && make install && \
        make test || true

Specifically, please provide at least the following information:

  • Which version of salmon was used? v0.10.1
  • How was salmon installed (compiled, downloaded executable, through bioconda)? compiled
  • Which reference (e.g. transcriptome) was used? none
  • Which read files were used? none
  • Which which program options were used? It was the unit test.

Expected behavior
I expect the tests to pass. This seems like it might be related to #229 but maybe not.
I did try ./src/unitTests and that passes.

Desktop (please complete the following information):

  • I built the Dockerfile on MacOS

Additional context
The error log file says

-- For unit tests, will set working directory to /pipeline/salmon/tests
./unitTests: error while loading shared libraries: libtbb.so.12: cannot open shared object file: No such file or directory
CMake Error at /pipeline/salmon/cmake/UnitTests.cmake:8 (message):
  Error running 127

This is strange because the other tests (which pass) must need this libtbb.so.12 too right?

I had a similar error, but was able to fix it by adding the line:
export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH
to my .bashrc file, so maybe that's something to try if you haven't already. (There's a similar issue described here: #219).

Yes but that is also not set when I do ./src/unitTests and that runs fine. That's strange right? I would expect to have to set it for neither or for both.