crowdAI / marLo

Multi Agent Reinforcement Learning using MalmÖ
MIT License
244 stars 46 forks source link

libstdc++.so.6: version `GLIBCXX_3.4.20' not found #44

Closed douglasrizzo closed 6 years ago

douglasrizzo commented 6 years ago

Hi everyone. I just had an issue with the conda installation on Linux. The problem is exactly this one. It turns up when one tries to import marlo and it says that _MalmoPython.so depends on libstdc++.so.6 version GLIBCXX3.4.20, which is not found. I also found the solution in this comment, which basically consists in running the following:

conda uninstall gcc
conda install -c serge-sans-paille gcc_49

inside your marlo conda environment. Maybe add that to the conda installation instructions?

spMohanty commented 6 years ago

Thanks @douglasrizzo for reporting this.

@nehaljwani : any thoughts ?

nehaljwani commented 6 years ago

The solution is to not install an old gcc which might clobber files with the package libstdcxx-ng, which malmo should already depend on.

spMohanty commented 6 years ago

I am not sure if pinning an updated gcc version in the conda env is a good idea. Its upto @nehaljwani to make that decision.

If not, this issue can act as a reference for people facing the issue.

nehaljwani commented 6 years ago

The packages are fine and do not pin to an exact version. See:

[nwani@nwanilinux mkl ] (master *)$ conda search --info crowdai::malmo=0.36.0
Loading channels: done
malmo 0.36.0 py36hb99a788_0
---------------------------
file name   : malmo-0.36.0-py36hb99a788_0.tar.bz2
name        : malmo
version     : 0.36.0
build string: py36hb99a788_0
build number: 0
size        : 1.3 MB
arch        : x86_64
constrains  : ()
platform    : Platform.linux
license     : MIT License
subdir      : linux-64
url         : https://conda.anaconda.org/crowdai/linux-64/malmo-0.36.0-py36hb99a788_0.tar.bz2
md5         : d57e1fb4535bc5997b3c64d107f1cd7e
dependencies: 
  - libgcc-ng >=7.2.0 
  - libstdcxx-ng >=7.2.0  <---------------- No upper bound
  - openjdk >=8.0.152,<9.0a0
  - python >=3.6,<3.7.0a0
  - zlib >=1.2.11,<1.3.0a0

malmo 0.36.0 py37hb99a788_0
---------------------------
file name   : malmo-0.36.0-py37hb99a788_0.tar.bz2
name        : malmo
version     : 0.36.0
build string: py37hb99a788_0
build number: 0
size        : 1.3 MB
arch        : x86_64
constrains  : ()
platform    : Platform.linux
license     : MIT License
subdir      : linux-64
url         : https://conda.anaconda.org/crowdai/linux-64/malmo-0.36.0-py37hb99a788_0.tar.bz2
md5         : 287c01221bff4f67c9a9b780aacadb2a
dependencies: 
  - libgcc-ng >=7.2.0
  - libstdcxx-ng >=7.2.0  <---------------- No upper bound
  - openjdk >=8.0.152,<9.0a0
  - python >=3.7,<3.8.0a0
  - zlib >=1.2.11,<1.3.0a0

If after this, someone installs the any gcc* package, that it can clobber the files provided by libstdcxx-ng

spMohanty commented 6 years ago

Thanks for the confirmation. I will close this issue then.