3

Problem: I created a conda environment in a Docker repository to run a snakemake pipeline. I used the same running conda environment file running on my mac (R 3.6.1). Everything runs smoothly till it gets to the normalisation with MSnbase package where it fails, I get the following error with MSnbaSe library:

msnset.nrm <- normalise(data, "quantiles")
Error in preprocessCore::normalize.quantiles(exprs(object), ...) : 
  ERROR; return code from pthread_create() is 22

After checking the internet, it seems to be a problem with openblas. On my Mac (where it runs perfectly), sessionInfo() shows the following:

R version 3.6.1 (2019-07-05)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: macOS Mojave 10.14.4

Matrix products: default
BLAS/LAPACK: /Users/MH/miniconda3/envs/snakemake_all/lib/libopenblasp-r0.3.7.dylib

Random number generation:
RNG:     Mersenne-Twister
Normal:  Inversion
Sample:  Rounding

locale:
[1] C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_3.6.1

and conda list | grep blas shows:

libblas                   3.8.0               12_openblas    conda-forge
libcblas                  3.8.0               12_openblas    conda-forge
liblapack                 3.8.0               12_openblas    conda-forge
libopenblas               0.3.7                hd44dcd8_1    conda-forge

I tried to build the conda in docker using R 3.6.1 and the same blas packages. Unfortunately, linux 0.3.7 libopenblas package (build h6e990d7_0) reproduced the error continuously. Any advice on this matter?

Thank you in advance

M. Hallal
  • 71
  • 2
  • 6

1 Answers1

0

From this question and this issue, I think you can fix it by downgrading libopenblas to 0.3.3. So when you create your conda environment you should do something like

conda create -n my-env libopenblas=0.3.3 other-packages

Now, whether downgrading libopenblas will break other things, I've no idea

dariober
  • 8,240
  • 3
  • 30
  • 47