Linux Build Errors w/ LLDB

I’m running into these errors while building Linux LLDB with clang 3.3 right now and r192738 for llvm, clang, and lldb:

/home/mikesart/data/src/llvm.svn/llvm/tools/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp:114:18: error: redefinition of ‘Initialize’
/home/mikesart/data/src/llvm.svn/llvm/tools/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp:133:18: error: redefinition of ‘Terminate’

To fix these, I had to undo the change in r192724 (see down below).

I’m also now hitting this error when linking after I fixed the above two though:

/usr/lib/gcc/x86_64-linux-gnu/4.6/…/…/…/…/include/c++/4.6/chrono:535:6: error: no matching constructor for initialization of ‘duration’ (aka ‘std::chrono::duration<long, std::ratio<1, 1000000> >’)
: __d(__t.time_since_epoch())
^ ~~~~~~~~~~~~~~~~~~~~~~

Anyone else seeing this?

that is correct

I did make the changes to Init/Terminate because somehow the OSX build was confused as to the absence of a definition at link-time. I sent an email to the list asking if anyone had a proper fix for the issue, however to no avail yet
I am planning to see what is wrong there ASAP today, but if this is blocking you more critically, feel free to revert while I take a closer look

With that said, I am not sure what the other problem is, a GCC bug maybe?

Enrico Granata
:envelope_with_arrow: egranata@.com
:phone: 27683

With that said, I am not sure what the other problem is, a GCC bug maybe?

I’m using Clang 3.3, but this looks like it might be a bug with libstdc++ 4.6 (see bottom entry on this page):

Drat. If this is the case, it’s going to cause a lot of people on Ubuntu 12.04 some pain.

In any case, I’ve reverted back to r192702 for now and am working from there - so I’m not blocked at the moment. Not able to sync really either though. :slight_smile:

I’m also behind a firewall here at Valve so I can’t check to see what the Linux buildbot is doing - I’m guessing it’s broken as well?

Thanks Enrico.

Thanks Enrico for fixing the OSX build.

We had built on Linux and Windows without issues.
Will look into the issue ASAP.


Yes - the Linux and FreeBSD buildbots are both failing the same way.
PlatformWindows.cpp:114:18: error: redefinition of 'Initialize'

I don't see the problem with the stock FreeBSD 10 toolchain on my
laptop, with clang and libc++.

Given some of the ABI differences I'm reading about on Linux with libc++
and libstdc++, I assume it's a bad idea to build the LLDB so with libc++ on
this platform?

If so, that means we'd need to install gcc 4.7 or gcc 4.8 to build on
Ubuntu 12.04 now, and that's decently painful.