Build failure with llvm/IR/Attributes.gen?

Hi everyone,

Starting a few days ago (between Sept 22nd and 23rd) my nightly builds including lldb starting failing:

In file included from /path/to/llvm/include/llvm/IR/Argument.h:19:0,
                 from /path/to/llvm/include/llvm/IR/Function.h:22,
                 from /path/to/llvm/include/llvm/IR/Module.h:21,
                 from /path/to/llvm/tools/lldb/include/lldb/Expression/IRExecutionUnit.h:22,
                 from /path/to/llvm/tools/lldb/source/Expression/ExpressionVariable.cpp:12:
/path/to/llvm/include/llvm/IR/Attributes.h:71:38: fatal error: llvm/IR/Attributes.gen: No such file or directory
     #include "llvm/IR/Attributes.gen"
                                      ^
compilation terminated.

This might be simply the result of some unexpressed dependency in the cmake files (my build uses make -j72, so it tends to find these kinds of issues when they come up). Any ideas?

Thanks again,
Hal

From: "Hal Finkel via lldb-dev" <lldb-dev@lists.llvm.org>
To: lldb-dev@lists.llvm.org
Sent: Thursday, September 29, 2016 2:51:03 PM
Subject: [lldb-dev] Build failure with llvm/IR/Attributes.gen?

Hi everyone,

Starting a few days ago (between Sept 22nd and 23rd) my nightly
builds including lldb starting failing:

In file included from /path/to/llvm/include/llvm/IR/Argument.h:19:0,
                 from /path/to/llvm/include/llvm/IR/Function.h:22,
                 from /path/to/llvm/include/llvm/IR/Module.h:21,
                 from
                 /path/to/llvm/tools/lldb/include/lldb/Expression/IRExecutionUnit.h:22,
                 from
                 /path/to/llvm/tools/lldb/source/Expression/ExpressionVariable.cpp:12:
/path/to/llvm/include/llvm/IR/Attributes.h:71:38: fatal error:
llvm/IR/Attributes.gen: No such file or directory
     #include "llvm/IR/Attributes.gen"
                                      ^
compilation terminated.

This might be simply the result of some unexpressed dependency in the
cmake files (my build uses make -j72, so it tends to find these
kinds of issues when they come up). Any ideas?

[+Chris B.]

Doing this seems to help:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 85d4b51..9615a3c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -765,9 +765,9 @@ add_subdirectory(utils/TableGen)
# an entire module might include header, which depends on intrinsics_gen. This
# should be right after LLVMSupport and LLVMTableGen otherwise we introduce a
# circular dependence.
-if (LLVM_ENABLE_MODULES)
+#if (LLVM_ENABLE_MODULES)
   list(APPEND LLVM_COMMON_DEPENDS intrinsics_gen)
-endif(LLVM_ENABLE_MODULES)
+#endif(LLVM_ENABLE_MODULES)

add_subdirectory(include/llvm)

but that does not seem like a real solution.

-Hal

Hal, thanks for the heads up. I just committed a patch that should resolve this in r282803.

Thanks!
-Chris

It's still broken for NetBSD

http://lab.llvm.org:8011/builders/lldb-amd64-ninja-netbsd7/builds/6775

This is a different missing dependency. I’ve committed r283081 to fix this one and another one that I found. Hopefully that should get things working.

-Chris

It works now, thank you!