Maybe make it a dependency of the `check-lldb` target instead of the `lldb` target?
On Fri, Oct 27, 2017 at 1:26 PM Davide Italiano <dccitali...@gmail.com> wrote: > I'm testing with the following change. > Should I shove the dependency instead in test/CmakeLists.txt ? > > $ git diff HEAD > diff --git a/CMakeLists.txt b/CMakeLists.txt > index c6b082e..b6d24f8 100644 > --- a/CMakeLists.txt > +++ b/CMakeLists.txt > @@ -65,6 +65,7 @@ if(LLDB_INCLUDE_TESTS) > if (TARGET clang) > set(LLDB_DEFAULT_TEST_C_COMPILER > "${LLVM_BINARY_DIR}/bin/clang${CMAKE_EXECUTABLE_SUFFIX}") > set(LLDB_DEFAULT_TEST_CXX_COMPILER > "${LLVM_BINARY_DIR}/bin/clang++${CMAKE_EXECUTABLE_SUFFIX}") > + add_dependencies(lldb clang) > else() > set(LLDB_DEFAULT_TEST_C_COMPILER "") > set(LLDB_DEFAULT_TEST_CXX_COMPILER "") > > Thanks! > > -- > Davide > > On Fri, Oct 27, 2017 at 1:16 PM, Zachary Turner <ztur...@google.com> > wrote: > > Agree we should just build clang as a dependency. We're already building > > most of it anyway since we require it for the expression parser, so > spitting > > out the executabatle as well should not be too controversial. > > > > On Fri, Oct 27, 2017 at 12:58 PM Davide Italiano via lldb-dev > > <lldb-dev@lists.llvm.org> wrote: > >> > >> Mind if I try to write a patch for this one or you want to do it? > >> > >> On Fri, Oct 27, 2017 at 12:56 PM, Pavel Labath <lab...@google.com> > wrote: > >> > Yes, listing clang as a dependency sounds like a good idea. > >> > > >> > On 27 October 2017 at 12:45, Davide Italiano <dccitali...@gmail.com> > >> > wrote: > >> >> So, I wiped out my directory for the build and then I created it > again > >> >> using > >> >> cmake -GNinja ../ > >> >> > >> >> I found out what the bug/problem is, BTW (was going to reply to this > >> >> e-mail but you've beaten me to the punch). > >> >> You switched LLDB to build with an in-tree clang, but ninja > check-lldb > >> >> doesn't really require clang to be built. > >> >> As such, once I cleaned up my checkout, I ended up typing just `ninja > >> >> check-lldb` and that failed because clang wasn't built. > >> >> I claim that `ninja check-lldb` should list clang as dependency when > >> >> we're running the tests with the in-tree clang. > >> >> WDYT? > >> >> > >> >> Thanks! > >> >> > >> >> -- > >> >> Davide > >> >> > >> >> > >> >> > >> >> On Fri, Oct 27, 2017 at 12:41 PM, Pavel Labath <lab...@google.com> > >> >> wrote: > >> >>> Did you clean your cmake cache before runinng this? Does > >> >>> '/home/davide/work/build-lldb/bin/clang' correctly refer to a clang > >> >>> binary you just built? > >> >>> > >> >>> On 27 October 2017 at 12:39, Davide Italiano <dccitali...@gmail.com > > > >> >>> wrote: > >> >>>> Yes, it seems `configuration.compiler` is None, so this explodes: > >> >>>> > >> >>>> [...] > >> >>>> if not is_exe(configuration.compiler): > >> >>>> > >> >>>> [...] > >> >>>> > >> >>>> On Fri, Oct 27, 2017 at 12:37 PM, Davide Italiano > >> >>>> <dccitali...@gmail.com> wrote: > >> >>>>> I think that this change (or some change nearby) broke > `check-lldb` > >> >>>>> on Fedora. > >> >>>>> > >> >>>>> I'm investigating, but in the meanwhile, here's the log. > >> >>>>> > >> >>>>> $ ninja check-lldb > >> >>>>> [2/2] Testing LLDB (parallel execution, with a separate subprocess > >> >>>>> per test) > >> >>>>> Traceback (most recent call last): > >> >>>>> File "/home/davide/work/llvm-lldb/tools/lldb/test/dotest.py", > line > >> >>>>> 7, in <module> > >> >>>>> lldbsuite.test.run_suite() > >> >>>>> File > >> >>>>> > "/home/davide/work/llvm-lldb/tools/lldb/packages/Python/lldbsuite/test/dotest.py", > >> >>>>> line 1099, in run_suite > >> >>>>> parseOptionsAndInitTestdirs() > >> >>>>> File > >> >>>>> > "/home/davide/work/llvm-lldb/tools/lldb/packages/Python/lldbsuite/test/dotest.py", > >> >>>>> line 282, in parseOptionsAndInitTestdirs > >> >>>>> if not is_exe(configuration.compiler): > >> >>>>> File > >> >>>>> > "/home/davide/work/llvm-lldb/tools/lldb/packages/Python/lldbsuite/test/dotest.py", > >> >>>>> line 54, in is_exe > >> >>>>> return os.path.isfile(fpath) and os.access(fpath, os.X_OK) > >> >>>>> File "/usr/lib64/python2.7/genericpath.py", line 37, in isfile > >> >>>>> st = os.stat(path) > >> >>>>> TypeError: coercing to Unicode: need string or buffer, NoneType > >> >>>>> found > >> >>>>> FAILED: cd /home/davide/work/build-lldb/tools/lldb/test && > >> >>>>> /usr/bin/python2.7 > >> >>>>> /home/davide/work/llvm-lldb/tools/lldb/test/dotest.py -q > >> >>>>> --arch=x86_64 > >> >>>>> --executable /home/davide/work/build-lldb/bin/lldb -s > >> >>>>> /home/davide/work/build-lldb/lldb-test-traces -S nm -u CXXFLAGS -u > >> >>>>> CFLAGS -C /home/davide/work/build-lldb/bin/clang --env > >> >>>>> ARCHIVER=/usr/bin/ar --env OBJCOPY=/usr/bin/objcopy > >> >>>>> ninja: build stopped: subcommand failed. > >> >>>>> > >> >>>>> On Thu, Oct 26, 2017 at 7:18 PM, Pavel Labath via lldb-dev > >> >>>>> <lldb-dev@lists.llvm.org> wrote: > >> >>>>>> I am going to check in a change (D39215) which causes the > >> >>>>>> check-lldb > >> >>>>>> target to use the just-built clang for compiling the test > inferiors > >> >>>>>> (instead of the system compiler, which was the old default). The > >> >>>>>> main > >> >>>>>> reason for this is to provide better reproducibility of test > >> >>>>>> results > >> >>>>>> between different machines/developers, by removing one of the > main > >> >>>>>> sources of nondeterminism. This behavior can be overridden by > >> >>>>>> setting > >> >>>>>> the LLDB_TEST_C_COMPILER and LLDB_TEST_CXX_COMPILER cmake > >> >>>>>> variables. > >> >>>>>> > >> >>>>>> For the change to take effect you will need to clean your build > >> >>>>>> folder > >> >>>>>> (or at least, remove the affected variables from your > >> >>>>>> CMakeCache.txt). > >> >>>>>> After this you may observe a change in the test results from the > >> >>>>>> check-lldb run. > >> >>>>>> > >> >>>>>> Note that this change only affect cmake code -- if you run your > >> >>>>>> tests > >> >>>>>> by running dotest.py directly, nothing will change for you. > >> >>>>>> > >> >>>>>> regards, > >> >>>>>> pavel > >> >>>>>> _______________________________________________ > >> >>>>>> lldb-dev mailing list > >> >>>>>> lldb-dev@lists.llvm.org > >> >>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev > >> _______________________________________________ > >> lldb-dev mailing list > >> lldb-dev@lists.llvm.org > >> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev >
_______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev