Gregory Szorc via llvm-dev
2021-Apr-15 21:52 UTC
[llvm-dev] Build requirement changes missing from 12.0.0 release notes
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. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210415/8ea6a395/attachment.html>
Tom Stellard via llvm-dev
2021-Apr-15 23:22 UTC
[llvm-dev] Build requirement changes missing from 12.0.0 release notes
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-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >