> 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
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev