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.