# Build of master fails in new openSUSE Leap 15: llvm undefined references

**URL:** <https://discourse.julialang.org/t/build-of-master-fails-in-new-opensuse-leap-15-llvm-undefined-references/11163>\
**Category:** Internals & Design\
**Created:** [May 26, 2018, 11:58am UTC](https://discourse.julialang.org/t/build-of-master-fails-in-new-opensuse-leap-15-llvm-undefined-references/11163 "2018-05-26T11:58:54Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Colin\_Beckingham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/colin_beckingham/32/4878_2.png) [@Colin\_Beckingham](https://discourse.julialang.org/u/Colin_Beckingham)\
**Post date:** [May 26, 2018, 11:58am UTC](https://discourse.julialang.org/t/build-of-master-fails-in-new-opensuse-leap-15-llvm-undefined-references/11163/1 "2018-05-26T11:58:54Z")

</div>

Yesterday openSUSE released Leap 15.0, upgrade from Leap 42.3. I upgraded and tried to build Julia from master, but process fails with a number of undefined references in llvm. The message “use make cleanall” was suggested but this did not resolve the issue. It’s possible that my observation just coincided with the release of Leap 15, compile of the master has failed intermittently a number of times recently. New openSUSE has gcc version 7.3.1 20180323 [gcc-7-branch revision 258812] (SUSE Linux). Typical error on make is:  
`/home/colin/Downloads/julia7/usr/lib/libjulia.so: undefined reference to `llvm::RTDyldMemoryManager::getPointerToNamedFunction(std::\_\_cxx11::basic\_string\<char, std::char\_traits, std::allocator \> const&, bool)'`  
Would you like a full report on this?

---

<div class="post-metadata">

**Author:** ![nalimilan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nalimilan/32/147_2.png) [@nalimilan](https://discourse.julialang.org/u/nalimilan)\
**Post date:** [May 26, 2018, 12:30pm UTC](https://discourse.julialang.org/t/build-of-master-fails-in-new-opensuse-leap-15-llvm-undefined-references/11163/2 "2018-05-26T12:30:15Z")

</div>

I’ve seen similar errors when building Fedora RPMs. The advice to use `make cleanall` is irrelevant when you build from a clean tree. IIRC I suspected it was due to setting `prefix` and other directories, but I haven’t investigated further because I now set `USE_SYSTEM_LLVM=1` again, which works around the problem. If you can confirm it’s related to using custom paths, it would be helpful.

---

<div class="post-metadata">

**Author:** ![Colin\_Beckingham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/colin_beckingham/32/4878_2.png) [@Colin\_Beckingham](https://discourse.julialang.org/u/Colin_Beckingham)\
**Post date:** [May 26, 2018, 12:49pm UTC](https://discourse.julialang.org/t/build-of-master-fails-in-new-opensuse-leap-15-llvm-undefined-references/11163/3 "2018-05-26T12:49:47Z")

</div>

No custom paths as far as I am aware. Just refresh from git into /home/…/Downloads, make and make testall.

---

<div class="post-metadata">

**Author:** ![nalimilan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nalimilan/32/147_2.png) [@nalimilan](https://discourse.julialang.org/u/nalimilan)\
**Post date:** [May 26, 2018, 5:25pm UTC](https://discourse.julialang.org/t/build-of-master-fails-in-new-opensuse-leap-15-llvm-undefined-references/11163/4 "2018-05-26T17:25:04Z")

</div>

So you mean vanilla `make`, without any options at all? And from a clean git repository?

---

<div class="post-metadata">

**Author:** ![Colin\_Beckingham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/colin_beckingham/32/4878_2.png) [@Colin\_Beckingham](https://discourse.julialang.org/u/Colin_Beckingham)\
**Post date:** [May 26, 2018, 7:37pm UTC](https://discourse.julialang.org/t/build-of-master-fails-in-new-opensuse-leap-15-llvm-undefined-references/11163/5 "2018-05-26T19:37:25Z")

</div>

Yes, plain vanilla make.  
The issue is resolved by re-cloning julia master and starting from scratch.  
Painfully long process, but it works.

---

<div class="post-metadata">

**Author:** ![nalimilan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nalimilan/32/147_2.png) [@nalimilan](https://discourse.julialang.org/u/nalimilan)\
**Post date:** [May 26, 2018, 8:50pm UTC](https://discourse.julialang.org/t/build-of-master-fails-in-new-opensuse-leap-15-llvm-undefined-references/11163/6 "2018-05-26T20:50:16Z")

</div>

OK. Then it will be hard to fix, without a reliable way of reproducing the bug from a clean tree.

---

<div class="post-metadata">

**Author:** ![isuruf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/isuruf/32/106_2.png) [@isuruf](https://discourse.julialang.org/u/isuruf)\
**Post date:** [May 31, 2018, 1:42am UTC](https://discourse.julialang.org/t/build-of-master-fails-in-new-opensuse-leap-15-llvm-undefined-references/11163/7 "2018-05-31T01:42:02Z")

</div>

Whenever you see undefined reference and  
`std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&`  
it means that you are mixing C++ libraries compiled with `gcc/libstdc++` 4 ABI and `gcc/libstdc++` 5+ ABI.

Your old version probably had gcc 4.x and when you upgraded you got gcc 7.3. Since LLVM was not recompiled, this error showed up.

---

<div class="post-metadata">

**Author:** ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)\
**Post date:** [June 1, 2018, 11:13pm UTC](https://discourse.julialang.org/t/build-of-master-fails-in-new-opensuse-leap-15-llvm-undefined-references/11163/8 "2018-06-01T23:13:29Z")

</div>

Just one question, why don’t you use the official package? I have update Julia to v0.6.2 in Leap 15.0 (v0.6.3 will be submitted in the following days) and it is building fine.

Never mind, saw just now that you are building the v0.7.
