You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kudu.apache.org by Adar Dembo <ad...@cloudera.com> on 2016/09/28 22:04:28 UTC

Heads-up: thirdparty tree changes may cause build breakages for a bit

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.

Re: Heads-up: thirdparty tree changes may cause build breakages for a bit

Posted by Alexey Serbin <as...@cloudera.com>.
That's immense!

Adar, thank you for doing this and keeping eye on gerrit's transitional
builds.


Best regards,

Alexey



On Thu, Sep 29, 2016 at 11:09 AM, Dan Burkert <da...@apache.org> wrote:

> Thanks, Adar!  This is really tedious work, but it's much appreciated.
>
> - Dan
>
> On Thu, Sep 29, 2016 at 11:06 AM, Adar Dembo <ad...@cloudera.com> 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 <jdcryans@apache.org
> >
> > 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 <ad...@cloudera.com> 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.
> > >>
> >
>

Re: Heads-up: thirdparty tree changes may cause build breakages for a bit

Posted by Dan Burkert <da...@apache.org>.
Thanks, Adar!  This is really tedious work, but it's much appreciated.

- Dan

On Thu, Sep 29, 2016 at 11:06 AM, Adar Dembo <ad...@cloudera.com> 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 <jd...@apache.org>
> 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 <ad...@cloudera.com> 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.
> >>
>

Re: Heads-up: thirdparty tree changes may cause build breakages for a bit

Posted by Adar Dembo <ad...@cloudera.com>.
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 <jd...@apache.org> 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 <ad...@cloudera.com> 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.
>>

Re: Heads-up: thirdparty tree changes may cause build breakages for a bit

Posted by Jean-Daniel Cryans <jd...@apache.org>.
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 <ad...@cloudera.com> 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.
>