[lldb-dev] Unable to build LLDB 4.0 on Debian Linux
Zachary Turner via lldb-dev
lldb-dev at lists.llvm.org
Mon May 15 03:57:56 PDT 2017
Again, this has nothing to do with our build files, it is in cmakes
internal builtin modules when it is trying to compile a program to see if a
symbol exists. This looks like a cmake bug, try upgrading cmake
On Mon, May 15, 2017 at 1:25 AM Pavel Labath <labath at google.com> wrote:
> Technically, it's the combination of -Werror and -pedantic which is
> causing the problem. Any single one of them would be fine :)
>
> I am not sure what could be the problem, LLDB's build files do not
> explicitly add any of these flags, so they must be coming from
> somewhere else. Without more information, it's hard to say from where.
> If you send me your cmake command line, I can try to reproduce the
> problem. Otherwise, you're pretty much on your own. All I can
> recommend is to try the --trace cmake argument, which may give you an
> idea where are those flags coming from.
>
> pl
>
> On 12 May 2017 at 19:21, Andy Gibbs <andyg1001 at hotmail.co.uk> wrote:
> > Sorry not to have come back sooner.
> >
> >
> > The problem is not the -Werror (I think) but the -pedantic that gets
> added
> > during lldb configuration. Having looked through the cmake files, I
> cannot
> > see how this is added though. Interestingly enough the backtrace
> detection
> > is run earlier in configuration, possibly in the llvm part itself, where
> it
> > passes without problem. The only difference in the log file is that
> earlier
> > on there is no -pedantic option given.
> >
> >
> > Also, although this is an aside, if clang is the compiler, it also passes
> > (with the -pedantic). Problem is, then I need to build clang to build
> clang
> > :o)
> >
> >
> > Cheers,
> >
> > Andy
> >
> >
> >
> > ________________________________
> > From: Zachary Turner <zturner at google.com>
> > Sent: 02 May 2017 13:50
> > To: Pavel Labath; Andy Gibbs
> > Cc: lldb-dev at lists.llvm.org
> > Subject: Re: [lldb-dev] Unable to build LLDB 4.0 on Debian Linux
> >
> > This is in cmake detection code though, the options you set for your
> build
> > have no bearing there right?
> >
> > This looks like a bug in cmake to me, perhaps a newer cmake version can
> fix
> > it?
> > On Tue, May 2, 2017 at 3:24 AM Pavel Labath via lldb-dev
> > <lldb-dev at lists.llvm.org> wrote:
> >>
> >> 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
> >> >
> >> _______________________________________________
> >> lldb-dev mailing list
> >> lldb-dev at lists.llvm.org
> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20170515/c2016e67/attachment-0001.html>
More information about the lldb-dev
mailing list