# Problems with USE\_SYSTEM\_LLVM

**URL:** <https://discourse.julialang.org/t/problems-with-use-system-llvm/81790>\
**Category:** New to Julia\
**Tags:** question, compilation\
**Created:** [May 27, 2022, 3:00pm UTC](https://discourse.julialang.org/t/problems-with-use-system-llvm/81790 "2022-05-27T15:00:11Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![wheeheee](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wheeheee/32/36663_2.png) [@wheeheee](https://discourse.julialang.org/u/wheeheee)\
**Post date:** [May 27, 2022, 3:00pm UTC](https://discourse.julialang.org/t/problems-with-use-system-llvm/81790/1 "2022-05-27T15:00:11Z")

</div>

I was trying to build julia on master for Fedora x86\_64 with `USE_SYSTEM_LLVM=1` toggled in `Make.inc` (nothing else modified). When I use `make`, the outputs stop until the line below and don’t progress for some time so I `ctrl-c`ed.

```julia
PERL base/version_git.jl.phony
^Cmake[1]: *** [Makefile:258: /home/wheehee/julia/usr/lib/julia/libLLVM.so] Interrupt
make: *** [/home/wheehee/julia/Makefile:67: julia-base] Interrupt

```

`/home/wheehee/julia/usr/lib/julia/libLLVM.so` doesn’t exist and I’m not sure why make is trying to find it. Without touching this option, the build succeeds. What would I need to change for the build to succeed with this option?

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [May 27, 2022, 6:18pm UTC](https://discourse.julialang.org/t/problems-with-use-system-llvm/81790/2 "2022-05-27T18:18:40Z")

</div>

Just don’t use the system LLVM version. It will never work well with Julia. Why do you want to use it in the first place?

---

<div class="post-metadata">

**Author:** ![Elrod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/elrod/32/22461_2.png) [@Elrod](https://discourse.julialang.org/u/Elrod)\
**Post date:** [May 27, 2022, 6:43pm UTC](https://discourse.julialang.org/t/problems-with-use-system-llvm/81790/3 "2022-05-27T18:43:02Z")

</div>

> [@wheeheee](#):
>
> What would I need to change for the build to succeed with this option?

Note that even if the build succeeds, many Julia packages probably won’t work well, and they will refuse to accommodate `USE_SYSTEM_LLVM=1` should you find and report errors.

I say this from the side of a package developer not interested in supporting it (although I’d gladly accept PRs fixing problems).

I say this to discourage you, unless it is something you _really_ want and are willing to put in the work for.

If all you want is a newer LLVM, checkout [this PR](https://github.com/JuliaLang/julia/pull/45195).

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [May 27, 2022, 7:03pm UTC](https://discourse.julialang.org/t/problems-with-use-system-llvm/81790/4 "2022-05-27T19:03:18Z")

</div>

To add a bit to this, LLVM really cannot be viewed as “just some library” that Julia happens to use—it’s a deep and integral part of Julia’s implementation. The usage is far too deep and the LLVM API changes constantly. It’s rare for an unpatched LLVM release to not be somewhat broken with Julia. The only reason clang doesn’t have the same issue is because LLVM doesn’t get released until clang works.

---

<div class="post-metadata">

**Author:** ![wheeheee](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wheeheee/32/36663_2.png) [@wheeheee](https://discourse.julialang.org/u/wheeheee)\
**Post date:** [May 29, 2022, 5:14am UTC](https://discourse.julialang.org/t/problems-with-use-system-llvm/81790/5 "2022-05-29T05:14:12Z")

</div>

> [@Elrod](#):
>
> I say this to discourage you, unless it is something you _really_ want and are willing to put in the work for.

> [@Elrod](#):
>
> checkout [this PR](https://github.com/JuliaLang/julia/pull/45195).

Ah, ok, I guess I’m a little out of my depth here. For context, I was just playing around with make/Make.inc a little to see how it works and wondered if I misunderstood some of the build instructions provided. Thanks!
