diff --git a/builder/install-libraries.sh b/builder/install-libraries.sh
index 612a692..cc358c7 100755
--- a/builder/install-libraries.sh
+++ b/builder/install-libraries.sh
@@ -11,3 +11,18 @@ while read -r version; do
/opt/compiler-explorer/julia-${version}/bin/julia -e 'using Pkg; Pkg.add(["Enzyme", "Reactant"])'
done < /app/data/julia-versions.txt
+
+export hypre_version=2.31.0
+
+mkdir /opt/compiler-explorer/libraries
+
+curl -L https://github.com/hypre-space/hypre/archive/refs/tags/v${hypre_version}.tar.gz > /opt/archives/hypre-v${hypre_version}.tar.gz
+tar xzf hypre-v${hypre_version}.tar.gz && cd hypre-${hypre_version}/src && \
+ ./configure --prefix /opt/compiler-explorer/libraries --enable-shared --disable-static && \
+ make -j `nproc` && make install
+
+# MFEM repo checkout
+git clone --depth=1 https://github.com/mfem/mfem.git mfem -b v4.9
+cp mfem.user.mk mfem/config/user.mk
+
+cd mfem && make config && make -j `nproc` install
\ No newline at end of file
diff --git a/data/libs.j2 b/data/libs.j2
index ce92f70..5328be9 100644
--- a/data/libs.j2
+++ b/data/libs.j2
@@ -1,7 +1,7 @@
#################################
#################################
# Installed libs (See c++.amazon.properties for a scheme of libs group)
-libs=eigen:boost:nlohmann_json:petsc:mfem
+libs=eigen:boost:nlohmann_json:petsc
libs.boost.name=Boost
libs.boost.versions=178
@@ -26,11 +26,3 @@ libs.petsc.versions=3194
libs.petsc.url=https://petsc.org
libs.petsc.versions.3194.version=3.19.4
libs.petsc.versions.3194.path=/opt/compiler-explorer/libs/petsc-3.19.4/include
-
-libs.mfem.name=mfem
-libs.mfem.url=https://mfem.org
-libs.mfem.description=MFEM is a free, lightweight, scalable C++ library for finite element methods.
Note that the trunk version is no longer available, use v4.7 instead.
-libs.mfem.packagedheaders=true
-libs.mfem.versions=47
-libs.mfem.staticliblink=mfem
-libs.mfem.versions.47.version=4.7
diff --git a/template_files/etc/config/c++.enzyme.properties.j2 b/template_files/etc/config/c++.enzyme.properties.j2
index ff9a2ff..55a33f2 100644
--- a/template_files/etc/config/c++.enzyme.properties.j2
+++ b/template_files/etc/config/c++.enzyme.properties.j2
@@ -47,7 +47,7 @@ group.clang-enzyme-main.options=-fno-discard-value-names
{% for compiler in compilers %}
compiler.clang{{ compiler.version }}-enzyme-main.exe=/usr/bin/clang++-{{ compiler.version }}
-compiler.clang{{ compiler.version }}-enzyme-main.options=-fplugin=/opt/compiler-explorer/main/ClangEnzyme-{{ compiler.version }}.so
+compiler.clang{{ compiler.version }}-enzyme-main.options=-fplugin=/opt/compiler-explorer/main/ClangEnzyme-{{ compiler.version }}.so -I/opt/compiler-explorer/libraries/include -L/opt/compiler-explorer/lib
compiler.clang{{ compiler.version }}-enzyme-main.semver={{ compiler.semver }}
compiler.clang{{ compiler.version }}-enzyme-main.name=clang {{ compiler.version }} ({{ compiler.enzyme_commit }})
{% endfor %}
@@ -65,5 +65,5 @@ group.reclang-enzyme-main.groupName=REACTANT CLANG (main)
group.reclang-enzyme-main.options=-fno-discard-value-names
compiler.reclang.exe=/opt/compiler-explorer/main/reactant-clang
-compiler.reclang.options=-resource-dir=/usr/lib/llvm-21/lib/clang/21
+compiler.reclang.options=-resource-dir=/usr/lib/llvm-21/lib/clang/21 -I/opt/compiler-explorer/libraries/include -L/opt/compiler-explorer/lib
compiler.reclang.name=Reactant Clang ({{ reactant_commit }})
diff --git a/template_files/etc/config/c.enzyme.properties.j2 b/template_files/etc/config/c.enzyme.properties.j2
index 25601a5..03f7af4 100644
--- a/template_files/etc/config/c.enzyme.properties.j2
+++ b/template_files/etc/config/c.enzyme.properties.j2
@@ -24,7 +24,7 @@ libs=petsc
{% for compiler in compilers %}
compiler.cclang{{ compiler.version }}-enzyme-main.exe=/usr/bin/clang-{{ compiler.version }}
-compiler.cclang{{ compiler.version }}-enzyme-main.options=-fplugin=/opt/compiler-explorer/main/ClangEnzyme-{{ compiler.version }}.so
+compiler.cclang{{ compiler.version }}-enzyme-main.options=-fplugin=/opt/compiler-explorer/main/ClangEnzyme-{{ compiler.version }}.so -I/opt/compiler-explorer/libraries/include -L/opt/compiler-explorer/lib
compiler.cclang{{ compiler.version }}-enzyme-main.semver={{ compiler.semver }}
compiler.cclang{{ compiler.version }}-enzyme-main.name=clang {{ compiler.version }} ({{ compiler.enzyme_commit }})
{% endfor %}
@@ -35,7 +35,7 @@ group.reclang-enzyme-main.compilerType=clang
group.reclang-enzyme-main.supportsExecute=true
group.reclang-enzyme-main.isSemVer=true
group.reclang-enzyme-main.groupName=REACTANT CLANG (main)
-group.reclang-enzyme-main.options=-fno-discard-value-names
+group.reclang-enzyme-main.options=-fno-discard-value-names -I/opt/compiler-explorer/libraries/include -L/opt/compiler-explorer/lib
compiler.reclang.exe=/opt/compiler-explorer/main/reactant-clang
compiler.reclang.options=-resource-dir=/usr/lib/llvm-21/lib/clang/21
diff --git a/template_files/etc/config/cuda.enzyme.properties.j2 b/template_files/etc/config/cuda.enzyme.properties.j2
index 7ca08fc..a139842 100644
--- a/template_files/etc/config/cuda.enzyme.properties.j2
+++ b/template_files/etc/config/cuda.enzyme.properties.j2
@@ -17,7 +17,7 @@ libs=eigen:boost:nlohmann_json:petsc
{% for compiler in compilers %}
compiler.cuclang{{ compiler.version }}-enzyme-main.exe=/usr/bin/clang++-{{ compiler.version }}
-compiler.cuclang{{ compiler.version }}-enzyme-main.options=-fplugin=/opt/compiler-explorer/main/ClangEnzyme-{{ compiler.version }}.so --cuda-path=/opt/compiler-explorer/cuda/12.9.1 --cuda-gpu-arch=sm_70 --cuda-device-only
+compiler.cuclang{{ compiler.version }}-enzyme-main.options=-fplugin=/opt/compiler-explorer/main/ClangEnzyme-{{ compiler.version }}.so --cuda-path=/opt/compiler-explorer/cuda/12.9.1 --cuda-gpu-arch=sm_70 --cuda-device-only -I/opt/compiler-explorer/libraries/include -L/opt/compiler-explorer/lib
compiler.cuclang{{ compiler.version }}-enzyme-main.semver={{ compiler.semver }}
compiler.cuclang{{ compiler.version }}-enzyme-main.name=cuclang {{ compiler.version }} ({{ compiler.enzyme_commit }})
{% endfor %}
@@ -31,5 +31,5 @@ group.reclang-enzyme-main.groupName=DEVICE REACTANT CLANG (main)
group.reclang-enzyme-main.supportsExecute=false
compiler.reclang.exe=/opt/compiler-explorer/main/reactant-clang
-compiler.reclang.options=-resource-dir=/usr/lib/llvm-21/lib/clang/21 --cuda-path=/opt/compiler-explorer/cuda/12.9.1 --cuda-gpu-arch=sm_70
+compiler.reclang.options=-resource-dir=/usr/lib/llvm-21/lib/clang/21 --cuda-path=/opt/compiler-explorer/cuda/12.9.1 --cuda-gpu-arch=sm_70 -I/opt/compiler-explorer/libraries/include -L/opt/compiler-explorer/lib
compiler.reclang.name=Reactant Clang ({{ reactant_commit }})
\ No newline at end of file