ОШИБКА; код возврата из pthread_create () - 22 - PullRequest
1 голос
/ 06 мая 2020

Проблема: я создал среду conda в репозитории Docker для запуска конвейера snakemake. Я использовал тот же файл среды conda, который был запущен на моем ma c (R 3.6.1). Все работает гладко, пока не дойдет до нормализации с пакетом MSnbase, где он не работает, я получаю следующую ошибку с библиотекой MSnbaSe:

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

После проверки inte rnet, похоже, проблема с openblas . На моем Ma c (где он работает отлично) sessionInfo () показывает следующее:

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

и список conda | grep blas показывает:

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

Я пытался собрать conda в docker, используя R 3.6.1 и те же пакеты blas. К сожалению, пакет libopenblas linux 0.3.7 (сборка h6e990d7_0) постоянно воспроизводил ошибку. Есть какие-нибудь советы по этому поводу?

Заранее благодарю

1 Ответ

0 голосов
/ 06 мая 2020

Из этого вопроса и этой проблемы , я думаю, вы можете исправить это, понизив libopenblas до 0.3.3. Итак, когда вы создаете среду conda, вы должны сделать что-то вроде

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

. Теперь, если понижение версии libopenblas сломает другие вещи, я не знаю

...