[llvm-dev] (Thin)LTO llvm build
Teresa Johnson via llvm-dev
llvm-dev at lists.llvm.org
Wed Dec 21 09:10:40 PST 2016
On Wed, Dec 21, 2016 at 9:00 AM, Carsten Mattner <carstenmattner at gmail.com>
wrote:
> On Wed, Dec 21, 2016 at 2:55 PM, Teresa Johnson <tejohnson at google.com>
> wrote:
> > I think you can get this via "ninja -t commands bin/lldb-argdumper"
> > (this will give you a lot of output, all of the compilation commands
> > used to build that target). Or redo the build with -v to be sure.
>
> Unfortunately the old build tree is gone for space reclaim reasons. Sorry,
> I'll make sure to not nuke it the next time. I guess I thought the detailed
> error message would be enough.
>
> I didn't build again, but I did configure with the settings posted
> yesterday,
> and there's a warning which I'm unsure how to interpret and if it's a
> concern:
>
> ---
> CMake Warning at tools/lldb/cmake/modules/LLDBConfig.cmake:409 (message):
> You appear to be linking to libstdc++ version lesser than 4.9 without
> exceptions enabled. These versions of the library have an issue, which
> causes occasional lldb crashes. See
> <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59656> for details.
> Possible
> courses of action are:
>
> - use libstdc++ version 4.9 or newer
>
> - use libc++ (via LLVM_ENABLE_LIBCXX)
>
> - enable exceptions (via LLVM_ENABLE_EH)
>
> - ignore this warning and accept occasional instability
> Call Stack (most recent call first):
> tools/lldb/CMakeLists.txt:4 (include)
> ---
>
> libstdc++ is 6.2.1 so the CMake check seems wrong.
>
Or maybe it is picking up a different libstdc++ from somewhere else on your
system? Here's the check from the cmake file:
# There doesn't seem to be an easy way to check the library
version. Instead, we rely on the
# fact that std::set did not have the allocator constructor
available until version 4.9
check_cxx_source_compiles("
#include <set>
std::set<int> s = std::set<int>(std::allocator<int>());
int main() { return 0; }"
LLDB_USING_LIBSTDCXX_4_9)
So the version check isn't precise, but unless libstdc++ 6.2.1 doesn't have
this interface available, which seems unlikely, something else is going
wrong.
Teresa
>
> This prompted me to use -libstd=libc++ and -DLLVM_ENABLE_LIBCXX=ON,
> but for some reason Arch Linux packages llvm and clang in version 3.9.0
> but libc++ in 3.8.0, so I skipped it.
>
> Unless the above libstdc++ warning is a problem, I will build and report
> back when done.
>
--
Teresa Johnson | Software Engineer | tejohnson at google.com | 408-460-2413
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161221/84e621ff/attachment.html>
More information about the llvm-dev
mailing list