[lldb-dev] Compiler requirements for compiling lldb?

Reid Kleckner rnk at google.com
Mon Jul 7 19:35:08 PDT 2014


Yes, gcc is important.  The build was broken by r212500:
http://llvm-amd64.freebsd.your.org/b/builders/lldb-amd64-freebsd/builds/2276

I just grabbed that link because it was in #llvm IRC.

IsValid needs to take a const ref in order to lifetime extend the temporary
parameter.  Or, maybe the code is broken some other way.


On Mon, Jul 7, 2014 at 7:11 PM, Randy Smith <rdsmith at chromium.org> wrote:

>
> Is there a goal of keeping lldb compatible with building with gcc?  I've
> been building successfully with gcc 4.8.2, but compiling at r212507 just
> broke with that gcc on a source line that was recently (today) changed.
>  Full log below; key excerpts here:
>
>
> /usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/source/Interpreter/Args.cpp:693:115:
> error: no matching function for call to
> ‘lldb_private::OptionValidator::IsValid(lldb_private::Platform&,
> lldb_private::ExecutionContext)’
>
>              if (validator &&
> !validator->IsValid(*interpreter.GetPlatform(true),
> interpreter.GetExecutionContext()))
>
> /usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/include/lldb/lldb-private-types.h:61:22:
> note:   no known conversion for argument 2 from
> ‘lldb_private::ExecutionContext’ to ‘lldb_private::ExecutionContext&’
>
>
> I'm happy to upgrade to compiling with clang if that's needed; I'm just
> wanting to confirm policy and call out that the web page instructions may
> need to be changed.
>
> (If this is pilot error on my part, sincere apologies for the spam.  But
> at the moment I don't see how it could be pilot error.)
>
> -- Randy
>
>
>
> FAILED: /usr/local/google/home/rdsmith/toolchains/bin/g++
> -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -D_DEBUG -D_GNU_SOURCE
> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC
> -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings
> -Wno-missing-field-initializers -pedantic -Wno-lo\
>
> ng-long -Wno-maybe-uninitialized -Wnon-virtual-dtor -Wno-comment
> -std=c++11 -ffunction-sections -fdata-sections -Wno-deprecated-declarations
> -Wno-unknown-pragmas -Wno-deprecated-register  -fno-exceptions -fno-rtti
> -fPIC -g -Itools/lldb/source/Interpreter
> -I/usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/s\
>
> ource/Interpreter
> -I/usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/include
> -Itools/lldb/include -Iinclude
> -I/usr/local/google/home/rdsmith/Sandboxen/llvm/include
> -I/usr/include/python2.7
> -I/usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/../clang/include
> -Itools/lldb/../clang/include -I/usr/local\
>
> /google/home/rdsmith/Sandboxen/llvm/tools/lldb/source/.
> -I/usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/source/Plugins/Process/Linux
> -I/usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/source/Plugins/Process/POSIX
>   -fno-exceptions -fno-rtti -MMD -MT
> tools/lldb/source/Interpreter/CMakeFiles/lldb\
>
> Interpreter.dir/Args.cpp.o -MF
> tools/lldb/source/Interpreter/CMakeFiles/lldbInterpreter.dir/Args.cpp.o.d
> -o tools/lldb/source/Interpreter/CMakeFiles/lldbInterpreter.dir/Args.cpp.o
> -c
> /usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/source/Interpreter/Args.cpp
>
>
>
> /usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/source/Interpreter/Args.cpp:
> In member function ‘lldb_private::Error
> lldb_private::Args::ParseOptions(lldb_private::Options&)’:
>
>
>
>
> */usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/source/Interpreter/Args.cpp*
> :693:115: error: no matching function for call to
> ‘lldb_private::OptionValidator::IsValid(lldb_private::Platform&,
> lldb_private::ExecutionContext)’
>
>
>              if (validator &&
> !validator->IsValid(*interpreter.GetPlatform(true),
> interpreter.GetExecutionContext()))
>
>
>
>
>
>                                         ^
>
>
>
>
>
> */usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/source/Interpreter/Args.cpp*
> :693:115: note: candidate is:
>
>
>
>
> In file included from
> */usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/include/lldb/Interpreter/Args.h:22*
> :0,
>
>
>
>                  from
> */usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/source/Interpreter/Args.cpp*
> :17:
>
>
>
>
> */usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/include/lldb/lldb-private-types.h*
> :61:22: note: virtual bool
> lldb_private::OptionValidator::IsValid(lldb_private::Platform&,
> lldb_private::ExecutionContext&) const
>
>
>          virtual bool IsValid(Platform &platform, ExecutionContext
> &target) const = 0;
>
>
>
>
>                       ^
>
>
>
>
>
>
> */usr/local/google/home/rdsmith/Sandboxen/llvm/tools/lldb/include/lldb/lldb-private-types.h*
> :61:22: note:   no known conversion for argument 2 from
> ‘lldb_private::ExecutionContext’ to ‘lldb_private::ExecutionContext&’
>
>
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140707/a25699b5/attachment.html>


More information about the lldb-dev mailing list