#r #conda #openblas
#r #conda #openblas
Вопрос:
Я создал conda env со всеми R-пакетами, необходимыми для запуска моего кода, чтобы я мог поделиться им с коллегами. К сожалению, при загрузке пакетов возникают ошибки :
Loading required package: BiocParallel Error: package or namespace load failed for ‘DelayedArray’ in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object '/work/pterzian/.conda/envs/methdiffR-test/lib/R/library/Matrix/libs/Matrix.so': libRlapack.so: cannot open shared object file: No such file or directory Error: package ‘DelayedArray’ could not be loaded In addition: Warning message: package ‘matrixStats’ was built under R version 3.6.3 Execution halted
Небольшое исследование этой проблемы привело меня к поиску, вероятно, плохого обходного пути. Я обнаружил, что это может быть связано с проблемой с именем символической ссылки :
$ cd /.conda/envs/myRenv/lib
$ ls -ltrh 'liblapack.so'
liblapack.so -> libopenblasp-r0.3.10.so
$ ls -ltrh 'libblas.so'
libblas.so -> libopenblasp-r0.3.10.so
Изменение этих ссылок с правильным именем решило проблему загрузки пакета, и код работает нормально.
$ mv liblapack.so libRlapack.so
$ mv libblas.so libRblas.so
Однако, как я и ожидал, когда я перестраиваю env после экспорта yml
файла, он воспроизводит ошибку. Символическое имя в lib
папке все равно нужно переименовать, что проблематично при совместном использовании env.
Файл yml :
name: myRenv
channels:
- r
- conda-forge
- bioconda
- defaults
dependencies:
- bioconductor-annotationdbi=1.48.0=r36_0
- bioconductor-annotationfilter=1.10.0=r36_0
- bioconductor-beachmat=2.2.0=r36he1b5a44_0
- bioconductor-biobase=2.46.0=r36h516909a_0
- bioconductor-biocfilecache=1.10.0=r36_0
- bioconductor-biocgenerics=0.32.0=r36_0
- bioconductor-biocparallel=1.20.0=r36he1b5a44_0
- bioconductor-biomart=2.42.0=r36_0
- bioconductor-biostrings=2.54.0=r36h516909a_0
- bioconductor-bsgenome=1.54.0=r36_0
- bioconductor-bsseq=1.22.0=r36he1b5a44_0
- bioconductor-chippeakanno=3.20.0=r36_0
- bioconductor-delayedarray=0.12.0=r36h516909a_0
- bioconductor-delayedmatrixstats=1.8.0=r36_0
- bioconductor-dss=2.34.0=r36h516909a_0
- bioconductor-edger=3.28.0=r36hc6cf775_1
- bioconductor-ensembldb=2.10.0=r36_0
- bioconductor-genomeinfodb=1.22.0=r36_0
- bioconductor-genomeinfodbdata=1.2.2=r36_0
- bioconductor-genomicalignments=1.22.0=r36h516909a_0
- bioconductor-genomicfeatures=1.38.0=r36_0
- bioconductor-genomicranges=1.38.0=r36h516909a_0
- bioconductor-go.db=3.10.0=r36_0
- bioconductor-graph=1.64.0=r36h516909a_0
- bioconductor-hdf5array=1.14.0=r36h516909a_0
- bioconductor-iranges=2.20.0=r36h516909a_0
- bioconductor-limma=3.42.0=r36h516909a_0
- bioconductor-multtest=2.42.0=r36h516909a_0
- bioconductor-protgenerics=1.18.0=r36_0
- bioconductor-rbgl=1.62.1=r36he1b5a44_0
- bioconductor-regioner=1.18.0=r36_0
- bioconductor-rhdf5=2.30.0=r36he1b5a44_0
- bioconductor-rhdf5lib=1.8.0=r36h516909a_0
- bioconductor-rhtslib=1.18.0=r36hdb70ac9_1
- bioconductor-rsamtools=2.2.0=r36he1b5a44_0
- bioconductor-rtracklayer=1.46.0=r36h516909a_0
- bioconductor-s4vectors=0.24.0=r36h516909a_0
- bioconductor-summarizedexperiment=1.16.0=r36_0
- bioconductor-xvector=0.26.0=r36h516909a_0
- bioconductor-zlibbioc=1.32.0=r36h516909a_0
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=1_gnu
- _r-mutex=1.0.1=anacondar_1
- binutils_impl_linux-64=2.35=h18a2f87_9
- binutils_linux-64=2.35=hc3fd857_29
- bwidget=1.9.14=0
- bzip2=1.0.8=h516909a_3
- ca-certificates=2020.6.20=hecda079_0
- cairo=1.16.0=hcf35c78_1003
- certifi=2020.6.20=py39h079e4ff_2
- curl=7.68.0=hf8cf82a_0
- fontconfig=2.13.1=h86ecdb6_1001
- freetype=2.10.4=he06d7ca_0
- fribidi=1.0.10=h516909a_0
- gcc_impl_linux-64=7.5.0=hd9e1a51_17
- gcc_linux-64=7.5.0=he2a3fca_29
- gettext=0.19.8.1=hf34092f_1004
- gfortran_impl_linux-64=7.5.0=hfca37b7_17
- gfortran_linux-64=7.5.0=ha081f1e_29
- glib=2.66.2=he1b5a44_0
- graphite2=1.3.13=he1b5a44_1001
- gsl=2.6=h294904e_0
- gxx_impl_linux-64=7.5.0=h7ea4de1_17
- gxx_linux-64=7.5.0=h547f3ba_29
- harfbuzz=2.4.0=h9f30f68_3
- icu=64.2=he1b5a44_1
- jpeg=9d=h516909a_0
- kernel-headers_linux-64=2.6.32=h77966d4_13
- krb5=1.16.4=h2fd8d38_0
- ld_impl_linux-64=2.35=h769bd43_9
- libblas=3.8.0=17_openblas
- libcblas=3.8.0=17_openblas
- libcurl=7.68.0=hda55be3_0
- libedit=3.1.20191231=he28a2e2_2
- libffi=3.2.1=he1b5a44_1007
- libgcc-devel_linux-64=7.5.0=h42c25f5_17
- libgcc-ng=9.3.0=h5dbcf3e_17
- libgfortran-ng=7.5.0=hae1eefd_17
- libgfortran4=7.5.0=hae1eefd_17
- libglib=2.66.2=h0dae87d_0
- libgomp=9.3.0=h5dbcf3e_17
- libiconv=1.16=h516909a_0
- liblapack=3.8.0=17_openblas
- libopenblas=0.3.10=pthreads_hb3c22a3_5
- libpng=1.6.37=hed695b0_2
- libssh2=1.9.0=hab1572f_5
- libstdcxx-devel_linux-64=7.5.0=h4084dd6_17
- libstdcxx-ng=9.3.0=h2ae2ef3_17
- libtiff=4.1.0=hc7e4089_6
- libuuid=2.32.1=h14c3975_1000
- libwebp-base=1.1.0=h516909a_3
- libxcb=1.13=h14c3975_1002
- libxml2=2.9.10=hee79883_0
- lz4-c=1.9.2=he1b5a44_3
- make=4.3=hd18ef5c_1
- ncurses=6.2=he1b5a44_2
- openssl=1.1.1h=h516909a_0
- pandoc=2.11.0.2=hd18ef5c_0
- pango=1.42.4=h7062337_4
- pcre=8.44=he1b5a44_0
- pip=20.2.4=py_0
- pixman=0.38.0=h516909a_1003
- pthread-stubs=0.4=h14c3975_1001
- python=3.9.0=h2a148a8_4_cpython
- python_abi=3.9=1_cp39
- r-ade4=1.7_15=r36h7fa42b6_2
- r-askpass=1.1=r36hcdcec82_2
- r-backports=1.1.10=r36hcdcec82_0
- r-base=3.6.2=h7ed4ef7_1
- r-base64enc=0.1_3=r36hcdcec82_1004
- r-bh=1.72.0_3=r36h6115d3f_1
- r-biocmanager=1.30.10=r36h6115d3f_1
- r-bit=4.0.4=r36hcdcec82_0
- r-bit64=4.0.5=r36hcdcec82_0
- r-bitops=1.0_6=r36hcdcec82_1004
- r-blob=1.2.1=r36h6115d3f_1
- r-callr=3.5.1=r36h142f84f_0
- r-cellranger=1.1.0=r36h6115d3f_1003
- r-clipr=0.7.1=r36h142f84f_0
- r-codetools=0.2_17=r36h142f84f_0
- r-cpp11=0.2.3=r36h142f84f_0
- r-curl=4.3=r36hcdcec82_1
- r-data.table=1.13.2=r36h0eb13af_0
- r-dbi=1.1.0=r36h6115d3f_1
- r-dbplyr=1.4.4=r36h6115d3f_0
- r-desc=1.2.0=r36h6115d3f_1003
- r-domc=1.3.7=r36hb0f4dca_0
- r-dplyr=1.0.2=r36h0357c0b_0
- r-ellipsis=0.3.1=r36hcdcec82_0
- r-evaluate=0.14=r36h6115d3f_2
- r-forcats=0.5.0=r36h6115d3f_1
- r-foreach=1.5.1=r36h142f84f_0
- r-formatr=1.7=r36h6115d3f_2
- r-fs=1.5.0=r36h0357c0b_0
- r-futile.logger=1.4.3=r36h6115d3f_1003
- r-futile.options=1.0.1=r36h6115d3f_1002
- r-generics=0.0.2=r36h6115d3f_1003
- r-ggplot2=3.3.2=r36h6115d3f_0
- r-glue=1.4.2=r36hcdcec82_0
- r-gtools=3.8.2=r36hcdcec82_1
- r-haven=2.3.1=r36hde08347_0
- r-highr=0.8=r36h6115d3f_2
- r-hms=0.5.3=r36h6115d3f_1
- r-htmltools=0.5.0=r36h0357c0b_0
- r-httr=1.4.2=r36h6115d3f_0
- r-idr=1.2=r36_1003
- r-isoband=0.2.2=r36h0357c0b_0
- r-iterators=1.0.13=r36h142f84f_0
- r-jsonlite=1.7.1=r36hcdcec82_0
- r-lambda.r=1.2.4=r36h6115d3f_1
- r-lifecycle=0.2.0=r36h6115d3f_1
- r-locfit=1.5_9.4=r36hcdcec82_1
- r-lubridate=1.7.9=r36h0357c0b_0
- r-markdown=1.1=r36hcdcec82_1
- r-matrixstats=0.57.0=r36hcdcec82_0
- r-memoise=1.1.0=r36h6115d3f_1004
- r-mime=0.9=r36hcdcec82_1
- r-openssl=1.4.3=r36he5c4762_0
- r-permute=0.9_5=r36h6115d3f_3
- r-pillar=1.4.6=r36h6115d3f_0
- r-pixmap=0.4_11=r36h6115d3f_1003
- r-pkgbuild=1.1.0=r36h6115d3f_0
- r-pkgload=1.1.0=r36h0357c0b_0
- r-plogr=0.2.0=r36h6115d3f_1003
- r-praise=1.0.0=r36h6115d3f_1004
- r-prettyunits=1.1.1=r36h6115d3f_1
- r-processx=3.4.4=r36hcdcec82_0
- r-progress=1.2.2=r36h6115d3f_2
- r-ps=1.4.0=r36h0eb13af_0
- r-purrr=0.3.4=r36hcdcec82_1
- r-r.methodss3=1.8.1=r36h6115d3f_0
- r-r.oo=1.24.0=r36h6115d3f_0
- r-r.utils=2.10.1=r36h6115d3f_0
- r-rappdirs=0.3.1=r36hcdcec82_1004
- r-rcurl=1.98_1.2=r36hcdcec82_0
- r-readr=1.4.0=r36h1b71b39_0
- r-readxl=1.3.1=r36hde08347_4
- r-rematch=1.0.1=r36h6115d3f_1003
- r-reshape2=1.4.4=r36h0357c0b_1
- r-rlang=0.4.7=r36hcdcec82_0
- r-rprojroot=1.3_2=r36h6115d3f_1003
- r-rsqlite=2.2.1=r36h1b71b39_0
- r-rstudioapi=0.11=r36h6115d3f_1
- r-segmented=1.2_0=r36h6115d3f_0
- r-seqinr=4.2_4=r36h0eb13af_0
- r-snow=0.4_3=r36h6115d3f_1002
- r-sp=1.4_2=r36hcdcec82_0
- r-stringi=1.4.6=r36h0e574ca_2
- r-stringr=1.4.0=r36h6115d3f_2
- r-survival=3.2_7=r36hcdcec82_0
- r-sys=3.4=r36hcdcec82_0
- r-testthat=2.3.2=r36h0357c0b_1
- r-tibble=3.0.4=r36h0eb13af_0
- r-tidyselect=1.1.0=r36h6115d3f_0
- r-tinytex=0.26=r36h6115d3f_0
- r-vctrs=0.3.4=r36hcdcec82_0
- r-venndiagram=1.6.20=r36h6115d3f_1002
- r-whisker=0.4=r36h6115d3f_1
- r-xfun=0.18=r36hcdcec82_0
- r-xml=3.99_0.3=r36hcdcec82_1
- r-xml2=1.3.2=r36h0357c0b_1
- r-yaml=2.2.1=r36hcdcec82_1
- r-zeallot=0.1.0=r36h6115d3f_1002
- readline=8.0=he28a2e2_2
- sed=4.8=hbfbb72e_0
- setuptools=49.6.0=py39h079e4ff_2
- sqlite=3.33.0=h4cf870e_1
- sysroot_linux-64=2.12=h77966d4_13
- tk=8.6.10=hed695b0_1
- tktable=2.10=h555a92e_3
- tzdata=2020d=h516909a_0
- wheel=0.35.1=pyh9f0ad1d_0
- xorg-kbproto=1.0.7=h14c3975_1002
- xorg-libice=1.0.10=h516909a_0
- xorg-libsm=1.2.3=h84519dc_1000
- xorg-libx11=1.6.12=h516909a_0
- xorg-libxau=1.0.9=h14c3975_0
- xorg-libxdmcp=1.1.3=h516909a_0
- xorg-libxext=1.3.4=h516909a_0
- xorg-libxrender=0.9.10=h516909a_1002
- xorg-renderproto=0.11.1=h14c3975_1002
- xorg-xextproto=7.3.0=h14c3975_1002
- xorg-xproto=7.0.31=h14c3975_1007
- xz=5.2.5=h516909a_1
- zlib=1.2.11=h516909a_1010
- zstd=1.4.5=h6597ccf_2
- r-assertthat=0.2.1=r36h6115d3f_0
- r-cli=1.1.0=r36h6115d3f_0
- r-colorspace=1.4_1=r36h96ca727_0
- r-crayon=1.3.4=r36h6115d3f_0
- r-dichromat=2.0_0=r36h6115d3f_4
- r-digest=0.6.18=r36h96ca727_0
- r-fansi=0.4.0=r36h96ca727_0
- r-gridextra=2.3=r36h6115d3f_0
- r-gtable=0.3.0=r36h6115d3f_0
- r-labeling=0.3=r36h6115d3f_4
- r-lattice=0.20_38=r36h96ca727_0
- r-lazyeval=0.2.2=r36h96ca727_0
- r-magrittr=1.5=r36h6115d3f_4
- r-mass=7.3_51.3=r36h96ca727_0
- r-matrix=1.2_17=r36h96ca727_0
- r-mgcv=1.8_28=r36h96ca727_0
- r-munsell=0.5.0=r36h6115d3f_0
- r-nlme=3.1_139=r36ha65eedd_0
- r-pkgconfig=2.0.2=r36h6115d3f_0
- r-plyr=1.8.4=r36h29659fb_0
- r-r6=2.4.0=r36h6115d3f_0
- r-rcolorbrewer=1.1_2=r36h6115d3f_0
- r-rcpp=1.0.1=r36h29659fb_0
- r-scales=1.0.0=r36h29659fb_0
- r-utf8=1.1.4=r36h96ca727_0
- r-viridislite=0.3.0=r36h6115d3f_0
- r-withr=2.1.2=r36h6115d3f_0
Комментарии:
1. Существует несоответствие между вашей системой (и ее внешними библиотеками LAPACK и BLAS, которые вы показываете) и системой, которая создала
DelayedArray
пакет, что, по-видимому, привело к тому, что он имеет встроенную зависимость от (поставляется с R и встроен, если не выбран внешний LAPACK / BLAS)libRlapack
иlibRblas
(обратите внимание на «R» здесь). Похоже, это проблема. Я мало знаю о Conda, но я предлагаю вам посмотреть / спросить там.2. @DirkEddelbuettel Спасибо за предложение. Я очень мало знаю о conda, поэтому могу спросить там.
3. Я бы попробовал удалить
r
в каналах. Неправильное смешивание каналов является частой причиной проблем с разделяемой библиотекой. Bioconda ожидаетconda-forge > bioconda > defaults
, поэтому добавлениеr
миксов с наивысшим приоритетом в кучу сборок, с которыми сборки пакета Bioconda (т. Е. Все из Bioconductor) Не проверяются на совместимость. Однако вам также потребуется удалить все спецификации сборки пакета из YAML, поскольку они обычно блокируются в канале. Возможно, вы можете экспортировать новый YAML сconda env export --from-history
помощью instead .4. Я не могу воспроизвести: я не вижу проблем ни на компьютерах Mac OS X, ни на CentOS 7, загружающих библиотеки, упомянутые в OP, в средах с
bioconductor-delayedmatrixstats=1.8.0
установленными и рекомендуемыми приоритетами канала Bioconda. Вот среда, которую я получаю на CentOS 7 .5. Теперь все выглядит нормально, чтобы поделиться файлом yaml. На самом деле я думаю, что проблема исходила из ранее установленных пакетов в моей домашней
Rlib
папке. Как только я удалил папку, она не воспроизвела ошибку. Теперь я должен предупредить пользователей, чтобы они также удалили эту папку. Существует также часть кода конвейера, проверяющая наличие пакетов и устанавливающая их, если они отсутствуют, они установлены в этойRlib
папке, возможно, мне следует рассмотреть возможность удаления этого кода, теперь он работает с conda… В любом случае, я ценю помощь @merv!