[lldb-dev] LLDB buildbot state

Adam Strzelecki ono at java.pl
Tue Feb 4 16:21:56 PST 2014


> I've not been looking at the linux one.  However, I am in the process of fixing something in llvm that is broken due to unexpected interactions between libedit, libbsd and <bsd/stdlib.h> on Ubuntu (and probably other linux variants that might implement libedit in terms of libbsd).

The problem here is that any Ubuntu < 13.10 (which unfortunately includes 12.04 LTS we are using) use libedit 
2.11-20080614 while latest lldb source/Host/common/Editline.cpp relies on libedit 3.1 API (available only for 13.10).

I presume that Ubuntu < 13.10 builds should use their own libedit 3.1 probably linked statically, but I have absolutely no idea how to configure that.

Currently my build here fails:

/home/ono/Projects/llvm/tools/lldb/source/Host/common/Editline.cpp:70:27: error: use of undeclared identifier 'EL_PROMPT_ESC'
    ::el_set (m_editline, EL_PROMPT_ESC, GetPromptCallback, k_prompt_escape_char);
                          ^
/home/ono/Projects/llvm/tools/lldb/source/Host/common/Editline.cpp:265:31: error: cannot initialize a parameter of type 'char *' with an rvalue of type 'const char *'
        ::el_push(m_editline, std::string (bytes, len).c_str());
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/histedit.h:95:34: note: passing argument to parameter here
void             el_push(EditLine *, char *);
                                           ^
/home/ono/Projects/llvm/tools/lldb/source/Host/common/Editline.cpp:341:52: error: cannot initialize a parameter of type 'char *' with an rvalue of type 'const char *'
                            ::el_push (m_editline, lines[line_idx+1].c_str());
                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/histedit.h:95:34: note: passing argument to parameter here
void             el_push(EditLine *, char *);
                                           ^
/home/ono/Projects/llvm/tools/lldb/source/Host/common/Editline.cpp:357:52: error: cannot initialize a parameter of type 'char *' with an rvalue of type 'const char *'
                            ::el_push (m_editline, lines[line_idx-1].c_str());
                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/histedit.h:95:34: note: passing argument to parameter here
void             el_push(EditLine *, char *);
                                           ^
/home/ono/Projects/llvm/tools/lldb/source/Host/common/Editline.cpp:367:48: error: cannot initialize a parameter of type 'char *' with an rvalue of type 'const char *'
                        ::el_push (m_editline, lines[line_idx+1].c_str());
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/histedit.h:95:34: note: passing argument to parameter here
void             el_push(EditLine *, char *);
                                           ^
5 errors generated.

Cheers,
-- 
Adam



More information about the lldb-dev mailing list