[lldb-dev] Unable to build LLDB 4.0 on Debian Linux
Pavel Labath via lldb-dev
lldb-dev at lists.llvm.org
Tue May 2 03:24:19 PDT 2017
What's the cmake command you are using?
It sounds like you somehow ended up enabling -Werror, which is
confusing the backtrace-detection code (and probably most of the other
cmake compile checks).
One of the workarounds would be to disable -Werror.
pl
On 28 April 2017 at 22:36, Andy Gibbs via lldb-dev
<lldb-dev at lists.llvm.org> wrote:
> Hi,
>
>
> I am having a problem building the 4.0 release branch of LLDB on Debian
> Stretch. Cmake returns the following fault:
>
>
> -- LLDB version: 4.0.0
> -- Found LibXml2: /usr/lib/x86_64-linux-gnu/libxml2.so (found version
> "2.9.4")
> -- Performing Test HAVE_PROCESS_VM_READV
> -- Performing Test HAVE_PROCESS_VM_READV - Success
> -- Found Curses: /usr/lib/x86_64-linux-gnu/libcurses.so
> -- Looking for __GLIBCXX__
> -- Looking for __GLIBCXX__ - found
> -- Performing Test LLDB_USING_LIBSTDCXX_4_9
> -- Performing Test LLDB_USING_LIBSTDCXX_4_9 - Success
> -- Looking for backtrace
> -- Looking for backtrace - not found
> -- Could NOT find Backtrace (missing: Backtrace_LIBRARY)
> -- Found Doxygen: /usr/bin/doxygen (found version "1.8.13")
> -- Found SWIG: /usr/bin/swig3.0 (found version "3.0.10")
> -- Performing Test CXX_SUPPORTS_NO_MACRO_REDEFINED
> -- Performing Test CXX_SUPPORTS_NO_MACRO_REDEFINED - Success
> -- Symbols (liblldb): exporting all symbols from the lldb namespace
> CMake Error: The following variables are used in this project, but they
> are set to NOTFOUND.
> Please set them or make sure they are set and tested correctly in the
> CMake files:
> Backtrace_LIBRARY (ADVANCED)
> linked by target "liblldb" in directory
> clang-4.0/tools/lldb/source/API
> linked by target "LLDBBreakpointTests" in directory
> clang-4.0/tools/lldb/unittests/Breakpoint
> linked by target "LLDBCoreTests" in directory
> clang-4.0/tools/lldb/unittests/Core
> linked by target "EditlineTests" in directory
> clang-4.0/tools/lldb/unittests/Editline
> linked by target "ExpressionTests" in directory
> clang-4.0/tools/lldb/unittests/Expression
> linked by target "HostTests" in directory
> clang-4.0/tools/lldb/unittests/Host
> linked by target "InterpreterTests" in directory
> clang-4.0/tools/lldb/unittests/Interpreter
> linked by target "LanguageCPlusPlusTests" in directory
> clang-4.0/tools/lldb/unittests/Language/CPlusPlus
> linked by target "LLDBPlatformTests" in directory
> clang-4.0/tools/lldb/unittests/Platform
> linked by target "ProcessGdbRemoteTests" in directory
> clang-4.0/tools/lldb/unittests/Process/gdb-remote
> linked by target "LLDBMinidumpTests" in directory
> clang-4.0/tools/lldb/unittests/Process/minidump
> linked by target "ScriptInterpreterPythonTests" in directory
> clang-4.0/tools/lldb/unittests/ScriptInterpreter/Python
> linked by target "SymbolTests" in directory
> clang-4.0/tools/lldb/unittests/Symbol
> linked by target "SymbolFileDWARFTests" in directory
> clang-4.0/tools/lldb/unittests/SymbolFile/DWARF
> linked by target "UnwindAssemblyx86Tests" in directory
> clang-4.0/tools/lldb/unittests/UnwindAssembly/x86
> linked by target "UtilityTests" in directory
> clang-4.0/tools/lldb/unittests/Utility
>
> -- Configuring incomplete, errors occurred!
> See also "build-4.0/bootstrap/CMakeFiles/CMakeOutput.log".
> See also "build-4.0/bootstrap/CMakeFiles/CMakeError.log".
>
>
>
> The output from CMakeError.log is:
>
>
> Determining if the backtrace exist failed with the following output:
> Change Dir: build-4.0/bootstrap/CMakeFiles/CMakeTmp
>
> Run Build Command:"build-4.0/bin/ninja" "cmTC_1e735"
> [1/2] Building C object CMakeFiles/cmTC_1e735.dir/CheckSymbolExists.c.o
> FAILED: CMakeFiles/cmTC_1e735.dir/CheckSymbolExists.c.o
> /usr/bin/cc -fPIC -Wall -W -Wno-unused-parameter -Wwrite-strings
> -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-comment
> -Werror -Werror=date-time -ffunction-sections -fdata-sections -o
> CMakeFiles/cmTC_1e735.dir/CheckSymbolExists.c.o -c
> build-4.0/bootstrap/CMakeFiles/CMakeTmp/CheckSymbolExists.c
> build-4.0/bootstrap/CMakeFiles/CMakeTmp/CheckSymbolExists.c: In function
> ‘main’:
> build-4.0/bootstrap/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:11: error:
> ISO C forbids conversion of function pointer to object pointer type
> [-Werror=pedantic]
> return ((int*)(&backtrace))[argc];
> ^
> cc1: all warnings being treated as errors
> ninja: build stopped: subcommand failed.
>
> File build-4.0/bootstrap/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
> /* */
> #include <execinfo.h>
>
> int main(int argc, char** argv)
> {
> (void)argv;
> #ifndef backtrace
> return ((int*)(&backtrace))[argc];
> #else
> (void)argc;
> return 0;
> #endif
> }
>
>
> It seems that the detection routine is invalid. The gcc in use is 6.3.0.
> Anyone any idea how to fix / work around this problem?
>
>
> Many thanks,
>
>
> Andy
>
>
>
>
>
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>
More information about the lldb-dev
mailing list