uabrc / uabrc/uabrc.github.io

Case Study: Installation of the dealii, a C++ program library

Open
#836 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

style: case study 🔎📝 system: cheaha 🖧
Dominant language
Python
Stars
24
Forks
15
Avg merge
10d 3h
Merged PRs (30d)
1

Description

What would you like to see added?

deal.II Installation Experience

Installation Instructions in the deal.II repository

The installation process began by following the instructions in the deal.II repository (https://github.com/dealii/dealii) :

$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/path/where/dealii/should/be/installed/to /path/to/dealii/sources
$ make install    (alternatively $ make -j<N> install)
$ make test
  • The installation seemed smooth until I reached the last step: make test. This command resulted in several errors (screenshots attached for reference)
dealii-1 dealii
Singularity as an Alternative

I switched to a containerized approach with Singularity, hoping it would work:

  • Pull the latest Docker image using:
    singularity pull dealii.sif docker://dealii/dealii:latest.
  • Then tried to run singularity run dealii.sif --help, this didn’t work, as no entry point or commands were provided in the documentation.
  • singularity shell dealii.sif—not help, leaving me unable to proceed further.

Solutions that works

The following solution was tested using the tutorial examples (step-1) available on the deal-II GitHub page.

  • Pulled other docker image using singularity:
    singularity pull dealii.sif docker://dealii/dealii:master-focal
  • Clone the dealii repo using:
    git clone https://github.com/dealii/dealii
  • Navigate to the example directory. For example for Step-1, use:
    cd dealii/examples/step-1
  • Then , run the following commands:
singularity run $HOME/dealii.sif cmake .
singularity run $HOME/dealii.sif make
singularity run $HOME/dealii.sif make run
  • These steps run successfully and produce the expected outputs as shown in the tutorial.

Takeaways

  • While the official installation steps are a good starting point, real-world installations may encounter unexpected issues.
  • If the standard installation approach fails, explore alternatives like Singularity.
  • The Docker image version played a crucial role, if one version doesn’t work, trying another can make all the difference.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the issue body and its linked deal.II installation and tutorial pages, then inspect the repository's existing documentation structure to identify an appropriate location for the case study. Done means the installation experience, tested Singularity commands, and relevant limitations are documented clearly and consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp, docker
Domain
documentation, hpc
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.