diff options
author | David Spickett <david.spickett@linaro.org> | 2024-03-08 11:27:54 +0000 |
---|---|---|
committer | David Spickett <david.spickett@linaro.org> | 2024-03-08 11:33:17 +0000 |
commit | 235332150d52d11b340a10be1bb88432d2cf4179 (patch) | |
tree | 6d3eadd60313a1dd40b708b8559ef0dcbad8e180 /lldb/docs | |
parent | 6a0618a0289cb0c23ef3e5c820418650cc1d0fdc (diff) | |
download | llvm-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.rst | 7 |
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 ******* |