Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

endless OpenBLAS Warning #232

Closed
kodragonP opened this issue Dec 15, 2018 · 60 comments · Fixed by bioconda/bioconda-recipes#16624
Closed

endless OpenBLAS Warning #232

kodragonP opened this issue Dec 15, 2018 · 60 comments · Fixed by bioconda/bioconda-recipes#16624

Comments

@kodragonP
Copy link

I installed concoct using conda, and when I run concoct main progress, endless
"OpenBLAS Warning : Detect OpenMP Loop and this application may hang. Please rebuild the library with USE_OPENMP=1 option. " would be printed. What happened?

@alneberg
Copy link
Member

Hmm, that's not good. I've seen this once before but thought I was able to resolve it. I Was this in a fresh conda environment? What's your system? Linux, Mac?

@kodragonP
Copy link
Author

Thank you for your reply! I install concoct in a fresh environment, and I run it on CentOS. I tried to rebuild the library with USE_OPENMP=1 option, but it not work. It seems that the software could run and get bins. I tried a very small dataset.
However, the speed is still very slow. I have 856K contigs (8 samples), and the software had ran more than 1200 hours·threads. There was still no evidence when the progress would end.

@alneberg
Copy link
Member

Yes I think this error could cause it to go slow and potentially the openmp is not working and thus it is not parallel at all. Maybe you should try to get this error to disappear befor making it run on a production data set?

Could you please give me the output from:

conda env export

From when you have activated the conda environment. Thank you!

@kodragonP
Copy link
Author

name: concoct
channels:

  • https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  • https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
  • https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
  • bioconda
  • conda-forge
  • defaults
    dependencies:
  • concoct=1.0.0=py27hd1ccf6d_0
  • certifi=2018.11.29=py27_1000
  • llvm-meta=7.0.0=0
  • openmp=7.0.0=h2d50403_0
  • openssl=1.0.2p=h470a237_1
  • biopython=1.68=py27_0
  • mmtf-python=1.0.2=py27_0
  • typing=3.5.2.2=py27_0
  • alabaster=0.7.12=py_0
  • asn1crypto=0.24.0=py27_1003
  • babel=2.6.0=py_1
  • bzip2=1.0.6=h470a237_2
  • ca-certificates=2018.11.29=ha4d7672_0
  • cffi=1.11.5=py27h5e8e0c9_1
  • chardet=3.0.4=py27_1003
  • cryptography=2.3.1=py27hdffb7b8_0
  • cryptography-vectors=2.3.1=py27_1000
  • cython=0.29.1=py27hfc679d8_0
  • docutils=0.14=py27_1001
  • enum34=1.1.6=py27_1001
  • freetype=2.9.1=h6debe1e_4
  • idna=2.8=py27_1000
  • imagesize=1.1.0=py_0
  • ipaddress=1.0.22=py_1
  • jinja2=2.10=py_1
  • jpeg=9c=h470a237_1
  • libffi=3.2.1=hfc679d8_5
  • libgcc-ng=7.2.0=hdf63c60_3
  • libgfortran=3.0.0=1
  • libgfortran-ng=7.2.0=hdf63c60_3
  • libpng=1.6.36=ha92aebf_0
  • libstdcxx-ng=7.2.0=hdf63c60_3
  • libtiff=4.0.10=he6b73bb_1
  • markupsafe=1.1.0=py27h470a237_0
  • mkl_fft=1.0.10=py27_0
  • mkl_random=1.0.2=py27_0
  • msgpack-python=0.6.0=py27h2d50403_0
  • ncurses=6.1=hfc679d8_2
  • nose=1.3.7=py27_1002
  • olefile=0.46=py_0
  • openblas=0.2.20=8
  • packaging=18.0=py_0
  • pandas=0.23.4=py27hf8a1672_0
  • pillow=5.3.0=py27hc736899_0
  • pip=18.1=py27_1000
  • pycparser=2.19=py_0
  • pygments=2.3.0=py_0
  • pyopenssl=18.0.0=py27_1000
  • pyparsing=2.3.0=py_0
  • pysocks=1.6.8=py27_1002
  • python=2.7.15=h33da82c_6
  • python-dateutil=2.7.5=py_0
  • pytz=2018.7=py_0
  • readline=7.0=haf1bffa_1
  • reportlab=3.5.11=py27h77bcf2c_0
  • requests=2.21.0=py27_1000
  • setuptools=40.6.3=py27_0
  • six=1.12.0=py27_1000
  • snowballstemmer=1.2.1=py_1
  • sphinx=1.8.2=py27_1000
  • sphinx_rtd_theme=0.4.2=py_0
  • sphinxcontrib-websupport=1.1.0=py_1
  • sqlite=3.26.0=hb1c47c0_0
  • tk=8.6.9=ha92aebf_0
  • urllib3=1.24.1=py27_1000
  • wheel=0.32.3=py27_0
  • xz=5.2.4=h470a237_1
  • zlib=1.2.11=h470a237_3
  • blas=1.0=mkl
  • gsl=2.2.1=h0c605f7_3
  • intel-openmp=2019.1=144
  • mkl=2018.0.3=1
  • numpy=1.15.0=py27h1b885b7_0
  • numpy-base=1.15.0=py27h3dfced4_0
  • scikit-learn=0.19.1=py27hedc7406_0
  • scipy=1.1.0=py27hc49cb51_0
  • pip:
    • msgpack==0.6.0

@alneberg
Copy link
Member

I can confirm I get the same error on our cluster with CentOS. You should probably cancel this run since it is likely to be extremely slow due to this error. I will look into why this is happening and come back to you.

@kodragonP
Copy link
Author

Waiting for your good news! ^_^

@alneberg
Copy link
Member

Ok, so not so good news. It seems like OpenMP is disabled in the conda available versions of OpenBLAS. I think I got around it by downgrading the openblas to the version before it was disabled. But in order to get it working I think you need to recompile concoct:

git clone https://github.com/BinPro/CONCOCT.git cd CONCOCT conda uninstall concoct conda install -c conda-forge openblas=0.3.3 python setup.py install

Please let me know if you manage to get this to work. If I can get this confirmed I can fix the version of openblas in the conda recipe as well.

Thank you!

@kodragonP
Copy link
Author

Hi,
I think it's OK now. The standard output was just like this:

Generate input data
0,-2014653.435232,70441.097680
1,-1980568.436301,34084.998932

10 K contigs only need 45 min.
Thank you!

@alneberg
Copy link
Member

That's a relief. I'll update the bioconda recipe accordingly. Thank you!

@ursky
Copy link

ursky commented Feb 21, 2019

I am unfortunately getting the same issue (repeating OpenBLAS Warning) in the metaWRAP conda environment:

name: metawrap-bare
channels:
  - ursky
  - bioconda
  - conda-forge
  - defaults
dependencies:
  - _r-mutex=1.0.0=anacondar_1
  - alabaster=0.7.12=py_0
  - aragorn=1.2.38=h470a237_2
  - asn1crypto=0.24.0=py27_1003
  - babel=2.6.0=py_1
  - backports=1.0=py_2
  - backports.functools_lru_cache=1.5=py_1
  - backports_abc=0.5=py_1
  - barrnap=0.9=2
  - bcftools=1.6=0
  - bedtools=2.27.1=he860b03_3
  - binutils_impl_linux-64=2.28.1=had2808c_3
  - binutils_linux-64=7.2.0=had2808c_27
  - biopython=1.68=py27_0
  - blas=1.1=openblas
  - blast=2.6.0=boost1.64_2
  - bmfilter=3.101=hfc679d8_2
  - bmtagger=3.101=h470a237_4
  - bmtool=3.101=hfc679d8_2
  - boost=1.64.0=py27_4
  - boost-cpp=1.64.0=1
  - bowtie2=2.3.4.3=py27h2d50403_0
  - brewer2mpl=1.4.1=py_3
  - bwa=0.7.15=1
  - bwidget=1.9.11=1
  - bz2file=0.98=py_0
  - bzip2=1.0.6=h14c3975_1002
  - ca-certificates=2018.11.29=ha4d7672_0
  - cairo=1.14.12=h80bd089_1005
  - certifi=2018.11.29=py27_1000
  - cffi=1.12.1=py27h9745a5d_0
  - chardet=3.0.4=py27_1003
  - checkm-genome=1.0.13=py27_0
  - concoct=1.0.0=py27h63c6309_2
  - cryptography=2.5=py27h1ba5d50_0
  - curl=7.62.0=hbc83047_0
  - cutadapt=1.18=py27h14c3975_1
  - cycler=0.10.0=py_1
  - cython=0.29.5=py27hf484d3e_0
  - dbus=1.13.2=h714fa37_1
  - dendropy=4.4.0=py_0
  - docutils=0.14=py27_1001
  - enum34=1.1.6=py27_1001
  - expat=2.2.5=hf484d3e_1002
  - extract_fullseq=3.101=3
  - fastqc=0.11.5=1
  - fontconfig=2.13.1=h2176d3f_1000
  - fraggenescan=1.31=h470a237_0
  - freetype=2.9.1=h94bbf69_1005
  - functools32=3.2.3.2=py_3
  - futures=3.2.0=py27_1000
  - gcc_impl_linux-64=7.2.0=habb00fd_3
  - gcc_linux-64=7.2.0=h550dcbe_27
  - gfortran_impl_linux-64=7.2.0=hdf63c60_3
  - gfortran_linux-64=7.2.0=h550dcbe_27
  - glib=2.56.2=hd408876_0
  - gmp=6.1.2=hf484d3e_1000
  - gnutls=3.5.19=h2a4e5f8_1
  - graphite2=1.3.13=hf484d3e_1000
  - gsl=2.2.1=blas_openblashddceaf2_6
  - gst-plugins-base=1.14.0=hbbd80ab_1
  - gstreamer=1.14.0=hb453b48_1
  - gxx_impl_linux-64=7.2.0=hdf63c60_3
  - gxx_linux-64=7.2.0=h550dcbe_27
  - harfbuzz=1.9.0=he243708_1001
  - hmmer=3.1b2=3
  - htslib=1.6=0
  - icu=58.2=hf484d3e_1000
  - idba=1.1.3=1
  - idna=2.8=py27_1000
  - imagesize=1.1.0=py_0
  - infernal=1.1.2=h14c3975_2
  - ipaddress=1.0.22=py_1
  - java-jdk=8.0.92=1
  - jellyfish=1.1.12=h2d50403_0
  - jemalloc=4.5.0=0
  - jinja2=2.10=py_1
  - jpeg=9c=h14c3975_1001
  - kiwisolver=1.0.1=py27h6bb024c_1002
  - kraken=1.1=h470a237_2
  - krb5=1.14.6=0
  - krona=2.7=pl526_2
  - libcurl=7.62.0=h20c2e04_0
  - libffi=3.2.1=hf484d3e_1005
  - libgcc=7.2.0=h69d50b8_2
  - libgcc-ng=7.3.0=hdf63c60_0
  - libgfortran=3.0.0=1
  - libgfortran-ng=7.2.0=hdf63c60_3
  - libiconv=1.14=4
  - libidn11=1.33=0
  - libopenblas=0.2.20=h9ac9557_7
  - libpng=1.6.36=h84994c4_1000
  - libssh2=1.8.0=1
  - libstdcxx-ng=7.3.0=hdf63c60_0
  - libtiff=4.0.10=h648cc4a_1001
  - libuuid=2.32.1=h14c3975_1000
  - libxcb=1.13=h14c3975_1002
  - libxml2=2.9.9=he19cac6_0
  - llvm-meta=7.0.0=0
  - markupsafe=1.1.0=py27h14c3975_1000
  - matplotlib=2.2.3=py27h8a2030e_1
  - matplotlib-base=2.2.3=py27h60b886d_1
  - maxbin2=2.2.5=0
  - megahit=1.1.3=py27_0
  - metabat2=2.12.1=0
  - minced=0.3.2=0
  - mkl=11.3.3=0
  - mmtf-python=1.0.2=py27_0
  - msgpack-python=0.6.1=py27h6bb024c_0
  - ncurses=6.1=hf484d3e_1002
  - nettle=3.3=0
  - nose=1.3.7=py27_1002
  - numpy=1.16.1=py27_blas_openblash1522bff_0
  - olefile=0.46=py_0
  - openblas=0.3.3=ha44fe06_1
  - openjdk=11.0.1=h14c3975_1014
  - openmp=7.0.0=h2d50403_0
  - openssl=1.1.1a=h14c3975_1000
  - packaging=19.0=py_0
  - pandas=0.23.4=py27h637b7d7_1000
  - pango=1.40.14=hf0c64fd_1003
  - parallel=20160622=1
  - patsy=0.5.1=py_0
  - pcre=8.42=h439df22_0
  - perl=5.26.2=h14c3975_1002
  - perl-app-cpanminus=1.7044=pl526_1
  - perl-bioperl=1.6.924=4
  - perl-carp=1.38=pl526_1
  - perl-constant=1.33=pl526_1
  - perl-encode=2.88=pl526_1
  - perl-encode-locale=1.05=pl526_6
  - perl-exporter=5.72=pl526_1
  - perl-extutils-makemaker=7.34=pl526_3
  - perl-file-path=2.15=pl526_0
  - perl-file-temp=0.2304=pl526_2
  - perl-lwp-simple=6.15=pl526h470a237_4
  - perl-parent=0.236=pl526_1
  - perl-threaded=5.22.0=13
  - perl-xml-namespacesupport=1.12=pl526_0
  - perl-xml-parser=2.44=pl526h3a4f0e9_6
  - perl-xml-sax=1.00=pl526_0
  - perl-xml-sax-base=1.09=pl526_0
  - perl-xml-sax-expat=0.51=pl526_2
  - perl-xml-simple=2.25=pl526_0
  - perl-yaml=1.27=pl526_0
  - pigz=2.3.4=0
  - pillow=5.4.1=py27h00a061d_1000
  - pip=19.0.3=py27_0
  - pixman=0.34.0=h14c3975_1003
  - pplacer=1.1.alpha17=0
  - prodigal=2.6.3=1
  - prokka=1.13=0
  - pthread-stubs=0.4=h14c3975_1001
  - pycairo=1.16.3=py27_0
  - pycparser=2.19=py_0
  - pygments=2.3.1=py_0
  - pyopenssl=19.0.0=py27_0
  - pyparsing=2.3.1=py_0
  - pyqt=5.6.0=py27h13b7fb3_1008
  - pysam=0.13.0=py27_htslib1.6_0
  - pysocks=1.6.8=py27_1002
  - python=2.7.15=h9bab390_6
  - python-dateutil=2.8.0=py_0
  - pytz=2018.9=py_0
  - qt=5.6.3=h8bf5577_3
  - quast=4.1=py27_0
  - r-assertthat=0.2.0=r343h889e2dd_0
  - r-base=3.4.3=h9bb98a2_5
  - r-boot=1.3_20=r343h889e2dd_0
  - r-class=7.3_14=r343h086d26f_4
  - r-cli=1.0.0=r343h6115d3f_1
  - r-cluster=2.0.6=r343h4829c52_0
  - r-codetools=0.2_15=r343h889e2dd_0
  - r-colorspace=1.3_2=r343h086d26f_0
  - r-crayon=1.3.4=r343h889e2dd_0
  - r-dichromat=2.0_0=r343h889e2dd_4
  - r-digest=0.6.13=r343h086d26f_0
  - r-foreign=0.8_69=r343h086d26f_0
  - r-ggplot2=2.2.1=r343h889e2dd_0
  - r-glue=1.2.0=r343h086d26f_0
  - r-gtable=0.2.0=r343h889e2dd_0
  - r-kernsmooth=2.23_15=r343h4829c52_4
  - r-labeling=0.3=r343h889e2dd_4
  - r-lattice=0.20_35=r343h086d26f_0
  - r-lazyeval=0.2.1=r343h086d26f_0
  - r-magrittr=1.5=r343h889e2dd_4
  - r-mass=7.3_48=r343h086d26f_0
  - r-matrix=1.2_12=r343h086d26f_0
  - r-mgcv=1.8_22=r343h086d26f_0
  - r-munsell=0.4.3=r343h889e2dd_0
  - r-nlme=3.1_131=r343h4829c52_0
  - r-nnet=7.3_12=r343h086d26f_0
  - r-pillar=1.0.1=r343h889e2dd_0
  - r-plyr=1.8.4=r343h599a50d_0
  - r-r6=2.2.2=r343h889e2dd_0
  - r-rcolorbrewer=1.1_2=r343h889e2dd_0
  - r-rcpp=0.12.14=r343h599a50d_0
  - r-recommended=3.4.3=r343_0
  - r-reshape2=1.4.3=r343h599a50d_0
  - r-rlang=0.1.6=r343h086d26f_0
  - r-rpart=4.1_11=r343h086d26f_0
  - r-scales=0.5.0=r343h599a50d_0
  - r-spatial=7.3_11=r343h086d26f_4
  - r-stringi=1.1.6=r343h599a50d_0
  - r-stringr=1.2.0=r343h889e2dd_0
  - r-survival=2.41_3=r343h086d26f_0
  - r-tibble=1.4.1=r343h086d26f_0
  - r-utf8=1.1.2=r343h086d26f_0
  - r-viridislite=0.2.0=r343h889e2dd_0
  - readline=7.0=hf8c457e_1001
  - reportlab=3.4.0=py27_0
  - requests=2.21.0=py27_1000
  - salmon=0.10.1=1
  - samtools=1.6=h02bfda8_2
  - scikit-learn=0.20.2=py27_blas_openblashebff5e3_1400
  - scipy=1.2.1=py27_blas_openblash1522bff_0
  - seaborn=0.8.1=py_1
  - setuptools=40.8.0=py27_0
  - singledispatch=3.4.0.3=py27_1000
  - sip=4.18=py27_1
  - six=1.12.0=py27_1000
  - snowballstemmer=1.2.1=py_1
  - spades=3.13.0=0
  - sphinx=1.8.4=py27_0
  - sphinx_rtd_theme=0.4.3=py_0
  - sphinxcontrib-websupport=1.1.0=py_1
  - sqlite=3.26.0=h67949de_1000
  - srprism=2.4.24=2
  - statsmodels=0.9.0=py27h3010b51_1000
  - subprocess32=3.2.7=py27_0
  - taxator-tk=1.3.3e=0
  - tbb=2019.3=h6bb024c_1000
  - tbl2asn=25.6=3
  - tk=8.6.9=h84994c4_1000
  - tktable=2.10=h14c3975_0
  - tornado=5.1.1=py27h14c3975_1000
  - trim-galore=0.4.5=2
  - typing=3.5.2.2=py27_0
  - urllib3=1.24.1=py27_1000
  - wheel=0.33.1=py27_0
  - xopen=0.5.0=py_0
  - xorg-kbproto=1.0.7=h14c3975_1002
  - xorg-libice=1.0.9=h14c3975_1004
  - xorg-libsm=1.2.3=h4937e3b_1000
  - xorg-libx11=1.6.7=h14c3975_1000
  - xorg-libxau=1.0.9=h14c3975_0
  - xorg-libxdmcp=1.1.2=h14c3975_1007
  - xorg-libxext=1.3.3=h14c3975_1004
  - xorg-libxrender=0.9.10=h14c3975_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.4=h14c3975_1001
  - zlib=1.2.11=h14c3975_1004
prefix: /home/guritsk1/miniconda2/envs/metawrap-bare

Please advise.

@ursky
Copy link

ursky commented Feb 21, 2019

I should also mention that I see this behavior ONLY when I use more than one thread.

@alneberg
Copy link
Member

I'm not exactly sure what package that is triggering this error. You seem to have the correct version of openblas as specified in the conda recipe. I will check if this error still persists in the latest version of openblas. Does this occur if you install concoct in an isolated environment as well?

@ursky
Copy link

ursky commented Feb 22, 2019

Good question. I just installed it in a clear conda environment and still got the same issue, which is good because now there are less distracting factors:

name: concoct-env
channels:
  - ursky
  - bioconda
  - conda-forge
  - defaults
dependencies:
  - biopython=1.68=py27_0
  - blas=1.0=mkl
  - ca-certificates=2018.11.29=ha4d7672_0
  - certifi=2018.11.29=py27_1000
  - concoct=1.0.0=py27h63c6309_2
  - cython=0.29.5=py27hf484d3e_0
  - freetype=2.9.1=h94bbf69_1005
  - gsl=2.2.1=h0c605f7_3
  - intel-openmp=2019.1=144
  - jpeg=9c=h14c3975_1001
  - libffi=3.2.1=hf484d3e_1005
  - libgcc-ng=7.3.0=hdf63c60_0
  - libgfortran=3.0.0=1
  - libgfortran-ng=7.2.0=hdf63c60_3
  - libpng=1.6.36=h84994c4_1000
  - libstdcxx-ng=7.3.0=hdf63c60_0
  - libtiff=4.0.10=h648cc4a_1001
  - llvm-meta=7.0.0=0
  - mkl=2019.1=144
  - mkl_fft=1.0.10=py27h14c3975_1
  - mkl_random=1.0.2=py27h637b7d7_2
  - mmtf-python=1.0.2=py27_0
  - msgpack-python=0.6.1=py27h6bb024c_0
  - ncurses=6.1=hf484d3e_1002
  - nose=1.3.7=py27_1002
  - numpy=1.15.4=py27h7e9f1db_0
  - numpy-base=1.15.4=py27hde5b4d6_0
  - olefile=0.46=py_0
  - openblas=0.3.3=ha44fe06_1
  - openmp=7.0.0=h2d50403_0
  - openssl=1.1.1a=h14c3975_1000
  - pandas=0.24.1=py27hf484d3e_0
  - pillow=5.4.1=py27h00a061d_1000
  - pip=19.0.3=py27_0
  - python=2.7.15=h9bab390_6
  - python-dateutil=2.8.0=py_0
  - pytz=2018.9=py_0
  - readline=7.0=hf8c457e_1001
  - reportlab=3.5.13=py27hbd3ef63_1000
  - samtools=1.3.1=0
  - scikit-learn=0.20.2=py27hd81dba3_0
  - scipy=1.2.1=py27h7c811a0_0
  - setuptools=40.8.0=py27_0
  - six=1.12.0=py27_1000
  - sqlite=3.26.0=h67949de_1000
  - tk=8.6.9=h84994c4_1000
  - wheel=0.33.1=py27_0
  - xz=5.2.4=h14c3975_1001
  - zlib=1.2.11=h14c3975_1004
prefix: /home/guritsk1/miniconda2/envs/concoct-env

@alneberg
Copy link
Member

Ok, I agree, less distracting factors. I have to have a look at this right away.

@alneberg alneberg reopened this Feb 25, 2019
@alneberg
Copy link
Member

I am indeed able to reproduce this problem. I was however able to solve it locally by upgrading openblas to 0.3.5 instead of 0.3.3 and reinstall concoct with python setup.py install. I will make this the default behaviour of the conda package and hope that this solves the problem.

@kodragonP
Copy link
Author

I think the problem is not the version of openblas. If you reinstall openblas after all packages installed, the problem will be solved.

@alneberg
Copy link
Member

Hi @kodragonP, sorry I'm not following completely. Are you saying that if you reinstall the same version of openblas and still using conda, the problem is solved? You then have to uninstall both concoct and openblas first right?

If you have the commands to reproduce this I would be very interested.

@alneberg
Copy link
Member

I think I managed to fix the current bioconda recipe. @ursky, please could you verify that the latest build of concoct works for you? I've tested it on a fresh ubuntu container with python 2.7 and 3.7, and the '-t' parameter is now functional.

@ursky
Copy link

ursky commented Apr 11, 2019

That actually broke it, i think:

(metawrap-test) guritsk1@comp2:~$ concoct
Traceback (most recent call last):
  File "/home/guritsk1/miniconda2/envs/metawrap-test/bin/concoct", line 6, in <module>
    import vbgmm
ImportError: libgslcblas.so.0: cannot open shared object file: No such file or directory

@ursky
Copy link

ursky commented Apr 11, 2019

The issue is that the libgslblas.so.0 symlink points to something does not exist. I can manually configure the symlink to point to libgslcblas.so like below. While this works, ideally this should not be necessary for the end user to do themselves.

rm ${conda_path}/lib/libgslcblas.so.0
ln ${conda_path}/lib/libgslcblas.so ${conda_path}/lib/libgslcblas.so.0

@slambrechts
Copy link

I'm having the same problem. Should I manually configure the symlink as ursky suggested (and if so, can I literally copy paste those commands?) Or should I wait for concoct to finish and ignore the warnings? Or cancel the run and try again when the problem has been fixed?

@Ash1One
Copy link

Ash1One commented Apr 18, 2019

I'm having the same problem. Should I manually configure the symlink as ursky suggested (and if so, can I literally copy paste those commands?) Or should I wait for concoct to finish and ignore the warnings? Or cancel the run and try again when the problem has been fixed?

I think you should cancel it and try to configure the symlink. I had this problem last week, too. Then I updated metawrap to 1.18, and it worked.😂

@Ash1One
Copy link

Ash1One commented Apr 18, 2019

I'm having the same problem. Should I manually configure the symlink as ursky suggested (and if so, can I literally copy paste those commands?) Or should I wait for concoct to finish and ignore the warnings? Or cancel the run and try again when the problem has been fixed?

I think you should cancel it and try to configure the symlink. I had this problem last week, too. Then I updated metawrap to 1.18, and it worked.😂

But I met another problem that getting only one and big unbinning file when I ran CONCOCT by 'metawrap binning --CONCOCT'. Then I ran CONCOCT solely, and it was normal. I still don't understand.

@ursky
Copy link

ursky commented Apr 18, 2019

Can you give some details on the issue? Also, if concoct is already running and not exiting, you should be ok without restarting.

@ursky
Copy link

ursky commented Jul 1, 2019

And if the package is not found try searching for any mkl package. See all of the available ones with conda search blas, and it should show you which one you have installed and which are available.

@ucassee
Copy link

ucassee commented Jul 1, 2019

@ursky
Thanks for your reply.

(base) [zhouyingli@ln01 ~]$ conda search blas
Loading channels: done

Name Version Build Channel

blas 1.0 mkl anaconda/cloud/conda-forge
blas 1.0 mkl pkgs/free
blas 1.0 mkl pkgs/main
blas 1.0 noblas anaconda/cloud/conda-forge
blas 1.0 openblas anaconda/cloud/conda-forge
blas 1.0 openblas pkgs/free
blas 1.0 openblas pkgs/main
blas 1.1 openblas anaconda/cloud/conda-forge
blas 2.4 blis anaconda/cloud/conda-forge
blas 2.4 mkl anaconda/cloud/conda-forge
blas 2.4 netlib anaconda/cloud/conda-forge
blas 2.4 openblas anaconda/cloud/conda-forge
blas 2.5 blis anaconda/cloud/conda-forge
blas 2.5 mkl anaconda/cloud/conda-forge
blas 2.5 netlib anaconda/cloud/conda-forge
blas 2.5 openblas anaconda/cloud/conda-forge
blas 2.6 blis anaconda/cloud/conda-forge
blas 2.6 mkl anaconda/cloud/conda-forge
blas 2.6 openblas anaconda/cloud/conda-forge
blas 2.7 blis anaconda/cloud/conda-forge
blas 2.7 mkl anaconda/cloud/conda-forge
blas 2.7 openblas anaconda/cloud/conda-forge
blas 2.8 blis anaconda/cloud/conda-forge
blas 2.8 mkl anaconda/cloud/conda-forge
blas 2.8 openblas anaconda/cloud/conda-forge
blas 2.9 blis anaconda/cloud/conda-forge
blas 2.9 mkl anaconda/cloud/conda-forge
blas 2.9 openblas anaconda/cloud/conda-forge
blas 2.10 blis anaconda/cloud/conda-forge
blas 2.10 mkl anaconda/cloud/conda-forge
blas 2.10 openblas anaconda/cloud/conda-forge

What should I do next? Concoct works normal on the server in my lab. But it went error on the cluster in my institute.

@ursky
Copy link

ursky commented Jul 1, 2019

And if you run conda list | grep blas? And conda install blas=2.5=mkl? Did you add the recommended channels to your env?

@ucassee
Copy link

ucassee commented Jul 1, 2019

Hi @ursky

(base) [zhouyingli@ln01 ~]$ conda list | grep blas
blas 2.7 openblas https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
blast 2.6.0 boost1.64_2 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
libblas 3.8.0 7_openblas https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libcblas 3.8.0 7_openblas https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
liblapack 3.8.0 7_openblas https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
liblapacke 3.8.0 7_openblas https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
openblas 0.3.5 h9ac9557_1001 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge

Can I run conda install blas=2.5=mkl directly to fix the bug?

@ursky
Copy link

ursky commented Jul 1, 2019

Looks like you have blas=2.7. So running conda install blas=2.7=mkl should fix it.

@ucassee
Copy link

ucassee commented Jul 2, 2019

@ursky Thank you~ it works

@VGalata
Copy link

VGalata commented Jul 25, 2019

I have the same problem: I use snakemake and it installs CONCOCT into a new fresh conda environment. I also specified an mkl-version of blas. CONCOCT does start multiple threads (though more than specified), but I also get a lot of error messages: OpenBLAS Warning : Detect OpenMP Loop and this application may hang. Please rebuild the library with USE_OPENMP=1 option. :(

The used YAML file:

channels:
    - conda-forge
    - defaults
    - bioconda
dependencies:
    - blas==2.10=mkl
    - concoct==1.0.0
    - maxbin2==2.2.6
    - metabat2==2.13
    - das_tool==1.1.1

@ucassee
Copy link

ucassee commented Jul 27, 2019

Hi @ursky @alneberg . I reinstall the metawrap in my server. But the endless openblas warning occured again when run concoct.

The following is the blas version. What should I do to fix it?

(metawrap-env) [liwl@ln01 ~]$ conda list | grep blas
blas 2.5 mkl conda-forge
blast 2.6.0 boost1.64_2 bioconda
libblas 3.8.0 5_mkl conda-forge
libcblas 3.8.0 5_mkl conda-forge
openblas 0.3.3 ha44fe06_1 conda-forge

@jolespin
Copy link

jolespin commented Jul 29, 2019

I'm no expert on this but I THINK that I got mine to work. After reading through @ursky 's detective work, I did the following. It's running right now, I'll let you know if I get the error:

# Move defaults to the top 
conda config --add channels defaults

# Force the reinstall
conda install blas=2.5=mkl --force-reinstall

@jolespin
Copy link

jolespin commented Jul 29, 2019

Update, the above did'nt work. I got it to to run until completion on a small dataset but not for a larger. The following error message repeats:

OpenBLAS Warning : Detect OpenMP Loop and this application may hang. Please rebuild the library with USE_OPENMP=1 option.

Do we want openBLAS and BLAS installed?

@jolespin
Copy link

jolespin commented Jul 29, 2019

@ursky Can you do conda env export with your working conda environment so we can use conda create --name metawrap_env --file <metawrap_env.yml> ? That should allow us to use concoct via metawrap more easily. I've tried all the above and can't get it to work. I'm trying not to resort to the following: https://stackoverflow.com/questions/34578526/how-to-make-openblas-work-with-openmp

@alneberg
Copy link
Member

Sorry for my lack of presence. I appreciate how much effort you're putting into this!

Currently a fresh install of concoct through conda is affected of this problem, so I am currently attempting to fix this in the concoct conda recipe.

I am hoping that removing openblas from the requirements of concoct (although it was added to solve exactly this issue to begin with) and also ensuring blas=*=mkl to avoid conda-forge to install openblas which is causing this issue to begin with at:

https://github.com/conda-forge/openblas-feedstock/blob/7ac1bbb1e444982d37551adbf43a7a521af76e0f/recipe/build.sh#L13-L16

However, it seems like openblas has precedence over blas for linux so if conda-forge is the top ranked channel for conda, it will be installed when installing for example any numpy related package. So the resulting conda environment will be brittle, but hopefully this will at least make it work on a fresh install.

@alneberg
Copy link
Member

alneberg commented Aug 1, 2019

Success! The current conda recipe creates a concoct env without this error. The solution was to remove openblas and enforce blas=*=mkl as indicated above. I'm closing this now and it can be opened again if this error reoccurs.

@jolespin
Copy link

Just wanted to follow up with this. Has this issue been fixed? I kind of want to dive back into my dataset soon and there's LOTS of euks in there so I don't want to use metabat2 or maxbin2. I also don't want to run concoct with one thread haha.

@ursky
Copy link

ursky commented Feb 27, 2020

This doesnt answer the question but in my experience extracting eukaryotic MAGs, metabat2 usually performs the best. Id give it a try.

@alneberg
Copy link
Member

@jolespin, I believe this issue was resolved yes. However, the nature of the problem makes it likely to come back. Did you try to create a fresh conda environment with concoct and check if you get the error?

@mindgates
Copy link

mindgates commented Apr 21, 2021

i dont have conda but pip. i tried with "pip install blas==2.5=mkl" and it doesn't work.

@michoug
Copy link

michoug commented Aug 10, 2022

FYI, I got the same issue in CentOS with the py310 version (default version of concoct=1.1.0) but not the py38 (installed by specifying python=3.8)

@kalen-rasmussen
Copy link

kalen-rasmussen commented Sep 27, 2022

I would like to point out that the OpenBLAS warning issue has reemerged with the most recent conda install only when trying to multithread. The above solutions unfortunately did not work for me when trying to fix the issue.
The workaround I used to solve the issue was as follows (on a linux server), sorry if it is overly verbose:

conda create -n concoct python=3.8
conda activate concoct
conda config --env --add channels defaults
conda config --env --add channels conda-forge
conda config --env --add channels bioconda
conda install concoct

At this point you can try entering concoct -h to see if the basic help menu will show up. In my experience I received the following error: "ImportError: libmkl_rt.so: cannot open shared object file: No such file or directory". Which I was able to fix by running:

conda install mkl

At this point I was able to run concoct while multithreading without the repeated warning.

Hocnonsense added a commit to Hocnonsense/genome that referenced this issue Nov 17, 2022
@dportik
Copy link

dportik commented Dec 21, 2022

FYI, I got the same issue in CentOS with the py310 version (default version of concoct=1.1.0) but not the py38 (installed by specifying python=3.8)

Can confirm this fixes the issue for me as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.