Open scanon opened 1 year ago
For example explain how to build the static mksquashfs.
I didn't see the Dockerfile page in the repo until after I went through some of the pain of building deps, but here is what I suggest.
Have an INSTALL.md
that states upfront what the main dependencies are:
You could give suggestions for each, like using your OS's package repository. For squashfs-tools you can point them to your Dockerfile. I will post below how I built it from scratch. Or I can take a stab at it if you agree to the layout.
Steps I used to build static mksquashfs manually (RHEL8 flavor):
sudo dnf install glibc-static
git clone https://github.com/lz4/lz4.git
, change branch to latest tag (v1.9.4) and build with make
. The static library is in the lib folder.git clone https://github.com/plougher/squashfs-tools.git
and checkout latest tag 4.6.1. Change directory into the squashfs-tools subdir and run the following command: make GZIP_SUPPORT=0 LZ4_SUPPORT=1 COMP_DEFAULT=lz4 INSTALL_PREFIX=$PWD/here EXTRA_LDFLAGS='-static -L/path/to/lz4/lib'
Note that the static executables will be in the folder $PWD/here
.
Also I would like to mention that we are creating a Spack package for Podman-HPC and getting all the deps building correctly from source. So this will help with shared deployments on a system. Also, it's a good traceable way to see how everything was build. I'm folding in the commits to Spack in individual PRs, but you can see an aggregate of all the changes if you look at the last few commits at: https://github.com/NavalNuclearLab/spack/tree/py-podman-hpc-all. If you like this approach we could add this to the installation docs as well. You also have the option of building Podman HPC against the system podman and deps with this (Spack externals).
Hi @bryanherman
Thanks for sharing this info and apologies for our slow reply.
The INSTALL.md structure you proposed seems good to me. Your contribution is very welcome, but otherwise I can work on getting this implemented.
Thanks for the link to your Spack package. Your approach seems reasonable to me. If you think it's ready to share, we can also add a mention of this in our docs here.
I may split this out a bit. I think it would be useful to have docs on how to install via pip for a regular user and then have more detailed docs for a site installation.
Add more details to the documentation about dependencies and configuration.