# Running ITensors Julia on GLIBC\_2.12

**URL:** <https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627>\
**Category:** ITensor Julia Questions\
**Created:** [April 9, 2024, 7:02am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627 "2024-04-09T07:02:41Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![ARAM-TIME](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/aram-time/32/506_2.png) [@ARAM-TIME](https://itensor.discourse.group/u/ARAM-TIME)\
**Post date:** [April 9, 2024, 7:02am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/1 "2024-04-09T07:02:41Z")

</div>

Hi all,

I’m trying to run ITensors on the institute cluster, however it only has GLIBC\_2.12 installed. So I’m wondering if there are any versions of ITensors that supports GLIBC\_2.12?

Thanks,

Jacky

---

<div class="post-metadata">

**Author:** ![mtfishman](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/mtfishman/32/11_2.png) [@mtfishman](https://itensor.discourse.group/u/mtfishman)\
**Post date:** [April 9, 2024, 11:26pm UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/2 "2024-04-09T23:26:43Z")

</div>

What goes wrong when you try to install it?

---

<div class="post-metadata">

**Author:** ![ARAM-TIME](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/aram-time/32/506_2.png) [@ARAM-TIME](https://itensor.discourse.group/u/ARAM-TIME)\
**Post date:** [April 10, 2024, 12:03am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/3 "2024-04-10T00:03:58Z")

</div>

Thanks for your response! The problem is the following.  
`Pkg.status("ITensors")` returned:

```auto
Status `~/.julia/environments/v1.9/Project.toml`
⌃ [9136182c] ITensors v0.3.57
Info Packages marked with ⌃ have new versions available and may be upgradable.

```

However `using ITensors` returned the following error:

```auto
ERROR: LoadError: InitError: could not load library "/home/hluo9119/.julia/artifacts/cacaf4d3b5c79a7723468fc6b854afba34839634/lib/libmpi.so"
/lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/hluo9119/.julia/artifacts/cacaf4d3b5c79a7723468fc6b854afba34839634/lib/libmpi.so)
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl ./libdl.jl:117
  [2] dlopen(s::String, flags::UInt32)
    @ Base.Libc.Libdl ./libdl.jl:116
  [3] macro expansion
    @ ~/.julia/packages/JLLWrappers/pG9bm/src/products/library_generators.jl:63 [inlined]
  [4] __init__ ()
    @ MPICH_jll ~/.julia/packages/MPICH_jll/0ol1A/src/wrappers/x86_64-linux-gnu-libgfortran5-mpi+mpich.jl:13
  [5] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1074
  [6] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any})
    @ Base ./loading.jl:1020
  [7] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128)
    @ Base ./loading.jl:1471
  [8] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1748
  [9] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1625
 [10] macro expansion
    @ ./loading.jl:1613 [inlined]
 [11] macro expansion
    @ ./lock.jl:267 [inlined]
 [12] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1576
 [13] include(mod::Module, _path::String)
    @ Base ./Base.jl:457
 [14] top-level scope
    @ ~/.julia/packages/JLLWrappers/pG9bm/src/toplevel_generators.jl:192
 [15] include
    @ ./Base.jl:457 [inlined]
 [16] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
    @ Base ./loading.jl:2010
 [17] top-level scope
    @ stdin:2
during initialization of module MPICH_jll
in expression starting at /home/hluo9119/.julia/packages/HDF5_jll/SEGoc/src/wrappers/x86_64-linux-gnu-libgfortran5-cxx11-mpi+mpich.jl:9
in expression starting at /home/hluo9119/.julia/packages/HDF5_jll/SEGoc/src/HDF5_jll.jl:2
in expression starting at stdin:2
ERROR: LoadError: Failed to precompile HDF5_jll [0234f1f7-429e-5d53-9886-15a909be8d59] to "/home/hluo9119/.julia/compiled/v1.9/HDF5_jll/jl_jNzJgz".
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
    @ Base ./loading.jl:2260
  [3] compilecache
    @ ./loading.jl:2127 [inlined]
  [4] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1770
  [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1625
  [6] macro expansion
    @ ./loading.jl:1613 [inlined]
  [7] macro expansion
    @ ./lock.jl:267 [inlined]
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1576
  [9] top-level scope
    @ ~/.julia/packages/HDF5/Ws1wH/src/api/api.jl:11
 [10] include(mod::Module, _path::String)
    @ Base ./Base.jl:457
 [11] include(x::String)
    @ HDF5 ~/.julia/packages/HDF5/Ws1wH/src/HDF5.jl:1
 [12] top-level scope
    @ ~/.julia/packages/HDF5/Ws1wH/src/HDF5.jl:68
 [13] include
    @ ./Base.jl:457 [inlined]
 [14] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
    @ Base ./loading.jl:2010
 [15] top-level scope
    @ stdin:2
in expression starting at /home/hluo9119/.julia/packages/HDF5/Ws1wH/src/api/api.jl:1
in expression starting at /home/hluo9119/.julia/packages/HDF5/Ws1wH/src/HDF5.jl:1
in expression starting at stdin:2
ERROR: LoadError: Failed to precompile HDF5 [f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f] to "/home/hluo9119/.julia/compiled/v1.9/HDF5/jl_5tCOHb".
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
    @ Base ./loading.jl:2260
  [3] compilecache
    @ ./loading.jl:2127 [inlined]
  [4] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1770
  [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1625
  [6] macro expansion
    @ ./loading.jl:1613 [inlined]
  [7] macro expansion
    @ ./lock.jl:267 [inlined]
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1576
  [9] include
    @ ./Base.jl:457 [inlined]
 [10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
    @ Base ./loading.jl:2010
 [11] top-level scope
    @ stdin:2
in expression starting at /home/hluo9119/.julia/packages/ITensors/WMeVS/src/ITensors.jl:1
in expression starting at stdin:2
ERROR: LoadError: Failed to precompile ITensors [9136182c-28ba-11e9-034c-db9fb085ebd5] to "/home/hluo9119/.julia/compiled/v1.9/ITensors/jl_0jV67O".
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:35
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
   @ Base ./loading.jl:2260
 [3] compilecache
   @ ./loading.jl:2127 [inlined]
 [4] _require(pkg::Base.PkgId, env::String)
   @ Base ./loading.jl:1770
 [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
   @ Base ./loading.jl:1625
 [6] macro expansion
   @ ./loading.jl:1613 [inlined]
 [7] macro expansion
   @ ./lock.jl:267 [inlined]
 [8] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:1576
in expression starting at /project/RDS-FSC-rotational_code-RW/mytest/rocode/test1.jl:1

```

---

<div class="post-metadata">

**Author:** ![mtfishman](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/mtfishman/32/11_2.png) [@mtfishman](https://itensor.discourse.group/u/mtfishman)\
**Post date:** [April 10, 2024, 12:08am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/4 "2024-04-10T00:08:13Z")

</div>

I see, it seems like maybe it is an issue with `HDF5`.

What happens if you try to install `HDF5.jl` on its own, without installing `ITensors.jl`?

---

<div class="post-metadata">

**Author:** ![ARAM-TIME](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/aram-time/32/506_2.png) [@ARAM-TIME](https://itensor.discourse.group/u/ARAM-TIME)\
**Post date:** [April 10, 2024, 4:00am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/5 "2024-04-10T04:00:13Z")

</div>

Ah there’s a problem when I try to install `HDF5`:

```auto
   Resolving package versions...
   Installed HDF5 ─ v0.17.2
    Updating `~/.julia/environments/v1.9/Project.toml`
  [f67ccb44] + HDF5 v0.17.2
    Updating `~/.julia/environments/v1.9/Manifest.toml`
  [f67ccb44] ↑ HDF5 v0.17.1 ⇒ v0.17.2
Precompiling project...
e[91m ✗ e[39mHDF5
  0 dependencies successfully precompiled in 363 seconds. 130 already precompiled. 3 skipped during auto due to previous errors.
  e[91m1e[39m dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package

```

and `Pkg.precompile("HDF5")` gives the GLIBC\_2.14 not found error:

```auto
Precompiling HDF5
e[91m ✗ e[39me[90mHDF5_jlle[39m
e[91m ✗ e[39mHDF5
  0 dependencies successfully precompiled in 14 seconds. 14 already precompiled.

ERROR: LoadError: The following 1 direct dependency failed to precompile:

HDF5 [f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f]

Failed to precompile HDF5 [f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f] to "/home/hluo9119/.julia/compiled/v1.9/HDF5/jl_fPNlj4".
ERROR: LoadError: InitError: could not load library "/home/hluo9119/.julia/artifacts/cacaf4d3b5c79a7723468fc6b854afba34839634/lib/libmpi.so"
/lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/hluo9119/.julia/artifacts/cacaf4d3b5c79a7723468fc6b854afba34839634/lib/libmpi.so)
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl ./libdl.jl:117
  [2] dlopen(s::String, flags::UInt32)
    @ Base.Libc.Libdl ./libdl.jl:116
  [3] macro expansion
    @ ~/.julia/packages/JLLWrappers/pG9bm/src/products/library_generators.jl:63 [inlined]
  [4] __init__ ()
    @ MPICH_jll ~/.julia/packages/MPICH_jll/0ol1A/src/wrappers/x86_64-linux-gnu-libgfortran5-mpi+mpich.jl:13
  [5] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1074
  [6] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any})
    @ Base ./loading.jl:1020
  [7] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128)
    @ Base ./loading.jl:1471
  [8] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1748
  [9] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1625
 [10] macro expansion
    @ ./loading.jl:1613 [inlined]
 [11] macro expansion
    @ ./lock.jl:267 [inlined]
 [12] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1576
 [13] include(mod::Module, _path::String)
    @ Base ./Base.jl:457
 [14] top-level scope
    @ ~/.julia/packages/JLLWrappers/pG9bm/src/toplevel_generators.jl:192
 [15] include
    @ ./Base.jl:457 [inlined]
 [16] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
    @ Base ./loading.jl:2010
 [17] top-level scope
    @ stdin:2
during initialization of module MPICH_jll
in expression starting at /home/hluo9119/.julia/packages/HDF5_jll/SEGoc/src/wrappers/x86_64-linux-gnu-libgfortran5-cxx11-mpi+mpich.jl:9
in expression starting at /home/hluo9119/.julia/packages/HDF5_jll/SEGoc/src/HDF5_jll.jl:2
in expression starting at stdin:2
ERROR: LoadError: Failed to precompile HDF5_jll [0234f1f7-429e-5d53-9886-15a909be8d59] to "/home/hluo9119/.julia/compiled/v1.9/HDF5_jll/jl_TjACZ1".
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
    @ Base ./loading.jl:2260
  [3] compilecache
    @ ./loading.jl:2127 [inlined]
  [4] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1770
  [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1625
  [6] macro expansion
    @ ./loading.jl:1613 [inlined]
  [7] macro expansion
    @ ./lock.jl:267 [inlined]
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1576
  [9] top-level scope
    @ ~/.julia/packages/HDF5/Z859u/src/api/api.jl:11
 [10] include(mod::Module, _path::String)
    @ Base ./Base.jl:457
 [11] include(x::String)
    @ HDF5 ~/.julia/packages/HDF5/Z859u/src/HDF5.jl:1
 [12] top-level scope
    @ ~/.julia/packages/HDF5/Z859u/src/HDF5.jl:68
 [13] include
    @ ./Base.jl:457 [inlined]
 [14] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
    @ Base ./loading.jl:2010
 [15] top-level scope
    @ stdin:2
in expression starting at /home/hluo9119/.julia/packages/HDF5/Z859u/src/api/api.jl:1
in expression starting at /home/hluo9119/.julia/packages/HDF5/Z859u/src/HDF5.jl:1
in expression starting at stdin:2
Stacktrace:
 [1] pkgerror(msg::String)
   @ Pkg.Types /usr/local/julia/1.9.0/share/julia/stdlib/v1.9/Pkg/src/Types.jl:69
 [2] precompile(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; internal_call::Bool, strict::Bool, warn_loaded::Bool, already_instantiated::Bool, timing::Bool, kwargs::Base.Pairs{Symbol, IOStream, Tuple{Symbol}, NamedTuple{(:io,), Tuple{IOStream}}})
   @ Pkg.API /usr/local/julia/1.9.0/share/julia/stdlib/v1.9/Pkg/src/API.jl:1568
 [3] precompile(pkgs::Vector{Pkg.Types.PackageSpec}; io::IOStream, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Pkg.API /usr/local/julia/1.9.0/share/julia/stdlib/v1.9/Pkg/src/API.jl:156
 [4] precompile(pkgs::Vector{Pkg.Types.PackageSpec})
   @ Pkg.API /usr/local/julia/1.9.0/share/julia/stdlib/v1.9/Pkg/src/API.jl:145
 [5] #precompile#115
   @ /usr/local/julia/1.9.0/share/julia/stdlib/v1.9/Pkg/src/API.jl:144 [inlined]
 [6] precompile
   @ /usr/local/julia/1.9.0/share/julia/stdlib/v1.9/Pkg/src/API.jl:144 [inlined]
 [7] #precompile#114
   @ /usr/local/julia/1.9.0/share/julia/stdlib/v1.9/Pkg/src/API.jl:143 [inlined]
 [8] precompile(pkg::String)
   @ Pkg.API /usr/local/julia/1.9.0/share/julia/stdlib/v1.9/Pkg/src/API.jl:143
 [9] top-level scope
   @ /project/RDS-FSC-rotational_code-RW/mytest/rocode/test1.jl:2
in expression starting at /project/RDS-FSC-rotational_code-RW/mytest/rocode/test1.jl:2

```

---

<div class="post-metadata">

**Author:** ![mtfishman](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/mtfishman/32/11_2.png) [@mtfishman](https://itensor.discourse.group/u/mtfishman)\
**Post date:** [April 10, 2024, 11:43am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/6 "2024-04-10T11:43:05Z")

</div>

Thanks for checking. Could you raise an issue about this with the `HDF5.jl` package? I think they would have more insight than I can provide.

Since the error is reported during precompilation, does it actually cause problems when you try to run the code?

Perhaps we should make HDF5 an optional dependency of ITensors.jl if it causes installation issues (pinging @miles).

---

<div class="post-metadata">

**Author:** ![ARAM-TIME](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/aram-time/32/506_2.png) [@ARAM-TIME](https://itensor.discourse.group/u/ARAM-TIME)\
**Post date:** [April 11, 2024, 4:13am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/7 "2024-04-11T04:13:18Z")

</div>

Ok thanks, I will post this to the HDF5 people.

I tried running `using HDF5` on the cluster, and it took more than 20 minutes of wall time without returning anything.

---

<div class="post-metadata">

**Author:** ![mtfishman](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/mtfishman/32/11_2.png) [@mtfishman](https://itensor.discourse.group/u/mtfishman)\
**Post date:** [April 11, 2024, 12:27pm UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/8 "2024-04-11T12:27:17Z")

</div>

It may be a bit annoying, but something you could do is go through the ITensors.jl source code and remove everything related to `HDF5`, including the dependency requirement in `Project.toml`. The rest of ITensor will work fine without it, it’s only provided for users who want to save and load with that file format.

That’s likely what we will do, and move that code to a package extension or add-on package.

---

<div class="post-metadata">

**Author:** ![miles](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/miles/32/6_2.png) [@miles](https://itensor.discourse.group/u/miles)\
**Post date:** [April 11, 2024, 1:02pm UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/9 "2024-04-11T13:02:05Z")

</div>

Agreed.

---

<div class="post-metadata">

**Author:** ![ARAM-TIME](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/aram-time/32/506_2.png) [@ARAM-TIME](https://itensor.discourse.group/u/ARAM-TIME)\
**Post date:** [April 12, 2024, 3:28am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/10 "2024-04-12T03:28:15Z")

</div>

I will give that a go. Thanks a lot!

---

<div class="post-metadata">

**Author:** ![mtfishman](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/mtfishman/32/11_2.png) [@mtfishman](https://itensor.discourse.group/u/mtfishman)\
**Post date:** [April 12, 2024, 1:05pm UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/11 "2024-04-12T13:05:02Z")

</div>

@ARAM-TIME in [[ITensors] HDF5 Package Extension by emstoudenmire · Pull Request #1382 · ITensor/ITensors.jl · GitHub](https://github.com/ITensor/ITensors.jl/pull/1382) we are making `HDF5.jl` an optional dependency, so it won’t be loading automatically when `ITensors.jl` is installed.

---

<div class="post-metadata">

**Author:** ![ARAM-TIME](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/aram-time/32/506_2.png) [@ARAM-TIME](https://itensor.discourse.group/u/ARAM-TIME)\
**Post date:** [April 15, 2024, 5:55am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/12 "2024-04-15T05:55:50Z")

</div>

Sounds great, thank you!  
Btw, how soon are we expecting v0.4.0 to be released?

---

<div class="post-metadata">

**Author:** ![mtfishman](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/mtfishman/32/11_2.png) [@mtfishman](https://itensor.discourse.group/u/mtfishman)\
**Post date:** [April 15, 2024, 2:25pm UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/13 "2024-04-15T14:25:57Z")

</div>

Probably this week.

---

<div class="post-metadata">

**Author:** ![mtfishman](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/mtfishman/32/11_2.png) [@mtfishman](https://itensor.discourse.group/u/mtfishman)\
**Post date:** [April 16, 2024, 11:30pm UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/14 "2024-04-16T23:30:48Z")

</div>

ITensors v0.4.0 has been released, please try it out and let us know if it fixes your installation issue.

---

<div class="post-metadata">

**Author:** ![ARAM-TIME](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/aram-time/32/506_2.png) [@ARAM-TIME](https://itensor.discourse.group/u/ARAM-TIME)\
**Post date:** [April 17, 2024, 3:50am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/15 "2024-04-17T03:50:36Z")

</div>

Hi Matthew,

Looks like there’s still a problem. The error message I’m getting from `using ITensors` is almost the same as the original one, with an extra section on NDTensors. Please see below. Thanks a lot!

```auto
ERROR: LoadError: InitError: could not load library "/home/hluo9119/.julia/artifacts/cacaf4d3b5c79a7723468fc6b854afba34839634/lib/libmpi.so"
/lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/hluo9119/.julia/artifacts/cacaf4d3b5c79a7723468fc6b854afba34839634/lib/libmpi.so)
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl ./libdl.jl:117
  [2] dlopen(s::String, flags::UInt32)
    @ Base.Libc.Libdl ./libdl.jl:116
  [3] macro expansion
    @ ~/.julia/packages/JLLWrappers/pG9bm/src/products/library_generators.jl:63 [inlined]
  [4] __init__ ()
    @ MPICH_jll ~/.julia/packages/MPICH_jll/0ol1A/src/wrappers/x86_64-linux-gnu-libgfortran5-mpi+mpich.jl:13
  [5] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1074
  [6] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any})
    @ Base ./loading.jl:1020
  [7] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128)
    @ Base ./loading.jl:1471
  [8] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1748
  [9] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1625
 [10] macro expansion
    @ ./loading.jl:1613 [inlined]
 [11] macro expansion
    @ ./lock.jl:267 [inlined]
 [12] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1576
 [13] include(mod::Module, _path::String)
    @ Base ./Base.jl:457
 [14] top-level scope
    @ ~/.julia/packages/JLLWrappers/pG9bm/src/toplevel_generators.jl:192
 [15] include
    @ ./Base.jl:457 [inlined]
 [16] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
    @ Base ./loading.jl:2010
 [17] top-level scope
    @ stdin:2
during initialization of module MPICH_jll
in expression starting at /home/hluo9119/.julia/packages/HDF5_jll/pjOXH/src/wrappers/x86_64-linux-gnu-libgfortran5-cxx11-mpi+mpich.jl:9
in expression starting at /home/hluo9119/.julia/packages/HDF5_jll/pjOXH/src/HDF5_jll.jl:2
in expression starting at stdin:2
ERROR: LoadError: Failed to precompile HDF5_jll [0234f1f7-429e-5d53-9886-15a909be8d59] to "/home/hluo9119/.julia/compiled/v1.9/HDF5_jll/jl_FLLhES".
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
    @ Base ./loading.jl:2260
  [3] compilecache
    @ ./loading.jl:2127 [inlined]
  [4] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1770
  [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1625
  [6] macro expansion
    @ ./loading.jl:1613 [inlined]
  [7] macro expansion
    @ ./lock.jl:267 [inlined]
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1576
  [9] top-level scope
    @ ~/.julia/packages/HDF5/Z859u/src/api/api.jl:11
 [10] include(mod::Module, _path::String)
    @ Base ./Base.jl:457
 [11] include(x::String)
    @ HDF5 ~/.julia/packages/HDF5/Z859u/src/HDF5.jl:1
 [12] top-level scope
    @ ~/.julia/packages/HDF5/Z859u/src/HDF5.jl:68
 [13] include
    @ ./Base.jl:457 [inlined]
 [14] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
    @ Base ./loading.jl:2010
 [15] top-level scope
    @ stdin:2
in expression starting at /home/hluo9119/.julia/packages/HDF5/Z859u/src/api/api.jl:1
in expression starting at /home/hluo9119/.julia/packages/HDF5/Z859u/src/HDF5.jl:1
in expression starting at stdin:2
ERROR: LoadError: Failed to precompile HDF5 [f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f] to "/home/hluo9119/.julia/compiled/v1.9/HDF5/jl_voUyO9".
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
    @ Base ./loading.jl:2260
  [3] compilecache
    @ ./loading.jl:2127 [inlined]
  [4] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1770
  [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1625
  [6] macro expansion
    @ ./loading.jl:1613 [inlined]
  [7] macro expansion
    @ ./lock.jl:267 [inlined]
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1576
  [9] include(mod::Module, _path::String)
    @ Base ./Base.jl:457
 [10] include(x::String)
    @ NDTensors ~/.julia/packages/NDTensors/8ApHV/src/NDTensors.jl:1
 [11] top-level scope
    @ ~/.julia/packages/NDTensors/8ApHV/src/NDTensors.jl:5
 [12] include
    @ ./Base.jl:457 [inlined]
 [13] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
    @ Base ./loading.jl:2010
 [14] top-level scope
    @ stdin:2
in expression starting at /home/hluo9119/.julia/packages/NDTensors/8ApHV/src/imports.jl:18
in expression starting at /home/hluo9119/.julia/packages/NDTensors/8ApHV/src/NDTensors.jl:1
in expression starting at stdin:2
ERROR: LoadError: Failed to precompile NDTensors [23ae76d9-e61a-49c4-8f12-3f1a16adf9cf] to "/home/hluo9119/.julia/compiled/v1.9/NDTensors/jl_FtKADl".
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
    @ Base ./loading.jl:2260
  [3] compilecache
    @ ./loading.jl:2127 [inlined]
  [4] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1770
  [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1625
  [6] macro expansion
    @ ./loading.jl:1613 [inlined]
  [7] macro expansion
    @ ./lock.jl:267 [inlined]
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1576
  [9] include(mod::Module, _path::String)
    @ Base ./Base.jl:457
 [10] include(x::String)
    @ ITensors ~/.julia/packages/ITensors/tVfAa/src/ITensors.jl:51
 [11] top-level scope
    @ ~/.julia/packages/ITensors/tVfAa/src/ITensors.jl:56
 [12] include
    @ ./Base.jl:457 [inlined]
 [13] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
    @ Base ./loading.jl:2010
 [14] top-level scope
    @ stdin:2
in expression starting at /home/hluo9119/.julia/packages/ITensors/tVfAa/src/usings.jl:15
in expression starting at /home/hluo9119/.julia/packages/ITensors/tVfAa/src/ITensors.jl:1
in expression starting at stdin:2
ERROR: LoadError: Failed to precompile ITensors [9136182c-28ba-11e9-034c-db9fb085ebd5] to "/home/hluo9119/.julia/compiled/v1.9/ITensors/jl_OgBZsr".
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:35
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
   @ Base ./loading.jl:2260
 [3] compilecache
   @ ./loading.jl:2127 [inlined]
 [4] _require(pkg::Base.PkgId, env::String)
   @ Base ./loading.jl:1770
 [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
   @ Base ./loading.jl:1625
 [6] macro expansion
   @ ./loading.jl:1613 [inlined]
 [7] macro expansion
   @ ./lock.jl:267 [inlined]
 [8] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:1576
in expression starting at /project/RDS-FSC-rotational_code-RW/mytest/rocode/test1.jl:1

```

---

<div class="post-metadata">

**Author:** ![mtfishman](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/mtfishman/32/11_2.png) [@mtfishman](https://itensor.discourse.group/u/mtfishman)\
**Post date:** [April 17, 2024, 11:57am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/16 "2024-04-17T11:57:11Z")

</div>

Thanks for checking this. I see what’s going on, `NDTensors` is still dependent on `HDF5`, so when `ITensors` installs `NDTensors`, it in turn installs `HDF5`. We’ll have to do a similar change to `NDTensors` and move the `HDF5` code into an `NDTensorsHDF5Ext` package extension to make it an optional dependency. @miles

---

<div class="post-metadata">

**Author:** ![mtfishman](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/mtfishman/32/11_2.png) [@mtfishman](https://itensor.discourse.group/u/mtfishman)\
**Post date:** [April 17, 2024, 9:48pm UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/17 "2024-04-17T21:48:58Z")

</div>

@ARAM-TIME this should be fixed by [[NDTensors] HDF5 package extension by emstoudenmire · Pull Request #1390 · ITensor/ITensors.jl · GitHub](https://github.com/ITensor/ITensors.jl/pull/1390), which is being registered in a new NDTensors v0.3.1 now (so should be ready to download in 15 minutes or so).

---

<div class="post-metadata">

**Author:** ![ARAM-TIME](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/aram-time/32/506_2.png) [@ARAM-TIME](https://itensor.discourse.group/u/ARAM-TIME)\
**Post date:** [April 18, 2024, 4:22am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/18 "2024-04-18T04:22:51Z")

</div>

It works now! Thank you so much!

---

<div class="post-metadata">

**Author:** ![mtfishman](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/mtfishman/32/11_2.png) [@mtfishman](https://itensor.discourse.group/u/mtfishman)\
**Post date:** [April 18, 2024, 11:00am UTC](https://itensor.discourse.group/t/running-itensors-julia-on-glibc-2-12/1627/19 "2024-04-18T11:00:33Z")

</div>

Glad to hear it, thanks for the update! It’s definitely nicer to not force users to install HDF5 if they don’t need it.
