From 8c0b4967faa1d0da5521e05fb7300c7e579a2373 Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Thu, 19 Oct 2023 09:52:14 +0200
Subject: [PATCH] [web] Replace eigen links.

https://eigen.tuxfamily.org is down.
Use https://libeigen.gitlab.io/docs instead.
---
 .../prj/linear_solvers/linear_solver/eigen/i_eigen.md         | 2 +-
 .../prj/linear_solvers/linear_solver/eigen/t_angle.md         | 2 +-
 .../ProjectFile/prj/linear_solvers/linear_solver/eigen/t_l.md | 2 +-
 .../linear_solvers/linear_solver/eigen/t_residual_update.md   | 2 +-
 .../prj/linear_solvers/linear_solver/eigen/t_restart.md       | 2 +-
 .../ProjectFile/prj/linear_solvers/linear_solver/eigen/t_s.md | 2 +-
 .../prj/linear_solvers/linear_solver/eigen/t_scaling.md       | 4 ++--
 .../prj/linear_solvers/linear_solver/eigen/t_smoothing.md     | 2 +-
 MathLib/LinAlg/Eigen/EigenLinearSolver.cpp                    | 4 ++--
 MathLib/ODE/ODESolverTypes.h                                  | 2 +-
 .../docs/devguide/advanced/configuration-options/index.md     | 2 +-
 11 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/i_eigen.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/i_eigen.md
index dae5722ba94..cd4db4acfa9 100644
--- a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/i_eigen.md
+++ b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/i_eigen.md
@@ -1,3 +1,3 @@
 Configuration for solvers from the Eigen library.
 
-For details see also the [documentation of the Eigen library](https://eigen.tuxfamily.org/dox/group__Sparse__Reference.html).
+For details see also the [documentation of the Eigen library](https://libeigen.gitlab.io/docs/group__Sparse__Reference.html).
diff --git a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_angle.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_angle.md
index 816d5ca0a7a..58171a5ac37 100644
--- a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_angle.md
+++ b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_angle.md
@@ -5,4 +5,4 @@ through OGS_USE_EIGEN_UNSUPPORTED CMake option.
 
 See following links for detail description:
 
-- "Detailed Description" in <https://eigen.tuxfamily.org/dox/unsupported/>
+- "Detailed Description" in <https://libeigen.gitlab.io/docs/unsupported/>
diff --git a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_l.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_l.md
index bf1ed857e6a..3c8693d282b 100644
--- a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_l.md
+++ b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_l.md
@@ -4,4 +4,4 @@ through OGS_USE_EIGEN_UNSUPPORTED CMake option.
 
 See following links for detail description:
 
-- "Detailed Description" in <https://eigen.tuxfamily.org/dox/unsupported/>
+- "Detailed Description" in <https://libeigen.gitlab.io/docs/unsupported/>
diff --git a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_residual_update.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_residual_update.md
index 25686010beb..5f75293b331 100644
--- a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_residual_update.md
+++ b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_residual_update.md
@@ -5,4 +5,4 @@ through OGS_USE_EIGEN_UNSUPPORTED CMake option.
 
 See following links for detail description:
 
-- "Detailed Description" in <https://eigen.tuxfamily.org/dox/unsupported/>
+- "Detailed Description" in <https://libeigen.gitlab.io/docs/unsupported/>
diff --git a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_restart.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_restart.md
index 76b8eb7c5c8..0379ee378c6 100644
--- a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_restart.md
+++ b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_restart.md
@@ -5,4 +5,4 @@ through OGS_USE_EIGEN_UNSUPPORTED CMake option.
 
 See following links for detail description:
 
-- "Detailed Description" in <https://eigen.tuxfamily.org/dox/unsupported/classEigen_1_1GMRES.html>
+- "Detailed Description" in <https://libeigen.gitlab.io/docs/unsupported/classEigen_1_1GMRES.html>
diff --git a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_s.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_s.md
index 132d574f5c8..859aa276561 100644
--- a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_s.md
+++ b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_s.md
@@ -4,4 +4,4 @@ through OGS_USE_EIGEN_UNSUPPORTED CMake option.
 
 See following links for detail description:
 
-- "Detailed Description" in <https://eigen.tuxfamily.org/dox/unsupported/>
+- "Detailed Description" in <https://libeigen.gitlab.io/docs/unsupported/>
diff --git a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_scaling.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_scaling.md
index fde0cebb933..74444c77fb3 100644
--- a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_scaling.md
+++ b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_scaling.md
@@ -4,6 +4,6 @@ through OGS_USE_EIGEN_UNSUPPORTED CMake option.
 
 See following links for detail description:
 
-- "Note" in <https://eigen.tuxfamily.org/dox/classEigen_1_1SparseLU.html>
-- "Detailed Description" in <https://eigen.tuxfamily.org/dox/unsupported/namespaceEigen.html>
+- "Note" in <https://libeigen.gitlab.io/docs/classEigen_1_1SparseLU.html>
+- "Detailed Description" in <https://libeigen.gitlab.io/docs/unsupported/namespaceEigen.html>
 - References : D. Ruiz and B. Ucar, A Symmetry Preserving Algorithm for Matrix Scaling, INRIA Research report RR-7552
diff --git a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_smoothing.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_smoothing.md
index 339f112ad50..170b1f20d57 100644
--- a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_smoothing.md
+++ b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_smoothing.md
@@ -4,4 +4,4 @@ through OGS_USE_EIGEN_UNSUPPORTED CMake option.
 
 See following links for detail description:
 
-- "Detailed Description" in <https://eigen.tuxfamily.org/dox/unsupported/>
+- "Detailed Description" in <https://libeigen.gitlab.io/docs/unsupported/>
diff --git a/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp b/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp
index 84f6b29f77b..91b79bc088a 100644
--- a/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp
+++ b/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp
@@ -259,7 +259,7 @@ public:
 
         // matrix must be copied, because Eigen's linear solver stores a
         // reference to it cf.
-        // https://eigen.tuxfamily.org/dox/classEigen_1_1IterativeSolverBase.html#a7dfa55c55e82d697bde227696a630914
+        // https://libeigen.gitlab.io/docs/classEigen_1_1IterativeSolverBase.html#a7dfa55c55e82d697bde227696a630914
         A_ = A;
 
         if (!A_.isCompressed())
@@ -339,7 +339,7 @@ std::unique_ptr<EigenLinearSolverBase> createIterativeSolver(
         case EigenOption::PreconType::ILUT:
             // TODO for this preconditioner further options can be passed.
             // see
-            // https://eigen.tuxfamily.org/dox/classEigen_1_1IncompleteLUT.html
+            // https://libeigen.gitlab.io/docs/classEigen_1_1IncompleteLUT.html
             return createIterativeSolver<Solver,
                                          Eigen::IncompleteLUT<double>>();
         default:
diff --git a/MathLib/ODE/ODESolverTypes.h b/MathLib/ODE/ODESolverTypes.h
index 0d0494db76a..ee752f8beb9 100644
--- a/MathLib/ODE/ODESolverTypes.h
+++ b/MathLib/ODE/ODESolverTypes.h
@@ -26,7 +26,7 @@ namespace ODE
  * \tparam N number of rows
  * \tparam M number of columns
  *
- * \see https://eigen.tuxfamily.org/dox/classEigen_1_1Map.html
+ * \see https://libeigen.gitlab.io/docs/classEigen_1_1Map.html
  */
 template <int N, int M>
 using MappedMatrix = Eigen::Map<Eigen::Matrix<double, N, M, Eigen::ColMajor>>;
diff --git a/web/content/docs/devguide/advanced/configuration-options/index.md b/web/content/docs/devguide/advanced/configuration-options/index.md
index b11c0c38210..ea7b62cb994 100644
--- a/web/content/docs/devguide/advanced/configuration-options/index.md
+++ b/web/content/docs/devguide/advanced/configuration-options/index.md
@@ -46,7 +46,7 @@ CMake switches to enable / disable parts of OGS.
 - `OGS_CPU_ARCHITECTURE` - Optimizes for the given CPU architecture see [-march](https://gcc.gnu.org/onlinedocs/gcc-4.5.3/gcc/i386-and-x86_002d64-Options.html)-flag. Defaults to `native`. For redistributable binaries set to `generic` on Linux and `core2` on Mac OS. Can be disabled when set to `OFF`.
 - `CMAKE_LIBRARY_SEARCH_PATH` - Additional library installation path, e.g. `/opt/local` or `C:/libs`
 - `OGS_DEPENDENCY_VERSIONS` - Overwrite individual entries in `web/data/versions.json`. Should be quoted and `;`-separated, e.g.: `-DOGS_DEPENDENCY_VERSIONS="minimum_version.petsc=3.16.2;ctest.large_runtime=120"`.
-- `OGS_USE_MKL` - Enables MKL support. Requires MKL to be installed on the system.[^MKL] A CMake or environment variable `MKLROOT` or `MKL_DIR` has to point to the MKL installation directory. To enable 64-bit array indices in MKL add `-DMKL_USE_interface=ilp64` on the first CMake run (with a clean CMake cache) but this seems [not supported by Eigen](https://eigen.tuxfamily.org/dox/TopicUsingIntelMKL.html).
+- `OGS_USE_MKL` - Enables MKL support. Requires MKL to be installed on the system.[^MKL] A CMake or environment variable `MKLROOT` or `MKL_DIR` has to point to the MKL installation directory. To enable 64-bit array indices in MKL add `-DMKL_USE_interface=ilp64` on the first CMake run (with a clean CMake cache) but this seems [not supported by Eigen](https://libeigen.gitlab.io/docs/TopicUsingIntelMKL.html).
 - `OGS_USE_PETSC_MKL_EIGEN_OPENMP` - Also enables OpenMP multithreading when PETSc and MKL is used. This pulls in another OpenMP implementation besides the Intel MKL OpenMP. **Experimental feature!**
 
 [^MKL]: The `mkl_link_tool` (part of the MKL installation) is used for setting up necessary compiler flags. It is a 32-bit executable. On Arch Linux you need to enable the [multilib-repository](https://wiki.archlinux.org/title/official_repositories#Enabling_multilib) and then install the package `lib32-gcc-libs` (otherwise you may get this error when trying to run it: `mkl_link_tool: No such file or directory`) On other Linux distributions you have to install the package `lib32stdc++6` (Ubuntu / Debian) or `libstdc++.i686` (yum-based)! On Windows please also install the *Intel oneAPI Threading Building Blocks* during installation!
-- 
GitLab