anchor.diff:          libopenblas-dev \
           mpich && \
       apt-get clean && \
  -    rm -rf /var/lib/apt/lists/* && \
  -    curl -s ftp://ftp.gnu.org/gnu/octave/octave-${OCTAVE_VERSION}.tar.gz | tar zx && \
  -    cd octave-* && \
  -    ./configure --prefix=/usr/local && \
  -    make CFLAGS=-O CXXFLAGS=-O LDFLAGS= -j 2 && \
  -    make install && \
  -    rm -rf /tmp/* /var/tmp/*
  -
  -# Install SciPy, SymPy, Pandas, and Jupyter Notebook for Python3 and Octave
  -# Customize Atom for Octave and MATLAB
  -RUN curl -O https://bootstrap.pypa.io/get-pip.py && \
  -    python3 get-pip.py && \
       pip3 install -U \
  -         setuptools \
  -         requests \
  -         progressbar2 \
  -         PyDrive \
  -         \
  -         numpy \
  -         matplotlib \
  -         sympy \
  -         scipy \
  -         pandas \
  -         nose \
  -         sphinx \
  -         flufl.lock \
  -         ply \
  -         pytest \
  -         six \
  -         urllib3 \
  -         ipython \
  -         jupyter \
  -         ipywidgets && \
  -    jupyter nbextension install --py --system \
  -         widgetsnbextension && \
  -    jupyter nbextension enable --py --system \
  -         widgetsnbextension && \
  -    pip3 install -U \
  -        jupyter_latex_envs==1.3.8.4 && \
  -    jupyter nbextension install --py --system \
  -        latex_envs && \
  -    jupyter nbextension enable --py --system \
  -        latex_envs && \
  -    jupyter nbextension install --system \
  -        https://bitbucket.org/ipre/calico/downloads/calico-spell-check-1.0.zip && \
  -    jupyter nbextension install --system \
  -        https://bitbucket.org/ipre/calico/downloads/calico-document-tools-1.0.zip && \
  -    jupyter nbextension install --system \
  -        https://bitbucket.org/ipre/calico/downloads/calico-cell-tools-1.0.zip && \
  -    jupyter nbextension enable --system \
  -        calico-spell-check && \
  -    pip3 install -U octave_kernel && \
  -    python3 -m octave_kernel.install && \
  +        requests \
  +        progressbar2 \
  +        PyDrive && \
       rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
  -
  -# Download ilupack4m and compile it
  -RUN mkdir -p /usr/local/ilupack4m && \
  -    curl -s  -L https://github.com/fastsolve/ilupack4m/archive/master.tar.gz | \
  -        bsdtar zxf - --strip-components 1 -C /usr/local/ilupack4m && \
  -    cd /usr/local/ilupack4m/makefiles && make TARGET=Octave
   
   # Install PETSc from source.
   ENV PETSC_VERSION=3.7.6 \
  
positive.code:     echo 'addpath /usr/local/ilupack4m/matlab/ilupack' >> $DOCKER_HOME/.octaverc && \
      echo 'run /usr/local/paracoder/.octaverc' >> $DOCKER_HOME/.octaverc && \
      echo 'run /usr/local/petsc4m/.octaverc' >> $DOCKER_HOME/.octaverc && \
      echo '@octave --force-gui' >> $DOCKER_HOME/.config/lxsession/LXDE/autostart && \
      chown -R $DOCKER_USER:$DOCKER_GROUP $DOCKER_HOME
  
  WORKDIR $DOCKER_HOME
  
negative.code: 
  ENV PETSC_DIR=/usr/local/petsc-$PETSC_VERSION
  
  # Install ilupack4m, paracoder and petsc4m
  RUN mkdir -p /usr/local/ilupack4m && \
      curl -s  -L https://github.com/fastsolve/ilupack4m/archive/master.tar.gz | \
          bsdtar zxf - --strip-components 1 -C /usr/local/ilupack4m && \
      cd /usr/local/ilupack4m/makefiles && make TARGET=Octave && \
      \
      mkdir -p /usr/local/paracoder && \
      curl -s  -L https://github.com/fastsolve/paracoder/archive/master.tar.gz | \
          bsdtar zxf - --strip-components 1 -C /usr/local/paracoder && \
      cd /usr/local/paracoder && octave --eval "build_m2c -force" && \
      rm -rf `find /usr/local/paracoder -name lib` && \
      \
      mkdir -p /usr/local/petsc4m && \
      curl -s  -L https://github.com/fastsolve/petsc4m/archive/master.tar.gz | \
          bsdtar zxf - --strip-components 1 -C /usr/local/petsc4m && \
  