renaming the case-sensitive paths
For some reason, OpenFOAM developers have case-sensitive paths in the codebase. As a result, it is difficult to port the software or to other OSes, such as macOS and/or Windows. For example, trying to git clone
this repository on macOS results
warning: the following paths have collided (e.g. case-sensitive paths on a case-insensitive filesystem) and only one from the same colliding group is in the working tree: 'applications/test/Dictionary/Make/files' 'applications/test/dictionary/Make/files' 'applications/test/Dictionary/Make/options' 'applications/test/dictionary/Make/options' 'applications/test/Dictionary/Test-Dictionary.C' 'applications/test/dictionary/Test-dictionary.C' 'applications/test/Tensor2D/Make/files' 'applications/test/tensor2D/Make/files' 'applications/test/Tensor2D/Make/options' 'applications/test/tensor2D/Make/options' 'applications/test/Tensor2D/Test-Tensor2D.C' 'applications/test/tensor2D/Test-tensor2D.C' 'src/finiteVolume/finiteVolume/fvc/fvcDDt.C' 'src/finiteVolume/finiteVolume/fvc/fvcDdt.C' 'src/finiteVolume/finiteVolume/fvc/fvcDDt.H' 'src/finiteVolume/finiteVolume/fvc/fvcDdt.H' 'src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.C' 'src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresGrad.C' 'src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.H' 'src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresGrad.H' 'src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrads.C' 'src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresGrads.C' 'src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.C' 'src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.C' 'src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.H' 'src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.H' 'src/fvOptions/sources/derived/phaseLimitStabilization/PhaseLimitStabilization.C' 'src/fvOptions/sources/derived/phaseLimitStabilization/phaseLimitStabilization.C' 'src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C' 'src/fvOptions/sources/general/semiImplicitSource/semiImplicitSource.C' 'src/OpenFOAM/db/Time/instant/Instant.C' 'src/OpenFOAM/db/Time/instant/instant.C' 'src/OpenFOAM/db/Time/instant/Instant.H' 'src/OpenFOAM/db/Time/instant/instant.H' 'src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolation.H' 'src/OpenFOAM/interpolations/patchToPatchInterpolation/patchToPatchInterpolation.H' 'src/OpenFOAM/interpolations/primitivePatchInterpolation/PrimitivePatchInterpolation.H' 'src/OpenFOAM/interpolations/primitivePatchInterpolation/primitivePatchInterpolation.H' 'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C' 'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C' 'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H' 'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H' 'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixATmul.C' 'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C' 'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C' 'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C' 'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixPreconditioner.C' 'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C' 'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSmoother.C' 'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C' 'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSolver.C' 'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSolver.C' 'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixUpdateMatrixInterfaces.C' 'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixUpdateMatrixInterfaces.C' 'src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.C' 'src/OpenFOAM/matrices/LduMatrix/LduMatrix/solverPerformance.C' 'src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.H' 'src/OpenFOAM/matrices/LduMatrix/LduMatrix/solverPerformance.H' 'src/OpenFOAM/matrices/LduMatrix/Preconditioners/DiagonalPreconditioner/DiagonalPreconditioner.C' 'src/OpenFOAM/matrices/lduMatrix/preconditioners/diagonalPreconditioner/diagonalPreconditioner.C' 'src/OpenFOAM/matrices/LduMatrix/Preconditioners/DiagonalPreconditioner/DiagonalPreconditioner.H' 'src/OpenFOAM/matrices/lduMatrix/preconditioners/diagonalPreconditioner/diagonalPreconditioner.H' 'src/OpenFOAM/matrices/LduMatrix/Preconditioners/NoPreconditioner/NoPreconditioner.C' 'src/OpenFOAM/matrices/lduMatrix/preconditioners/noPreconditioner/noPreconditioner.C' 'src/OpenFOAM/matrices/LduMatrix/Preconditioners/NoPreconditioner/NoPreconditioner.H' 'src/OpenFOAM/matrices/lduMatrix/preconditioners/noPreconditioner/noPreconditioner.H' 'src/OpenFOAM/matrices/LduMatrix/Solvers/DiagonalSolver/DiagonalSolver.C' 'src/OpenFOAM/matrices/lduMatrix/solvers/diagonalSolver/diagonalSolver.C' 'src/OpenFOAM/matrices/LduMatrix/Solvers/DiagonalSolver/DiagonalSolver.H' 'src/OpenFOAM/matrices/lduMatrix/solvers/diagonalSolver/diagonalSolver.H' 'src/OpenFOAM/matrices/LduMatrix/Solvers/SmoothSolver/SmoothSolver.C' 'src/OpenFOAM/matrices/lduMatrix/solvers/smoothSolver/smoothSolver.C' 'src/OpenFOAM/matrices/LduMatrix/Solvers/SmoothSolver/SmoothSolver.H' 'src/OpenFOAM/matrices/lduMatrix/solvers/smoothSolver/smoothSolver.H' 'src/OpenFOAM/meshes/MeshObject/MeshObject.C' 'src/OpenFOAM/meshes/MeshObject/meshObject.C' 'src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.H' 'src/OpenFOAM/meshes/primitiveMesh/primitivePatch/primitivePatch.H' 'src/OpenFOAM/meshes/primitiveShapes/objectHit/PointHit.H' 'src/OpenFOAM/meshes/primitiveShapes/objectHit/pointHit.H' 'src/OpenFOAM/meshes/primitiveShapes/objectHit/PointIndexHit.H' 'src/OpenFOAM/meshes/primitiveShapes/objectHit/pointIndexHit.H' 'src/phaseSystemModels/multiphaseInter/phasesSystem/InterfaceCompositionModel/InterfaceCompositionModel.C' 'src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceCompositionModel/interfaceCompositionModel.C' 'src/phaseSystemModels/multiphaseInter/phasesSystem/InterfaceCompositionModel/InterfaceCompositionModel.H' 'src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceCompositionModel/interfaceCompositionModel.H' 'src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.C' 'src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.C' 'src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.H' 'src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.H' 'src/thermophysicalModels/chemistryModel/chemistryModel/BasicChemistryModel/BasicChemistryModel.C' 'src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.C' 'src/thermophysicalModels/chemistryModel/chemistryModel/BasicChemistryModel/BasicChemistryModel.H' 'src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H' 'src/thermophysicalModels/chemistryModel/chemistryModel/BasicChemistryModel/BasicChemistryModelI.H' 'src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModelI.H' 'tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.orig/B.gz' 'tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.orig/b.gz' 'wmake/rules/General/CGAL' 'wmake/rules/General/cgal'
It should be very easy to rename the conflicting directories and files maybe by adding an _
to the end of some.