<div dir="ltr"><div>After digging through makefiles, the issue is that on a new Linux install there is only libstdc++, and the CMakeLists file was sticking -nodefaultlibs in the link instructions.</div><div><br></div><div>So no c++ abi was present as you pointed out Jon (and that you for taking the time to respond, I appreciate it!)</div><div><br></div><div>Adding <span style="font-size:13px;color:rgb(36,39,41);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif">-DLIBCXX_CXX_ABI=libstdc++ to the top-level cmake invocation seems to have fixed the problem; I'm building now so we'll see.</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 11, 2017 at 12:53 PM, Jonathan Roelofs <span dir="ltr"><<a href="mailto:jonathan@codesourcery.com" target="_blank">jonathan@codesourcery.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On 10/11/17 7:36 AM, Derrick Johnson via cfe-dev wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
up vote0down votefavorite <<a href="https://stackoverflow.com/questions/46687323/linker-errors-building-libcxx-on-fresh-ubuntu-install#" rel="noreferrer" target="_blank">https://stackoverflow.com/que<wbr>stions/46687323/linker-errors-<wbr>building-libcxx-on-fresh-<wbr>ubuntu-install#</a>><br>
<<a href="https://stackoverflow.com/questions/46687323/linker-errors-building-libcxx-on-fresh-ubuntu-install#" rel="noreferrer" target="_blank">https://stackoverflow.com/que<wbr>stions/46687323/linker-errors-<wbr>building-libcxx-on-fresh-<wbr>ubuntu-install#</a>><span class=""><br>
        <br>
<br>
The directions I followed are here: <a href="https://clang.llvm.org/get_started.html" rel="noreferrer" target="_blank">https://clang.llvm.org/get_sta<wbr>rted.html</a> (steps 1-7, including the optional ones).<br>
<br>
I was very careful to type everything EXACTLY as specified (so all projects are in the correct directories).<br>
<br>
After I ran 'cmake', everything looked fine, no error messages.<br>
<br>
But when I try to build with 'make', when it gets to libcxx it has linker errors:<br>
<br></span>
|. . . [100%] Built target cxx_objects [100%] Linking CXX shared library ../../../lib/libc++.so CMakeFiles/cxx_objects.dir/__/<wbr>src/locale.cpp.o: In function `std::__1::(anonymous namespace)::__throw_runtime_er<wbr>ror(std::__1::basic_string<cha<wbr>r, std::__1::char_traits<char>, std::__1::allocator<char> > const&)': locale.cpp:(.text.unlikely._ZN<wbr>St3__112_GLOBAL__N_1L21__throw<wbr>_runtime_errorERKNS_12basic_<wbr>stringIcNS_11char_traitsIcEENS<wbr>_9allocatorIcEEEE+0xf): undefined reference to `__cxa_allocate_exception' locale.cpp:(.text.unlikely._ZN<wbr>St3__112_GLOBAL__N_1L21__throw<wbr>_runtime_errorERKNS_12basic_<wbr>stringIcNS_11char_traitsIcEENS<wbr>_9allocatorIcEEEE+0x33): undefined reference to `__cxa_throw' locale.cpp:(.text.unlikely._ZN<wbr>St3__112_GLOBAL__N_1L21__throw<wbr>_runtime_errorERKNS_12basic_<wbr>stringIcNS_11char_traitsIcEENS<wbr>_9allocatorIcEEEE+0x3e): undefined reference to `__cxa_free_exception' CMakeFiles/cxx_objects.dir/__/<wbr>src/locale.cpp.o: In function `std::__1::ctype_byname<wchar_<wbr>t>::do_widen(char) const': locale.cpp:(.text._ZNKSt3__112<wbr>ctype_bynameIwE8do_widenEc+0x4<wbr>3): undefined reference to `__cxa_call_unexpected' CMakeFiles/cxx_objects.dir/__/<wbr>src/locale.cpp.o: In function `std::__1::ctype_byname<wchar_<wbr>t>::do_widen(char const*, char const*, wchar_t*) const': locale.cpp:(.text._ZNKSt3__112<wbr>ctype_bynameIwE8do_widenEPKcS3<wbr>_Pw+0x7a): undefined reference to `__cxa_call_unexpected' CMakeFiles/cxx_objects.dir/__/<wbr>src/locale.cpp.o: In function `std::__1::ctype_byname<wchar_<wbr>t>::do_narrow(wchar_t, char) const': locale.cpp:(.text._ZNKSt3__112<wbr>ctype_bynameIwE9do_narrowEwc+<wbr>0x46): undefined reference to `__cxa_call_unexpected' CMakeFiles/cxx_objects.dir/__/<wbr>src/locale.cpp.o: In function `std::__1::ctype_byname<wchar_<wbr>t>::do_narrow(wchar_t const*, wchar_t const*, char, char*) const': locale.cpp:(.text._ZNKSt3__112<wbr>ctype_bynameIwE9do_narrowEPKwS<wbr>3_cPc+0x8d): undefined reference to `__cxa_call_unexpected' CMakeFiles/cxx_objects.dir/__/<wbr>src/locale.cpp.o: In function `std::__1::locale::__imp::use_<wbr>facet(long) const [clone .part.18]': locale.cpp:(.text.unlikely._ZN<wbr>KSt3__16locale5__imp9use_facet<wbr>El.part.18+0x7): undefined reference to `__cxa_allocate_exception' locale.cpp:(.text.unlikely._ZN<wbr>KSt3__16locale5__imp9use_facet<wbr>El.part.18+0x28): undefined reference to `__cxa_throw' CMakeFiles/cxx_objects.dir/__/<wbr>src/locale.cpp.o: In function `std::__1::__time_get_c_storag<wbr>e<char>::__weeks() const': locale.cpp:(.text._ZNKSt3__120<wbr>__time_get_c_storageIcE7__week<wbr>sEv+0x21): undefined reference to `__cxa_guard_acquire' locale.cpp:(.text._ZNKSt3__120<wbr>__time_get_c_storageIcE7__week<wbr>sEv+0x167): undefined reference to `__cxa_guard_release' locale.cpp:(.text._ZNKSt3__120<wbr>__time_get_c_storageIcE7__week<wbr>sEv+0x178): undefined reference to `__cxa_guard_acquire' locale.cpp:(.text._ZNKSt3__120<wbr>__time_get_c_storageIcE7__week<wbr>sEv+0x35a): undefined reference to `__cxa_guard_release' locale.cpp:(.text._ZNKSt3__120<wbr>__time_get_c_storageIcE7__week<wbr>sEv+0x383): undefined reference to `__cxa_guard_abort' . . . |'<br>
</blockquote>
<br>
These missing symbols are things from the c++ abi library, i.e. either libcxxabi, libcxxrt, or libsupc++, depending on your platform.<br>
<br>
<br>
Jon<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
<br>
Fresh Ubuntu 17.04 install (X86) with the preinstalled gcc being used to build.<br>
<br>
(neither clang nor libc++ are present in the default 17.04 release).<br>
<br>
<br></span>
------------------------------<wbr>------------------------------<wbr>------------<br>
<br>
This message is intended only for the use of the individual or entity to which it is addressed, and may contain private and confidential information. If you are not the intended recipient of this message you are hereby notified that any review, dissemination, distribution or copying of this message is strictly prohibited. If you have received this e-mail in error, please immediately notify the sender by replying to this e-mail and delete the message and any attachment(s) from your system. This communication is for information purposes only and should not be regarded as an offer to sell or as a solicitation of an offer to buy any financial product, an official confirmation of any transaction, or as an official statement of Trexquant Investment LP. All information is subject to change without notice.<br>
<br>
<br>
______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
<br><span class="HOEnZb"><font color="#888888">
</font></span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
-- <br>
Jon Roelofs<br>
<a href="mailto:jonathan@codesourcery.com" target="_blank">jonathan@codesourcery.com</a><br>
CodeSourcery / Mentor Embedded / Siemens<br>
</font></span></blockquote></div><br></div>

<br>
<div><hr></div><font face="Arial, Helvetica, sans-serif"><span style="font-size:13px"><div><font face="Arial, Helvetica, sans-serif"><span style="font-size:13px"><br></span></font></div>This message is intended only for the use of the individual or entity to which it is addressed, and may contain private and confidential information. If you are not the intended recipient of this message you are hereby notified that any review, dissemination, distribution or copying of this message is strictly prohibited. If you have received this e-mail in error, please immediately notify the sender by replying to this e-mail and delete the message and any attachment(s) from your system. This communication is for information purposes only and should not be regarded as an offer to sell or as a solicitation of an offer to buy any financial product, an official confirmation of any transaction, or as an official statement of Trexquant Investment LP. All information is subject to change without notice.</span></font>