Installation issues

Heo Biodynamo community,

I am attempting to install from the github, however, I am running into an error I am uncertain how to resolve.

[100%] Built target BDMGlyphFilter
[100%] Built target copy_files_bdm
make: *** [Makefile:149: all] Error 2
Something went wrong with the installation. For more details check the log file: /tmp/tmp.EKe4aRiMp4/biodynamo/installation.log

The only error I can see is from above this point:

– Found MPI_C: /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so (found version “3.1”)
Traceback (most recent call last):
File “/workspace/.pip-modules/lib/python3.9/site-packages/traitlets/traitlets.py”, line 537, in get
value = obj._trait_values[self.name]
KeyError: ‘template_paths’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/workspace/.pip-modules/bin/jupyter-nbconvert”, line 8, in
sys.exit(main())
File “/workspace/.pip-modules/lib/python3.9/site-packages/jupyter_core/application.py”, line 264, in launch_instance
return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
File “/workspace/.pip-modules/lib/python3.9/site-packages/traitlets/config/application.py”, line 846, in launch_instance
app.start()
File “/workspace/.pip-modules/lib/python3.9/site-packages/nbconvert/nbconvertapp.py”, line 361, in start
self.convert_notebooks()
File “/workspace/.pip-modules/lib/python3.9/site-packages/nbconvert/nbconvertapp.py”, line 527, in convert_notebooks
cls = get_exporter(self.export_format)
File “/workspace/.pip-modules/lib/python3.9/site-packages/nbconvert/exporters/base.py”, line 103, in get_exporter
if getattr(exporter(config=config), ‘enabled’, True):
File “/workspace/.pip-modules/lib/python3.9/site-packages/nbconvert/exporters/templateexporter.py”, line 329, in init
super().init(config=config, **kw)
File “/workspace/.pip-modules/lib/python3.9/site-packages/nbconvert/exporters/exporter.py”, line 114, in init
self._init_preprocessors()
File “/workspace/.pip-modules/lib/python3.9/site-packages/nbconvert/exporters/templateexporter.py”, line 496, in _init_preprocessors
conf = self._get_conf()
File “/workspace/.pip-modules/lib/python3.9/site-packages/nbconvert/exporters/templateexporter.py”, line 514, in _get_conf
for path in map(Path, self.template_paths):
File “/workspace/.pip-modules/lib/python3.9/site-packages/traitlets/traitlets.py”, line 577, in get
return self.get(obj, cls)
File “/workspace/.pip-modules/lib/python3.9/site-packages/traitlets/traitlets.py”, line 540, in get
default = obj.trait_defaults(self.name)
File “/workspace/.pip-modules/lib/python3.9/site-packages/traitlets/traitlets.py”, line 1580, in trait_defaults
return self._get_trait_default_generator(names[0])(self)
File “/workspace/.pip-modules/lib/python3.9/site-packages/traitlets/traitlets.py”, line 977, in call
return self.func(*args, **kwargs)
File “/workspace/.pip-modules/lib/python3.9/site-packages/nbconvert/exporters/templateexporter.py”, line 525, in _template_paths
template_names = self.get_template_names()
File “/workspace/.pip-modules/lib/python3.9/site-packages/nbconvert/exporters/templateexporter.py”, line 607, in get_template_names
raise ValueError(‘No template sub-directory with name %r found in the following paths:\n\t%s’ % (base_template, paths))
ValueError: No template sub-directory with name ‘lab’ found in the following paths:
/tmp/tmp.EKe4aRiMp4/biodynamo/build/third_party/root/etc/notebook
/home/gitpod/.local/share/jupyter
/home/gitpod/.pyenv/versions/3.9.1/share/jupyter
/usr/local/share/jupyter
/usr/share/jupyter
NOTEBOOK_CONVERSION_ERROR: nbconvert failed for notebook diffusion.ipynb with return code 1
FAILED COMMAND: jupyter nbconvert --to=html --ExecutePreprocessor.timeout=60 --execute /tmp/tmp.EKe4aRiMp4/biodynamo/build/notebooks/diffusion/diffusion.ipynb
make[2]: *** [CMakeFiles/notebook-diffusion.dir/build.make:80: CMakeFiles/notebook-diffusion] Error 1
make[1]: *** [CMakeFiles/Makefile2:646: CMakeFiles/notebook-diffusion.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
– Found MPI_CXX: /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so (found version “3.1”)
– Found MPI: TRUE (found version “3.1”)
– Looking for pthread.h
– Looking for pthread.h - found
– Performing Test CMAKE_HAVE_LIBC_PTHREAD
– Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
– Looking for pthread_create in pthreads
– Looking for pthread_create in pthreads - not found
– Looking for pthread_create in pthread

Can anyone help me with this problem?

Regards,
Mike

Hey Mike,

Welcome to BioDynaMo!
Could you please answer the following two questions?

  • Which operating system are you using?
  • Which command did you run to install BioDynaMo?

Thanks,
Lukas

Lukas,

I’m trying to use an online IDE. Are you familiar with github codespaces?

The online IDE I’m trying to use is similar to this, it is called gitpod (https://www.gitpod.io/), but it is has a better free tier (I think) where I can use the service with some restrictions.

I’m trying to use something like a cloud environment because I do not have access to a lot of computational resources via my personal laptop. This may better enable me to experiment with this type of software.

Regards,
Mike

Hi Mike,

I got BioDynaMo running on gitpod.io using the following steps:

  1. Open this link
  2. Login e.g. with your github account
  3. Run the following command in the terminal to install BioDynaMo: ./install.sh

Once BioDynaMo is installed you can try to run a hello world simulation:

# source BioDynaMo (directly from the build directory)
. build/bin/thisbdm.sh
cd .. 
biodynamo new my-sim
cd my-sim/
biodynamo run 

Although the visualization tool paraview is not working out of the box, I found the following instructions which you could follow [1].
Please let us know if you get ParaView working too. :slight_smile:

Good luck and all the best,
Lukas

[1] Developing native UI applications in Gitpod

I appreciate the response. Yea, I can confirm that what you have written works. Did you end up changing anything? Thought I tested this at one point. Why would the following command not work?

curl https://biodynamo.org/install | bash

This is what I was mainly using throughout my testing.

I have not had the time, but I may check out the UI as well. Additionally, I tried to get a IPython notebook running, but I got a syntax error on the first cell:

SyntaxError: invalid syntax (199241595.py, line 2)
File “/tmp/ipykernel_32498/199241595.py”, line 2
gROOT->LoadMacro("${BDMSYS}/etc/rootlogon.C");
^
SyntaxError: invalid syntax

Is there an extension I need to download in order to parse these notebooks? It is using python notebooks, but they are written in C++, so the errors make sense, though I am unfamiliar with the issue.

Is there place you are aware of where I can get better at understanding some of these issues with production built systems? Things like make files, folder structure, etc.

There seems to be an issue with gitpod and Jupyter notebooks.

Regarding the different installation commands:
The following command installs the latest stable release, including all BDM notebooks:

curl https://biodynamo.org/install | bash

The ./install.sh command installs the version of the git repository. In this case, the latest version on the master branch.
./install.sh didn’t error out because this command does not install BDM notebooks.

Unfortunately, I don’t have a fix for this issue at the moment.
The remaining BDM features seem to work fine, though.
I would therefore recommend developing your simulation without the notebook feature.

If you want to use BDM notebooks, I would recommend installing BDM on your laptop. As we showed in our recent publication, you can simulate 10 million agents even on a four-year-old laptop in a short time [1].

All the best,
Lukas

[1] https://doi.org/10.1093/bioinformatics/btab649

Hi Lukas,

I managed to get the notebooks running, at least a couple for right now anyway, but I needed to run them locally. I didn’t do anything special, it just seems to be setup to run locally at present. Would be cool to get it running for development with a web IDE though. I don’t have too much experience with web development or ABMs, but I would find it worthwhile to try to follow up on this at some point.

Note sure what’s next, but I appreciate the feedback.

Regards,
Mike