GMLC-TDC / pesgm-2019-helics-tutorial

PESGM 2019 HELICS tutorial
https://beta.mybinder.org/v2/gh/gmlc-tdc/pesgm-2019-helics-tutorial/master?urlpath=lab/tree/notebooks/Introduction.ipynb
BSD 3-Clause "New" or "Revised" License
5 stars 1 forks source link

"Try HELICS online" Broken #1

Open bpalmintier opened 2 years ago

bpalmintier commented 2 years ago

Describe the bug The "Try HELICS online" feature from the www.helics.org website is no longer working. Currently after a lengthy attempt to compile it errors out with "ERROR conda.core.link:_execute(698): An error occurred while installing package 'conda-forge::rise-5.5.1-py37_0'." Full log below.

It also appears that the on-line trial is still based on the now very out of date HELICS 2.2

What is the expected behavior? As one of the showcased links at the main HELICS website, this should at least work, and now that 3.x is out reflect the updated interfaces.

To Reproduce Click on "Try HELICS online" link from the https://www.helics.org

Environment (please complete the following information):

Additional context and information Full log:

Waiting for build to start...
Picked Git content provider.
Cloning into '/tmp/repo2dockerrcymjm9w'...
HEAD is now at 7534cc5 Update notebook link
Building conda environment for python=Using CondaBuildPack builder
Building conda environment for python=Building conda environment for python=Step 1/50 : FROM buildpack-deps:bionic
 ---> cb3fc72df6ea
Step 2/50 : ENV DEBIAN_FRONTEND=noninteractive
 ---> Using cache
 ---> 67762d4ac64b
Step 3/50 : RUN apt-get -qq update &&     apt-get -qq install --yes --no-install-recommends locales > /dev/null &&     apt-get -qq purge &&     apt-get -qq clean &&     rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> 80f341d0d145
Step 4/50 : RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen &&     locale-gen
 ---> Using cache
 ---> 74a55e946e67
Step 5/50 : ENV LC_ALL en_US.UTF-8
 ---> Using cache
 ---> 6772e5fff8d6
Step 6/50 : ENV LANG en_US.UTF-8
 ---> Using cache
 ---> 075c54f65703
Step 7/50 : ENV LANGUAGE en_US.UTF-8
 ---> Using cache
 ---> b0a32bbda6cc
Step 8/50 : ENV SHELL /bin/bash
 ---> Using cache
 ---> fe0c5403b5db
Step 9/50 : ARG NB_USER
 ---> Using cache
 ---> 1bca668cee30
Step 10/50 : ARG NB_UID
 ---> Using cache
 ---> 984ad5f5b896
Step 11/50 : ENV USER ${NB_USER}
 ---> Using cache
 ---> 9c1334b6df73
Step 12/50 : ENV HOME /home/${NB_USER}
 ---> Using cache
 ---> c0f0050e6fa5
Step 13/50 : RUN groupadd         --gid ${NB_UID}         ${NB_USER} &&     useradd         --comment "Default user"         --create-home         --gid ${NB_UID}         --no-log-init         --shell /bin/bash         --uid ${NB_UID}         ${NB_USER}
 ---> Using cache
 ---> 0e461b4ea8a8
Step 14/50 : RUN apt-get -qq update &&     apt-get -qq install --yes --no-install-recommends        less        unzip        > /dev/null &&     apt-get -qq purge &&     apt-get -qq clean &&     rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> 221948ca71e4
Step 15/50 : EXPOSE 8888
 ---> Using cache
 ---> c31ff3c79b7d
Step 16/50 : ENV APP_BASE /srv
 ---> Using cache
 ---> fdae06445f3e
Step 17/50 : ENV CONDA_DIR ${APP_BASE}/conda
 ---> Using cache
 ---> e0f53e1f5044
Step 18/50 : ENV NB_PYTHON_PREFIX ${CONDA_DIR}/envs/notebook
 ---> Using cache
 ---> ca4894857f7f
Step 19/50 : ENV NPM_DIR ${APP_BASE}/npm
 ---> Using cache
 ---> 8b5437f472a9
Step 20/50 : ENV NPM_CONFIG_GLOBALCONFIG ${NPM_DIR}/npmrc
 ---> Using cache
 ---> 5d4c820e7a70
Step 21/50 : ENV NB_ENVIRONMENT_FILE /tmp/env/environment.lock
 ---> Using cache
 ---> 8c11f0c83c00
Step 22/50 : ENV KERNEL_PYTHON_PREFIX ${NB_PYTHON_PREFIX}
 ---> Using cache
 ---> 41c5b2b5b41e
Step 23/50 : ENV PATH ${NB_PYTHON_PREFIX}/bin:${CONDA_DIR}/bin:${NPM_DIR}/bin:${PATH}
 ---> Using cache
 ---> 34d9136ffb7a
Step 24/50 : COPY --chown=1000:1000 build_script_files/-2fusr-2flib-2fpython3-2e8-2fsite-2dpackages-2frepo2docker-2fbuildpacks-2fconda-2factivate-2dconda-2esh-391af5 /etc/profile.d/activate-conda.sh
 ---> Using cache
 ---> be34b56d7d3b
Step 25/50 : COPY --chown=1000:1000 build_script_files/-2fusr-2flib-2fpython3-2e8-2fsite-2dpackages-2frepo2docker-2fbuildpacks-2fconda-2fenvironment-2elock-1dbdca /tmp/env/environment.lock
 ---> Using cache
 ---> f7cf049f81df
Step 26/50 : COPY --chown=1000:1000 build_script_files/-2fusr-2flib-2fpython3-2e8-2fsite-2dpackages-2frepo2docker-2fbuildpacks-2fconda-2finstall-2dminiforge-2ebash-514214 /tmp/install-miniforge.bash
 ---> Using cache
 ---> 841bef143a3e
Step 27/50 : RUN TIMEFORMAT='time: %3R' bash -c 'time /tmp/install-miniforge.bash' && rm -rf /tmp/install-miniforge.bash /tmp/env
 ---> Using cache
 ---> 93bc8c256fff
Step 28/50 : RUN mkdir -p ${NPM_DIR} && chown -R ${NB_USER}:${NB_USER} ${NPM_DIR}
 ---> Using cache
 ---> 6ffb92a46c1a
Step 29/50 : ARG REPO_DIR=${HOME}
 ---> Using cache
 ---> d9d2dac6075c
Step 30/50 : ENV REPO_DIR ${REPO_DIR}
 ---> Using cache
 ---> 01421ba47906
Step 31/50 : WORKDIR ${REPO_DIR}
 ---> Using cache
 ---> 2c943aff4672
Step 32/50 : RUN chown ${NB_USER}:${NB_USER} ${REPO_DIR}
 ---> Using cache
 ---> 989ada0f1a55
Step 33/50 : ENV PATH ${HOME}/.local/bin:${REPO_DIR}/.local/bin:${PATH}
 ---> Using cache
 ---> d8e2ad3aba1a
Step 34/50 : ENV CONDA_DEFAULT_ENV ${KERNEL_PYTHON_PREFIX}
 ---> Using cache
 ---> aaf3150fa730
Step 35/50 : COPY --chown=1000:1000 src/environment.yml ${REPO_DIR}/environment.yml
 ---> 8e8fd68bf750
Step 36/50 : RUN apt-get -qq update && apt-get install --yes --no-install-recommends tzdata && apt-get -qq purge && apt-get -qq clean && rm -rf /var/lib/apt/lists/*
 ---> Running in 7d6e0348d640
Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be upgraded:
  tzdata
1 upgraded, 0 newly installed, 0 to remove and 43 not upgraded.
Need to get 189 kB of archives.
After this operation, 1,024 B of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 tzdata all 2021e-0ubuntu0.18.04 [189 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 189 kB in 1s (289 kB/s)
(Reading database ... 22771 files and directories currently installed.)
Preparing to unpack .../tzdata_2021e-0ubuntu0.18.04_all.deb ...
Unpacking tzdata (2021e-0ubuntu0.18.04) over (2021a-0ubuntu0.18.04) ...
Setting up tzdata (2021e-0ubuntu0.18.04) ...

Current default time zone: 'Etc/UTC'
Local time is now:      Tue Dec 21 13:12:44 UTC 2021.
Universal Time is now:  Tue Dec 21 13:12:44 UTC 2021.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Removing intermediate container 7d6e0348d640
 ---> c0c8dce31afd
Step 37/50 : USER ${NB_USER}
 ---> Running in 70cb3ef0d8d7
Removing intermediate container 70cb3ef0d8d7
 ---> 2aa925dfbc6a
Step 38/50 : RUN TIMEFORMAT='time: %3R' bash -c 'time mamba env update -p ${NB_PYTHON_PREFIX} -f "environment.yml" && time mamba clean --all -f -y && mamba list -p ${NB_PYTHON_PREFIX} '
 ---> Running in c35d98ba4638
gmlc-tdc/noarch           
gmlc-tdc/linux-64         
pkgs/r/noarch             
pkgs/r/linux-64           
pkgs/main/noarch          
pkgs/main/linux-64        
conda-forge/noarch        
conda-forge/linux-64      
Transaction

  Prefix: /srv/conda/envs/notebook

  Updating specs:

   - numpy==1.16.4
   - scipy==1.3.0
   - matplotlib==3.1.1
   - pandas==0.25.0
   - helics==2.2.0
   - ipywidgets==7.5.1
   - nb_conda==2.2.1
   - rise==5.5.1
   - pip==19.2.1

  Package           Version  Build                Channel                    Size
───────────────────────────────────────────────────────────────────────────────────
  Install:
───────────────────────────────────────────────────────────────────────────────────

  cycler             0.11.0  pyhd8ed1ab_0         conda-forge/noarch        10 KB
  dbus              1.13.18  hb2f20db_0           pkgs/main/linux-64       504 KB
  expat               2.4.2  h9c3ff4c_0           conda-forge/linux-64     182 KB
  fontconfig         2.13.1  hba837de_1005        conda-forge/linux-64     357 KB
  freetype           2.11.0  h70c0345_0           pkgs/main/linux-64       618 KB
  gettext            0.21.0  hf68c758_0           pkgs/main/linux-64         3 MB
  glib               2.70.2  h780b84a_0           conda-forge/linux-64     438 KB
  glib-tools         2.70.2  h780b84a_0           conda-forge/linux-64     106 KB
  gst-plugins-base   1.14.0  h8213a91_2           pkgs/main/linux-64         5 MB
  gstreamer          1.14.0  h28cd5cc_2           pkgs/main/linux-64         3 MB
  helics              2.2.0  py37hf484d3e_1       gmlc-tdc/linux-64         15 MB
  jpeg                   9d  h516909a_0           conda-forge/linux-64     266 KB
  jupyter             1.0.0  py37h89c1867_7       conda-forge/linux-64       6 KB
  jupyter_console     6.4.0  pyhd8ed1ab_0         conda-forge/noarch        22 KB
  kiwisolver          1.3.2  py37h2527ec5_1       conda-forge/linux-64      78 KB
  libblas             3.9.0  8_openblas           conda-forge/linux-64      11 KB
  libcblas            3.9.0  8_openblas           conda-forge/linux-64      11 KB
  libgfortran-ng      7.5.0  h14aa051_19          conda-forge/linux-64      22 KB
  libgfortran4        7.5.0  h14aa051_19          conda-forge/linux-64       1 MB
  libglib            2.70.2  h174f98d_0           conda-forge/linux-64       3 MB
  libiconv             1.16  h516909a_0           conda-forge/linux-64       1 MB
  liblapack           3.9.0  8_openblas           conda-forge/linux-64      11 KB
  libopenblas        0.3.12  pthreads_hb3c22a3_1  conda-forge/linux-64       8 MB
  libpng             1.6.37  hed695b0_2           conda-forge/linux-64     359 KB
  libuuid            2.32.1  h14c3975_1000        conda-forge/linux-64      26 KB
  libxcb               1.14  h7b6447c_0           pkgs/main/linux-64       505 KB
  libxml2            2.9.12  h03d6c58_0           pkgs/main/linux-64         1 MB
  matplotlib          3.1.1  py37_0               conda-forge/linux-64       6 KB
  matplotlib-base     3.1.1  py37hfd891ef_0       conda-forge/linux-64       7 MB
  nb_conda            2.2.1  py37hc8dfbb8_4       conda-forge/linux-64      36 KB
  nb_conda_kernels    2.3.1  py37h89c1867_1       conda-forge/linux-64      27 KB
  numpy              1.16.4  py37h95a1406_0       conda-forge/linux-64       4 MB
  pandas             0.25.0  py37hb3f55d8_0       conda-forge/linux-64      11 MB
  pcre                 8.45  h9c3ff4c_0           conda-forge/linux-64     253 KB
  prompt_toolkit     3.0.22  hd8ed1ab_0           conda-forge/noarch         5 KB
  pyqt                5.9.2  py37hcca6a23_4       conda-forge/linux-64       6 MB
  qt                  5.9.7  h5867ecd_1           pkgs/main/linux-64        68 MB
  qtconsole           5.2.2  pyhd8ed1ab_0         conda-forge/noarch        90 KB
  qtpy               1.11.3  pyhd8ed1ab_0         conda-forge/noarch        38 KB
  rise                5.5.1  py37_0               conda-forge/linux-64       2 MB
  scipy               1.3.0  py37h921218d_1       conda-forge/linux-64      19 MB
  sip                4.19.8  py37hf484d3e_1000    conda-forge/linux-64     290 KB

  Downgrade:
──────────────��

Looking for: ['numpy=1.16.4', 'scipy=1.3.0', 'matplotlib=3.1.1', 'pandas=0.25.0', 'helics=2.2.0', 'ipywidgets=7.5.1', 'nb_conda=2.2.1', 'rise=5.5.1', 'pip=19.2.1']

Downloading and Extracting Packages
cycler-0.11.0        | 10 KB     | ########## | 100% 
libglib-2.70.2       | 3.1 MB    | ########## | 100% 
libuuid-2.32.1       | 26 KB     | ########## | 100% 
fontconfig-2.13.1    | 357 KB    | ########## | 100% 
sip-4.19.8           | 290 KB    | ########## | 100% 
libxcb-1.14          | 505 KB    | ########## | 100% 
jupyter_console-6.4. | 22 KB     | ########## | 100% 
libgfortran-ng-7.5.0 | 22 KB     | ########## | 100% 
gstreamer-1.14.0     | 3.2 MB    | ########## | 100% 
ipywidgets-7.5.1     | 101 KB    | ########## | 100% 
pcre-8.45            | 253 KB    | ########## | 100% 
gettext-0.21.0       | 2.6 MB    | ########## | 100% 
libxml2-2.9.12       | 1.2 MB    | ########## | 100% 
matplotlib-base-3.1. | 6.6 MB    | ########## | 100% 
liblapack-3.9.0      | 11 KB     | ########## | 100% 
pandas-0.25.0        | 11.4 MB   | ########## | 100% 
expat-2.4.2          | 182 KB    | ########## | 100% 
freetype-2.11.0      | 618 KB    | ########## | 100% 
libblas-3.9.0        | 11 KB     | ########## | 100% 
helics-2.2.0         | 14.8 MB   | ########## | 100% 
pip-19.2.1           | 1.9 MB    | ########## | 100% 
nb_conda_kernels-2.3 | 27 KB     | ########## | 100% 
gst-plugins-base-1.1 | 4.9 MB    | ########## | 100% 
matplotlib-3.1.1     | 6 KB      | ########## | 100% 
glib-2.70.2          | 438 KB    | ########## | 100% 
jpeg-9d              | 266 KB    | ########## | 100% 
pyzmq-17.1.2         | 1.0 MB    | ########## | 100% 
libiconv-1.16        | 1.4 MB    | ########## | 100% 
libopenblas-0.3.12   | 8.2 MB    | ########## | 100% 
zeromq-4.2.5         | 939 KB    | ########## | 100% 
pyqt-5.9.2           | 5.7 MB    | ########## | 100% 
nodejs-12.4.0        | 18.1 MB   | ########## | 100% 
libcblas-3.9.0       | 11 KB     | ########## | 100% 
libgfortran4-7.5.0   | 1.3 MB    | ########## | 100% 
rise-5.5.1           | 2.1 MB    | ########## | 100% 
libpng-1.6.37        | 359 KB    | ########## | 100% 
kiwisolver-1.3.2     | 78 KB     | ########## | 100% 
nb_conda-2.2.1       | 36 KB     | ########## | 100% 
scipy-1.3.0          | 18.8 MB   | ########## | 100% 
dbus-1.13.18         | 504 KB    | ########## | 100% 
qtconsole-5.2.2      | 90 KB     | ########## | 100% 
icu-58.2             | 22.6 MB   | ########## | 100% 
numpy-1.16.4         | 4.3 MB    | ########## | 100% 
jupyter-1.0.0        | 6 KB      | ########## | 100% 
glib-tools-2.70.2    | 106 KB    | ########## | 100% 
prompt_toolkit-3.0.2 | 5 KB      | ########## | 100% 
qt-5.9.7             | 68.5 MB   | ########## | 100% 
qtpy-1.11.3          | 38 KB     | ########## | 100% 
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... /srv/conda/envs/notebook/lib/python3.7/site-packages/jupyter_client/channels.py:15: VisibleDeprecationWarning: zmq.eventloop.minitornado is deprecated in pyzmq 14.0 and will be removed.
    Install tornado itself to use zmq with the tornado IOLoop.

  from .session import Session
Enabling nb_conda_kernels...
CONDA_PREFIX: /srv/conda/envs/notebook
Status: enabled

Config option `kernel_spec_manager_class` not recognized by `EnableNBExtensionApp`.
Enabling notebook extension nb_conda/main...
      - Validating: OK
Enabling tree extension nb_conda/tree...
      - Validating: OK
Config option `kernel_spec_manager_class` not recognized by `EnableServerExtensionApp`.
Enabling: nb_conda
- Writing config: /srv/conda/envs/notebook/etc/jupyter
    - Validating...
      nb_conda 2.2.1 OK

done
ERROR conda.core.link:_execute(698): An error occurred while installing package 'conda-forge::rise-5.5.1-py37_0'.
Rolling back transaction: ...working... done
�────────────────────────────────────────────────────────────────────

  icu                  68.2  h9c3ff4c_0           installed                      
  icu                  58.2  hf484d3e_1000        conda-forge/linux-64      23 MB
  ipywidgets          7.6.3  pyhd3deb0d_0         installed                      
  ipywidgets          7.5.1  pyh9f0ad1d_1         conda-forge/noarch       101 KB
  nodejs            14.17.4  h92b4a50_0           installed                      
  nodejs             12.4.0  he1b5a44_0           conda-forge/linux-64      18 MB
  pip                21.3.1  pyhd8ed1ab_0         installed                      
  pip                19.2.1  py37_0               conda-forge/linux-64       2 MB
  pyzmq              22.3.0  py37h336d617_1       installed                      
  pyzmq              17.1.2  py37hae99301_0       conda-forge/linux-64       1 MB
  zeromq              4.3.4  h9c3ff4c_1           installed                      
  zeromq              4.2.5  hfc679d8_4           conda-forge/linux-64     939 KB

  Summary:

  Install: 42 packages
  Downgrade: 6 packages

  Total download: 207 MB

───────────────────────────────────────────────────────────────────────────────────

LinkError: post-link script failed for package conda-forge::rise-5.5.1-py37_0
location of failed script: /srv/conda/envs/notebook/bin/.rise-post-link.sh
==> script messages <==
<None>
==> script output <==
stdout: 
stderr: Config option `kernel_spec_manager_class` not recognized by `EnableNBExtensionApp`.
Traceback (most recent call last):
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3030, in _dep_map
    return self.__dep_map
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2827, in __getattr__
    raise AttributeError(attr)
AttributeError: _DistInfoDistribution__dep_map

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3021, in _parsed_pkg_info
    return self._pkg_info
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2827, in __getattr__
    raise AttributeError(attr)
AttributeError: _pkg_info

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/srv/conda/envs/notebook/bin/jupyter-nbextension", line 10, in <module>
    sys.exit(main())
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/jupyter_core/application.py", line 264, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/traitlets/config/application.py", line 846, in launch_instance
    app.start()
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/notebook/nbextensions.py", line 980, in start
    super().start()
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/jupyter_core/application.py", line 253, in start
    self.subapp.start()
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/notebook/nbextensions.py", line 888, in start
    self.toggle_nbextension_python(self.extra_args[0])
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/notebook/nbextensions.py", line 864, in toggle_nbextension_python
    logger=self.log)
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/notebook/nbextensions.py", line 475, in enable_nbextension_python
    logger=logger)
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/notebook/nbextensions.py", line 372, in _set_nbextension_state_python
    m, nbexts = _get_nbextension_metadata(module)
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/notebook/nbextensions.py", line 1114, in _get_nbextension_metadata
    m = import_item(module)
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/traitlets/utils/importstring.py", line 38, in import_item
    return __import__(parts[0])
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/rise/__init__.py", line 3, in <module>
    __version__ = pkg_resources.require("rise")[0].version
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/pkg_resources/__init__.py", line 891, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/pkg_resources/__init__.py", line 785, in resolve
    new_requirements = dist.requires(req.extras)[::-1]
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2748, in requires
    dm = self._dep_map
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3032, in _dep_map
    self.__dep_map = self._compute_dependencies()
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3041, in _compute_dependencies
    for req in self._parsed_pkg_info.get_all('Requires-Dist') or []:
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3023, in _parsed_pkg_info
    metadata = self.get_metadata(self.PKG_INFO)
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1412, in get_metadata
    value = self._get(path)
  File "/srv/conda/envs/notebook/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1616, in _get
    with open(path, 'rb') as stream:
FileNotFoundError: [Errno 2] No such file or directory: '/srv/conda/envs/notebook/lib/python3.7/site-packages/pyzmq-22.3.0.dist-info/METADATA'

return code: 1

()

time: 120.041
Removing intermediate container c35d98ba4638
The command '/bin/sh -c TIMEFORMAT='time: %3R' bash -c 'time mamba env update -p ${NB_PYTHON_PREFIX} -f "environment.yml" && time mamba clean --all -f -y && mamba list -p ${NB_PYTHON_PREFIX} '' returned a non-zero code: 1Built image, launching...
Failed to connect to event stream
kdheepak commented 2 years ago

Fixed in https://github.com/GMLC-TDC/helics.org/commit/d88b67c78dc6cca4c5e40ec7ac997cfdf705a63c.

bpalmintier commented 2 years ago

Although this now compiles (Yay, Thanks!) It still is not working. Notably when trying to import helics into a notebook there is an error.

For example in "Introduction.ipynb" (selected from the menu that appears with the try HELICS binder loads.) We get the following:

import helics as h

---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
/tmp/ipykernel_106/4070173800.py in <module>
----> 1 import helics as h

/srv/conda/envs/notebook/lib/python3.7/site-packages/helics/__init__.py in <module>
      1 # -*- coding: utf-8 -*-
----> 2 from .capi import *
      3 from ._version import __version__
      4 
      5 import atexit

/srv/conda/envs/notebook/lib/python3.7/site-packages/helics/capi.py in <module>
     18     pass
     19 
---> 20 from . import _build
     21 
     22 lib = _build.lib

/srv/conda/envs/notebook/lib/python3.7/site-packages/helics/_build.py in <module>
     99     for file in os.listdir(lib_folder):
    100         if "helicsSharedLib." in file or "libhelics." in file or "libhelicsd." in file and file.endswith(".so"):
--> 101             lib = ffi.dlopen(os.path.join(PYHELICS_INSTALL, "lib", file))
    102             break
    103     else:

/srv/conda/envs/notebook/lib/python3.7/site-packages/cffi/api.py in dlopen(self, name, flags)
    148                             "or an already-opened 'void *' handle")
    149         with self._lock:
--> 150             lib, function_cache = _make_ffi_library(self, name, flags)
    151             self._function_caches.append(function_cache)
    152             self._libraries.append(lib)

/srv/conda/envs/notebook/lib/python3.7/site-packages/cffi/api.py in _make_ffi_library(ffi, libname, flags)
    830 def _make_ffi_library(ffi, libname, flags):
    831     backend = ffi._backend
--> 832     backendlib = _load_backend_lib(backend, libname, flags)
    833     #
    834     def accessor_function(name):

/srv/conda/envs/notebook/lib/python3.7/site-packages/cffi/api.py in _load_backend_lib(backend, name, flags)
    826             msg = "%s.  Additionally, %s" % (first_error, msg)
    827         raise OSError(msg)
--> 828     return backend.load_library(path, flags)
    829 
    830 def _make_ffi_library(ffi, libname, flags):

OSError: cannot load library '/srv/conda/envs/notebook/lib/python3.7/site-packages/helics/install/lib/libhelics.so.3.1.0': /srv/conda/envs/notebook/lib/python3.7/site-packages/helics/install/lib/libhelics.so.3.1.0: undefined symbol: _ZNSt8ios_base4Init11_S_refcountE

I also had a 502 Bad Gateway error, but that might have been a VPN issue.

Please double check that the example code in the notebooks work before declaring this bug fixed.

kdheepak commented 2 years ago

@nightlark any idea what might be going on here?

Screen Shot 2021-12-21 at 1 51 33 PM

I tested the pip install on our HPC machines, and it appears to work there.

kdheepak commented 2 years ago

I ran another instance of binder and I'm getting the following platform from Python.

Screen Shot 2021-12-21 at 2 04 05 PM

Is this glibc too old?

nightlark commented 2 years ago

The released HELICS binaries should all be using glibc 2.12, which matches the manylinux2010 platform tag on PyPI.

kdheepak commented 2 years ago

Hmm. So what else would cause the library to fail to load then?

kdheepak commented 2 years ago

This is using the HELICS releases with the helics_broker binaries btw.

nightlark commented 2 years ago

Well, based on the error message it is: undefined symbol: _ZNSt8ios_base4Init11_S_refcountE, which demangler.com turns into std::ios_base::Init::_S_refcount.

The C++ standard library is already static linked into the HELICS binaries and shared libraries for Linux, so I think this is an issue specific to the mybinder environment (ensure it is has the latest c++ standard library, g++-multilib, etc installed). The only thing we could try is relying on the system libstdc++ instead of static linking for release binaries, but this is likely to cause more problems for users than what appears to be an isolated instance of just the mybinder environment being messed up.

nightlark commented 2 years ago

If mybinder doesn't give sufficient control over the system environment, it looks like they have a way to use a Dockerfile as a fallback -- this might be the easiest way to fix it by just using a recent Ubuntu Docker image like 20.04 as the base.

kdheepak commented 2 years ago

Yeah, I looked into that. The issues were talking about deprecating that feature + they don't recommend it and said it is prone to breakage. They go as far as saying if there's a use case that requires Docker, we should report to them first. I guess I should open an issue on Binder's GitHub repo?

nightlark commented 2 years ago

I think so. Maybe they can provide more insight into what is going on with their default environment, as this doesn't seem to be reproducible outside their container.