Closed sanathkeshav closed 1 month ago
I'm not sure what packages could be missing because I determined the dependencies using dpkg-shlibdeps
which is a tool to automatically determine shared library dependencies of an executable (using CMake option CPACK_DEBIAN_PACKAGE_SHLIBDEPS
).
Did the users that experienced the problem really install all of those packages? https://github.com/DataAnalyticsEngineering/FANS/blob/54ee6d246a4c3d78be6857ceaf3134dead00bda2/README.md?plain=1#L35
This list is the dependency list that is put into the Debian package created by CPack, and I was able to install this package on a clean Ubuntu. This is the output of dpkg -I fans_0.1.2_amd64.deb
:
root@23e4c2d887b9:/packages# dpkg -I fans_0.1.2_amd64.deb
new Debian package, version 2.0.
size 212140 bytes: control archive=578 bytes.
404 bytes, 11 lines control
100 bytes, 2 lines md5sums
64 bytes, 7 lines * postinst #!/bin/sh
61 bytes, 7 lines * postrm #!/bin/sh
Architecture: amd64
Depends: openmpi-bin, libc6 (>= 2.16), libfftw3-double3 (>= 3.3.5), libfftw3-mpi3, libgcc-s1 (>= 4.0), libgomp1 (>= 4.2.1), libhdf5-103, libopenmpi3 (>= 4.0.3), libstdc++6 (>= 5.2)
Description: FANS - Fourier Accelerated Nodal Solver
FANS shared library and executable
Maintainer: MIB DAE Stuttgart
Package: fans
Priority: optional
Section: devel
Version: 0.1.2
Installed-Size: 596
Maybe they used a non Debian-based distro?
Ahh I'm sorry now I get it, you meant not the direct package dependencies but also the build toolchain etc.
Then let's just add the packages that come in our Docker images. For just building that would be: https://github.com/DataAnalyticsEngineering/FANS/blob/54ee6d246a4c3d78be6857ceaf3134dead00bda2/docker/Dockerfile#L25-L31
And then the additional tools: https://github.com/DataAnalyticsEngineering/FANS/blob/54ee6d246a4c3d78be6857ceaf3134dead00bda2/docker/Dockerfile#L52-L60
Mayben we then should also add instructions on how to set up the python environment for the h52xdmf script? In the Dockerfile that would correspond to: https://github.com/DataAnalyticsEngineering/FANS/blob/54ee6d246a4c3d78be6857ceaf3134dead00bda2/docker/Dockerfile#L84-L88
I can update the README accordingly if you are fine with the above suggestions :)
The traditional installation option offered by @siggmo is a popular choice for quickly trying out FANS by multiple users. I was wondering if it can be improved a bit more by identifying and adding every single dependency of FANS including but not limited to gcc/ g++, CMake, git, htop, time.
This would make the traditional installation guide very exhaustive and by far the easiest way to get all the dependencies installed.