[all-commits] [llvm/llvm-project] 235332: [lldb][Docs] Add Curses version note to build page

David Spickett via All-commits all-commits at lists.llvm.org
Fri Mar 8 03:33:50 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 235332150d52d11b340a10be1bb88432d2cf4179
      https://github.com/llvm/llvm-project/commit/235332150d52d11b340a10be1bb88432d2cf4179
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M lldb/docs/resources/build.rst

  Log Message:
  -----------
  [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 at 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.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list