[lldb-dev] How to compile lldb?

Arne Schmitz arne.schmitz at aixigo.de
Fri Nov 21 07:30:55 PST 2014


Hi Vince,

thanks for the response. I am set on Debian Stable, and cannot use a 
different system. As I said, I already build clang snapshot, and libcxx 
snapshot. Plus I am already building lldb using said clang. But now I 
just need to tell the build system to use the libcxx I have just built 
as well. How can I do this?

Best regards,

Arne

On 11/21/2014 04:09 PM, Vince Harron wrote:
>
> Hi Arne,
>
> I think you're going to need GCC 4.8.2 (that's what I use).  There may 
> be other dependencies, Ubuntu 14.04 is known to work with a minimum of 
> effort.
>
> Vince
>
> On Nov 21, 2014 1:03 AM, "Arne Schmitz" <arne.schmitz at aixigo.de 
> <mailto:arne.schmitz at aixigo.de>> wrote:
>
>     Hi everybody,
>
>     I am still trying to build lldb on Debian Stable. I configured
>     cmake like this:
>
>     cmake -DCMAKE_BUILD_TYPE="Release"
>     -DCMAKE_C_COMPILER=/export/source/clang/bin/clang
>     -DCMAKE_CXX_COMPILER=/export/source/clang/bin/clang++
>     -DCMAKE_INSTALL_PREFIX=/export/source/clang ..
>
>     However, I think that the build tries to use my c++ stdlib
>     provided by the system gcc 4.7, and that this is the cause of the
>     error:
>
>     [ 91%] Building CXX object
>     tools/lldb/source/Plugins/Process/Linux/CMakeFiles/lldbPluginProcessLinux.dir/ThreadStateCoordinator.cpp.o
>     In file included from
>     /export/source/git/llvm/tools/lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.cpp:17:
>     In file included from
>     /export/source/git/llvm/tools/lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.h:13:
>     In file included from
>     /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/condition_variable:38:
>     /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/chrono:540:6:
>     error: no matching constructor for initialization of 'duration' (aka
>           'std::chrono::duration<long, std::ratio<1, 1000000> >')
>               : __d(__t.time_since_epoch())
>                 ^   ~~~~~~~~~~~~~~~~~~~~~~
>     /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/condition_variable:111:42:
>     note: in instantiation of function template specialization
>           'std::chrono::time_point<std::chrono::system_clock,
>     std::chrono::duration<long, std::ratio<1, 1000000> >
>           >::time_point<std::chrono::duration<long, std::ratio<1,
>     1000000000> > >' requested here
>             const __clock_t::time_point __s_atime = __s_entry + __delta;
>                                                     ^
>     /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/chrono:234:12:
>     note: candidate constructor not viable: no known conversion from
>           'duration<[...], ratio<[...], 1000000000>>' to 'const
>     duration<[...], ratio<[...], 1000000>>' for 1st argument
>             constexpr duration(const duration&) = default;
>                       ^
>     /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/chrono:237:19:
>     note: candidate template ignored: disabled by 'enable_if' [with
>     _Rep2 =
>           std::chrono::duration<long, std::ratio<1, 1000000000> >]
>                    enable_if<is_convertible<_Rep2, rep>::value
>                              ^
>     /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/chrono:244:19:
>     note: candidate template ignored: disabled by 'enable_if' [with
>     _Rep2 =
>           long, _Period2 = std::ratio<1, 1000000000>]
>     enable_if<treat_as_floating_point<rep>::value
>                              ^
>     /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/chrono:232:12:
>     note: candidate constructor not viable: requires 0 arguments, but
>     1 was
>           provided
>             constexpr duration() : __r() { }
>                       ^
>     1 error generated.
>     make[2]: ***
>     [tools/lldb/source/Plugins/Process/Linux/CMakeFiles/lldbPluginProcessLinux.dir/ThreadStateCoordinator.cpp.o]
>     Error 1
>     make[1]: ***
>     [tools/lldb/source/Plugins/Process/Linux/CMakeFiles/lldbPluginProcessLinux.dir/all]
>     Error 2
>     make: *** [all] Error 2
>
>     I also compiled and installed libcxx, so maybe I should switch to
>     that? How do I do that?
>
>     Best regards,
>
>     Arne
>
>     -- 
>     aixigo AG - einfach. besser. beraten.
>     Karl-Friedrich-Straße 68, 52072 Aachen, Germany
>     fon: +49 (0)241 559709-66 <tel:%2B49%20%280%29241%20559709-66>,
>     fax: +49 (0)241 559709-99 <tel:%2B49%20%280%29241%20559709-99>
>     eMail: arne.schmitz at aixigo.de <mailto:arne.schmitz at aixigo.de>,
>     web: http://www.aixigo.de
>
>     Amtsgericht Aachen - HRB 8057
>     Vorstand: Erich Borsch, Christian Friedrich, Tobias Haustein
>     Vors. des Aufsichtsrates: Prof. Dr. Rüdiger von Nitzsch
>
>     _______________________________________________
>     lldb-dev mailing list
>     lldb-dev at cs.uiuc.edu <mailto:lldb-dev at cs.uiuc.edu>
>     http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>


-- 
aixigo AG - einfach. besser. beraten.
Karl-Friedrich-Straße 68, 52072 Aachen, Germany
fon: +49 (0)241 559709-66, fax: +49 (0)241 559709-99
eMail: arne.schmitz at aixigo.de, web: http://www.aixigo.de

Amtsgericht Aachen - HRB 8057
Vorstand: Erich Borsch, Christian Friedrich, Tobias Haustein
Vors. des Aufsichtsrates: Prof. Dr. Rüdiger von Nitzsch




More information about the lldb-dev mailing list