Thanks, Adar! This is really tedious work, but it's much appreciated. - Dan
On Thu, Sep 29, 2016 at 11:06 AM, Adar Dembo <[email protected]> wrote: > All of the patches have been merged. Once you rebase, you'll probably > need the big hammer ('git clean -xdf thirdparty') to clean up your > local repo. Also, _PLEASE_ rebase all of your outstanding work before > pushing to gerrit; mixing code reviews from before this patch series > and after will cause long gerrit build times as well as inscrutable > build failures. > > Here's a quick summary of what changed: > 1. LLVM and cmake have both been upgraded (LLVM from 3.8 to 3.9 and > cmake from 3.2.3 to 3.6.1). > 2. The thirdparty tree is now organized into 'src', 'build', and > 'installed' subdirectories. > 3. All thirdparty dependencies are now rebuilt for TSAN (previously we > were only rebuilding a subset). However, TSAN dependencies are only > built if you're doing a TSAN build, so the net thirdparty build time > should decrease for most people. > 4. We now build TSAN using LLVM's libc++ instead of gcc 4.9.3 > libstdc++. This means TSAN builds will now work on Ubuntu 15.10 and > 16.04 (they were previously broken). > 5. On supported distros, Kudu and the thirdparty tree are now built > with the "new" gcc5 ABI > (https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html). > > > On Wed, Sep 28, 2016 at 3:10 PM, Jean-Daniel Cryans <[email protected]> > wrote: > > Thanks Adar. On RHEL6 removing thirdparty/installed* is what did it for > me. > > > > J-D > > > > On Wed, Sep 28, 2016 at 3:04 PM, Adar Dembo <[email protected]> wrote: > > > >> I'm working on a pretty large series of changes to Kudu's thirdparty > >> dependency tree. The first major piece > >> (https://gerrit.cloudera.org/#/c/4507) was merged last night and has > >> led to a Kudu build breakage for some people. The failure was in the > >> link step of kudu-tserver, with errors like the following: > >> > >> ../../../../../thirdparty/installed/lib/libLLVMAsmPrinter.a( > >> CodeViewDebug.cpp.o): > >> In function `llvm::CodeViewDebug::CodeViewDebug(llvm::AsmPrinter*)': > >> CodeViewDebug.cpp:(.text._ZN4llvm13CodeViewDebugC2EPNS_ > >> 10AsmPrinterE+0x37): > >> undefined reference to > >> `llvm::codeview::TypeTableBuilder::TypeTableBuilder()' > >> CodeViewDebug.cpp:(.text._ZN4llvm13CodeViewDebugC2EPNS_ > >> 10AsmPrinterE+0x3e): > >> undefined reference to `vtable for > >> llvm::codeview::MemoryTypeTableBuilder' > >> > >> If you see this, you can work around it by deleting > >> thirdparty/installed* and running thirdparty/build-if-necessary.sh > >> again. That's the small hammer. If that doesn't work, try the big > >> hammer: "git clean -xdf thirdparrty" followed by > >> thirdparty/build-if-necessary.sh. > >> > >> I'll be merging some additional changes in the days to come, though > >> I'll be taking care to avoid causing additional breakages. When > >> everything is committed I'll send another heads-up email. > >> >
