[llvm-dev] Build requirement changes missing from 12.0.0 release notes

310 views
Skip to first unread message

Gregory Szorc via llvm-dev

unread,
Apr 15, 2021, 6:38:57 PMApr 15
to llvm-dev
Thank you for the hard work on LLVM 12!

I build LLVM/Clang from source in a minimal Docker image based on Debian Jessie.

First, it appears Python 3 is now required to build. This requirement is not reflected at https://releases.llvm.org/12.0.0/docs/ReleaseNotes.html. Fortunately, it builds with Jessie's old Python 3.4 just fine, so this was easy enough to address.

Second, I got a compiler error during the build:

> FAILED: tools/lld/MachO/CMakeFiles/lldMachO2.dir/UnwindInfoSection.cpp.o
> /build/sccache /tools/host/bin/g++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/lld/MachO -I/build/llvm/tools/lld/MachO -I/build/llvm/tools/lld/include -Itools/lld/include -Iinclude -I/build/llvm/include -I/build/llvm/../libunwind/include -Wno-cast-function-type -fPIC -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -fno-rtti -std=c++14 -MD -MT tools/lld/MachO/CMakeFiles/lldMachO2.dir/UnwindInfoSection.cpp.o -MF tools/lld/MachO/CMakeFiles/lldMachO2.dir/UnwindInfoSection.cpp.o.d -o tools/lld/MachO/CMakeFiles/lldMachO2.dir/UnwindInfoSection.cpp.o -c /build/llvm/tools/lld/MachO/UnwindInfoSection.cpp
clang> In file included from /build/llvm/tools/lld/MachO/UnwindInfoSection.cpp:9:
clang> /build/llvm/tools/lld/MachO/UnwindInfoSection.h:15:10: fatal error: mach-o/compact_unwind_encoding.h: No such file or directory
>    15 | #include "mach-o/compact_unwind_encoding.h"
>         |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.

It looks like libunwind got split out into its own source archive. Extracting it to the appropriate directory made the build happy. But I was surprised there wasn't a CMake check either disabling the optional functionality or failing the build on missing libunwind.

I also see a handful of other source archives that might be new in 12.0. Was there any other functionality split out into new archives that would result in feature loss from prior versions if we fail to materialize the sources in the proper locations?

Great work on the release! These seem like minor hiccups.

Tom Stellard via llvm-dev

unread,
Apr 15, 2021, 7:22:28 PMApr 15
to Gregory Szorc, llvm-dev
On 4/15/21 2:52 PM, Gregory Szorc via llvm-dev wrote:
> Thank you for the hard work on LLVM 12!
>
> I build LLVM/Clang from source in a minimal Docker image based on Debian Jessie.
>
> First, it appears Python 3 is now required to build. This requirement is not reflected at https://releases.llvm.org/12.0.0/docs/ReleaseNotes.html <https://releases.llvm.org/12.0.0/docs/ReleaseNotes.html>. Fortunately, it builds with Jessie's old Python 3.4 just fine, so this was easy enough to address.
>
> Second, I got a compiler error during the build:
>
> > FAILED: tools/lld/MachO/CMakeFiles/lldMachO2.dir/UnwindInfoSection.cpp.o
> > /build/sccache /tools/host/bin/g++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/lld/MachO -I/build/llvm/tools/lld/MachO -I/build/llvm/tools/lld/include -Itools/lld/include -Iinclude -I/build/llvm/include -I/build/llvm/../libunwind/include -Wno-cast-function-type -fPIC -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -fno-rtti -std=c++14 -MD -MT tools/lld/MachO/CMakeFiles/lldMachO2.dir/UnwindInfoSection.cpp.o -MF tools/lld/MachO/CMakeFiles/lldMachO2.dir/UnwindInfoSection.cpp.o.d -o tools/lld/MachO/CMakeFiles/lldMachO2.dir/UnwindInfoSection.cpp.o
> -c /build/llvm/tools/lld/MachO/UnwindInfoSection.cpp
> clang> In file included from /build/llvm/tools/lld/MachO/UnwindInfoSection.cpp:9:
> clang> /build/llvm/tools/lld/MachO/UnwindInfoSection.h:15:10: fatal error: mach-o/compact_unwind_encoding.h: No such file or directory
> >    15 | #include "mach-o/compact_unwind_encoding.h"
> >         |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > compilation terminated.
>
> It looks like libunwind got split out into its own source archive. Extracting it to the appropriate directory made the build happy. But I was surprised there wasn't a CMake check either disabling the optional functionality or failing the build on missing libunwind.
>
> I also see a handful of other source archives that might be new in 12.0. Was there any other functionality split out into new archives that would result in feature loss from prior versions if we fail to materialize the sources in the proper locations?
>
> Great work on the release! These seem like minor hiccups.

Can you file bugs for these at bugs.llvm.org and put release-12.0.1 in the blocks field?

-Tom
>
> _______________________________________________
> LLVM Developers mailing list
> llvm...@lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>

_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Reply all
Reply to author
Forward
0 new messages