1

I'm trying to execute retina_experiment.py program from Hands-on-Neuroevolution-with-Python book using conda and MultiNEAT. The working envirnoment (rt_multineat) setup is the following:

conda create --name rt_multineat python=3.5 boost=1.67 matplotlib=2.2 numpy=1.11 opencv=3.3
conda activate rt_multineat
conda install -c conda-forge multineat
conda install -c anaconda seaborn
conda install graphviz
conda install python-graphviz

Then I tried to execute the program and got the ImportError (undefined symbol):

python retina_experiment.py -t 1 -g 1000
Traceback (most recent call last):
  File "retina_experiment.py", line 19, in <module> 
    import MultiNEAT as NEAT    
  File "/home/user/anaconda3/envs/rt_multineat/lib/python3.5/site-packages/MultiNEAT/__init__.py", line 3, in <module>  
    from ._MultiNEAT import *    
ImportError: /home/user/anaconda3/envs/rt_multineat/lib/python3.5/site-packages/MultiNEAT/_MultiNEAT.cpython-35m-x86_64-linux-gnu.so: undefined symbol: _ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEE4saveERKSs

What could possibly cause the undefined symbol error and is it possible to fix it?

I also tried to create the enviroment with parameter python=3.6 instead of python=3.5 with the same result.

Helena
  • 23
  • 3

1 Answers1

0

Install all the packages from Conda Forge. Mixing channels is the primary cause of missing symbol references.

merv
  • 67,214
  • 13
  • 180
  • 245