<div dir="ltr">We've been using a configure-built libedit from <a href="http://thrysoee.dk/editline/">here</a>.  We essentially build that with something like "configure --prefix=/usr/local/libedit/libedit-20130712-3.1 && make && sudo make install".<div>
<br></div><div>We then run configure something like this:</div><div><br></div><div>export LIBEDIT_PATH=/usr/local/libedit/libedit-20130712-3.1</div><div>export LD_LIBRARY_PATH=<some_paths_to_gcc_4.8.2/lib64>:$LIBEDIT_PATH/lib:$LD_LIBRARY_PATH</div>
<div><br></div><div># assume ../llvm is the source tree: i.e. we're in a build directory that parallels the source tree</div><div>configure ../llvm --enable-cxx11 --with-extra-option=-I$LIBEDIT_PATH/include --with-extra-ld-options=-L$LIBEDIT_PATH/lib --prefix=<some_install_path></div>
<div><br></div><div>That's what we're doing now.  We could consider breaking out the libedit parts to the 2008-libedit spec and adding configure/cmake checks for it.  That might be a nice smallish project for somebody to knock out.<br>
<div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Feb 4, 2014 at 4:21 PM, Adam Strzelecki <span dir="ltr"><<a href="mailto:ono@java.pl" target="_blank">ono@java.pl</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">> 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).<br>

<br>
</div>The problem here is that any Ubuntu < 13.10 (which unfortunately includes 12.04 LTS we are using) use libedit<br>
2.11-20080614 while latest lldb source/Host/common/Editline.cpp relies on libedit 3.1 API (available only for 13.10).<br>
<br>
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.<br>
<br>
Currently my build here fails:<br>
<br>
/home/ono/Projects/llvm/tools/lldb/source/Host/common/Editline.cpp:70:27: error: use of undeclared identifier 'EL_PROMPT_ESC'<br>
    ::el_set (m_editline, EL_PROMPT_ESC, GetPromptCallback, k_prompt_escape_char);<br>
                          ^<br>
/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 *'<br>
        ::el_push(m_editline, std::string (bytes, len).c_str());<br>
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/usr/include/histedit.h:95:34: note: passing argument to parameter here<br>
void             el_push(EditLine *, char *);<br>
                                           ^<br>
/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 *'<br>
                            ::el_push (m_editline, lines[line_idx+1].c_str());<br>
                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~<br>
/usr/include/histedit.h:95:34: note: passing argument to parameter here<br>
void             el_push(EditLine *, char *);<br>
                                           ^<br>
/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 *'<br>
                            ::el_push (m_editline, lines[line_idx-1].c_str());<br>
                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~<br>
/usr/include/histedit.h:95:34: note: passing argument to parameter here<br>
void             el_push(EditLine *, char *);<br>
                                           ^<br>
/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 *'<br>
                        ::el_push (m_editline, lines[line_idx+1].c_str());<br>
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~<br>
/usr/include/histedit.h:95:34: note: passing argument to parameter here<br>
void             el_push(EditLine *, char *);<br>
                                           ^<br>
5 errors generated.<br>
<br>
Cheers,<br>
<span class="HOEnZb"><font color="#888888">--<br>
Adam</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small">
<td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td>
<td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td>
<td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</div>