aboutsummaryrefslogtreecommitdiff
path: root/lldb/docs
diff options
context:
space:
mode:
authorDavid Spickett <david.spickett@linaro.org>2024-03-08 11:27:54 +0000
committerDavid Spickett <david.spickett@linaro.org>2024-03-08 11:33:17 +0000
commit235332150d52d11b340a10be1bb88432d2cf4179 (patch)
tree6d3eadd60313a1dd40b708b8559ef0dcbad8e180 /lldb/docs
parent6a0618a0289cb0c23ef3e5c820418650cc1d0fdc (diff)
downloadllvm-235332150d52d11b340a10be1bb88432d2cf4179.zip
llvm-235332150d52d11b340a10be1bb88432d2cf4179.tar.gz
llvm-235332150d52d11b340a10be1bb88432d2cf4179.tar.bz2
[lldb][Docs] Add Curses version note to build page
This explains a thing that hit me on FreeBSD because the base system has an ncursesw at one version and I installed from pkg another version that was simply ncurses (no wide char support). For whatever reason, when we pass -lcurses to the linker it ends up picking bits of both installs. This led to lldb crashing immediately if you tried to use the `gui` command. In a way that gave little information but I stumbled onto https://github.com/vifm/vifm/issues/325 which is very similar. ``` ec2-user@freebsd:~/build-llvm $ ldd ./bin/lldb | grep curses libncursesw.so.9 => /lib/libncursesw.so.9 (0x6a515206e000) libncurses.so.6 => /usr/local/lib/libncurses.so.6 (0x6a5158e86000) ``` We should only see one version, and it and libpanel etc should all have "w" or not have "w". This was not the case for my build. What I can see from the CMake side seemed fine, it found the pkg installed ncurses in /usr/local. Something else must decide that -lcurses should pull in the other one. Regardless, I don't know how to fix that but the solution for most people is just not to add another ncurses if they already have one. So I've added a note saying so, and how to check what your lldb is using.
Diffstat (limited to 'lldb/docs')
-rw-r--r--lldb/docs/resources/build.rst7
1 files changed, 7 insertions, 0 deletions
diff --git a/lldb/docs/resources/build.rst b/lldb/docs/resources/build.rst
index fe8e293..5f4d35c 100644
--- a/lldb/docs/resources/build.rst
+++ b/lldb/docs/resources/build.rst
@@ -85,6 +85,13 @@ commands below.
versions of python unusable. This primarily affects Windows, as debug builds of
LLDB must use debug python as well.
+.. note::
+ Installing multiple versions of Curses, particularly when only one is built with
+ wide character support, can cause lldb to be linked with an incorrect set of
+ libraries. If your system already has Curses, we recommend you use that version.
+ If you do install another one, use a tool like ``ldd`` to ensure only one version
+ of Curses is being used in the final ``lldb`` executable.
+
Windows
*******