Subject: OpenFOAM is not reproducible

From: Ludovic Courtès <[email-masked]>
Date: Fri, 11 Aug 2023 09:41:44 +0200

The ‘openfoam-org’ and ‘openfoam-com’ packages are not reproducible:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix challenge openfoam-{org,com}
/gnu/store/nqv35ydmqmxazv33m84gf1130m10n8ig-openfoam-com-2212 contents differ:
  no local build for '/gnu/store/nqv35ydmqmxazv33m84gf1130m10n8ig-openfoam-com-2212'
  https://ci.guix.gnu.org/nar/lzip/nqv35ydmqmxazv33m84gf1130m10n8ig-openfoam-com-2212: 1wbs1acacshi4swhrxjkwm4jppc0bavsz97vi7y2vkn7nv8rj0bl
  https://bordeaux.guix.gnu.org/nar/lzip/nqv35ydmqmxazv33m84gf1130m10n8ig-openfoam-com-2212: 033jd4y456jfnxz9mavybg520y6ix0fmd7a10k5l97mnljkclzwc
  differing files:
    /share/OpenFOAM/build/linux64GccDPInt32Opt/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/chtMultiRegionTwoPhaseEulerFoam.C.dep
    /share/OpenFOAM/build/linux64GccDPInt32Opt/applications/solvers/multiphase/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C.dep
    /share/OpenFOAM/build/linux64GccDPInt32Opt/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C.dep
    /share/OpenFOAM/build/linux64GccDPInt32Opt/src/functionObjects/phaseSystems/sizeDistribution/sizeDistribution.C.dep
    /share/OpenFOAM/build/linux64GccDPInt32Opt/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C.dep
    /share/OpenFOAM/build/linux64GccDPInt32Opt/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C.dep
    /share/OpenFOAM/build/linux64GccDPInt32Opt/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/twoPhaseCompressibleTurbulenceModels.C.dep
    /share/OpenFOAM/build/linux64GccDPInt32Opt/src/phaseSystemModels/reactingEuler/twoPhaseSystem/diameterModels/IATE/IATE.C.dep
    /share/OpenFOAM/build/linux64GccDPInt32Opt/src/phaseSystemModels/reactingEuler/twoPhaseSystem/diameterModels/IATE/IATEsources/phaseChange/phaseChange.C.dep
    /share/OpenFOAM/build/linux64GccDPInt32Opt/src/phaseSystemModels/reactingEuler/twoPhaseSystem/twoPhaseSystem.C.dep
    /share/OpenFOAM/build/linux64GccDPInt32Opt/src/phaseSystemModels/reactingEuler/twoPhaseSystem/twoPhaseSystems.C.dep
    /share/OpenFOAM/src/phaseSystemModels/reactingEuler/multiphaseSystem/lnInclude/exponential.C
    /share/OpenFOAM/src/phaseSystemModels/reactingEuler/multiphaseSystem/lnInclude/exponential.H
    /share/OpenFOAM/src/phaseSystemModels/reactingEuler/multiphaseSystem/lnInclude/linear.C
    /share/OpenFOAM/src/phaseSystemModels/reactingEuler/multiphaseSystem/lnInclude/linear.H
/gnu/store/bsllqx0zbv9353psmfildnvblg619kz3-openfoam-org-10.20230119 contents differ:
  no local build for '/gnu/store/bsllqx0zbv9353psmfildnvblg619kz3-openfoam-org-10.20230119'
  https://ci.guix.gnu.org/nar/lzip/bsllqx0zbv9353psmfildnvblg619kz3-openfoam-org-10.20230119: 0x7q256p489y5hnlq5i44qbl59bj1bwhnyzbm616nrqq95l3qasz
  https://bordeaux.guix.gnu.org/nar/lzip/bsllqx0zbv9353psmfildnvblg619kz3-openfoam-org-10.20230119: 1yc4sfakn5n78lgdaa4jds6bg2mhhblw15p6j2z1269hb8jz8wvg
  differing files:
    /share/OpenFOAM/applications/utilities/postProcessing/graphics/PVReaders/Make/linux64GccDPInt32Opt/CMakeCache.txt
    /share/OpenFOAM/applications/utilities/postProcessing/graphics/PVReaders/Make/linux64GccDPInt32Opt/CMakeFiles/3.24.2/CMakeSystem.cmake
    /share/OpenFOAM/applications/utilities/postProcessing/graphics/PVReaders/Make/linux64GccDPInt32Opt/CMakeFiles/CMakeOutput.log
    /share/OpenFOAM/test/IO/fileHandler/log.blockMesh
    /share/OpenFOAM/test/IO/fileHandler/log.decomposePar
    /share/OpenFOAM/test/IO/fileHandler/log.decomposePar.collated
    /share/OpenFOAM/test/IO/fileHandler/log.decomposePar.uncollated
    /share/OpenFOAM/test/IO/fileHandler/log.foamFormatConvert
    /share/OpenFOAM/test/IO/fileHandler/log.foamFormatConvert.uncollated
    /share/OpenFOAM/test/IO/fileHandler/log.particleFoam
    /share/OpenFOAM/test/IO/fileHandler/log.particleFoam.collated
    /share/OpenFOAM/test/IO/fileHandler/log.particleFoam.multiCollated
    /share/OpenFOAM/test/IO/fileHandler/log.particleFoam.uncollated
    /share/OpenFOAM/test/IO/fileHandler/log.particleFoam.uncollated_from_multiCollated
    /share/OpenFOAM/test/IO/fileHandler/log.reconstructPar
    /share/OpenFOAM/test/IO/fileHandler/log.reconstructPar.collated
    /share/OpenFOAM/test/IO/fileHandler/log.reconstructPar.multiCollated
    /share/OpenFOAM/test/IO/fileHandler/machineA/fileHandler/log.particleFoam.distributed_multiCollated
    /share/OpenFOAM/test/fvMeshTools/cavity/0.005/polyMesh/faces
    /share/OpenFOAM/test/fvMeshTools/cavity/0.005/polyMesh/neighbour
    /share/OpenFOAM/test/fvMeshTools/cavity/0.005/polyMesh/owner
    /share/OpenFOAM/test/fvMeshTools/cavity/0.005/polyMesh/points
    /share/OpenFOAM/test/fvMeshTools/cavity/0.01/polyMesh/faces
    /share/OpenFOAM/test/fvMeshTools/cavity/0.01/polyMesh/neighbour
    /share/OpenFOAM/test/fvMeshTools/cavity/0.01/polyMesh/owner
    /share/OpenFOAM/test/fvMeshTools/cavity/0.01/polyMesh/points
    /share/OpenFOAM/test/fvMeshTools/cavity/0.015/polyMesh/faces
[…]
    /share/OpenFOAM/test/multiphase/multiphaseEulerFoam/thermal/waterEvaporation/log.multiphaseEulerFoam.e.steam_h.water
    /share/OpenFOAM/test/multiphase/multiphaseEulerFoam/thermal/waterEvaporation/log.multiphaseEulerFoam.h.steam_e.water
    /share/OpenFOAM/test/multiphase/multiphaseEulerFoam/thermal/waterEvaporation/log.multiphaseEulerFoam.h.steam_h.water
    /share/OpenFOAM/test/multiphase/multiphaseEulerFoam/thermal/waterEvaporation/postProcessing.eps
    /share/OpenFOAM/test/postProcessing/channel/log.blockMesh
    /share/OpenFOAM/test/postProcessing/channel/log.topoSet
    /share/OpenFOAM/test/testLoopReport

2 store items were analyzed:
  - 0 (0.0%) were identical
  - 2 (100.0%) differed
  - 0 (0.0%) were inconclusive
--8<---------------cut here---------------end--------------->8---

Some of the files here look like build logs.

Thoughts on how to fix it?

Ludo’.