pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lldb missing



On Mon, 1 May 2023 at 21:16, Nikita Ronja Gillmann <nikita%klang.is@localhost> wrote:
>
> Chavdar Ivanov transcribed 3.6K bytes:
> [...]
> >>
> >> I tried with and without CURSES_DEFAULT=ncurses, same result.
> >
> >In case someone is interested, I found out that if one has ncurses
> >installed, the lldb cmake build process finds it, despite the system
> >curses library being explicitly included in the package Makefile; even
> >if one forces CMAKE_ARGS+=    -DLLDB_DISABLE_CURSES:BOOL=TRUE in the
> >Makefile, ncurses is still discovered and the build fails.
> >
> >I was able to build it by hand-editing a couple of link.txt files in
> >the build directory to include libncurses and libterminfo.
> >
> >BTW similar happens with shells/fish if CURSES_DEFAULT is ncurses.
>
> Do you have diffs for that which you could send? It sounds like a
> possible bug.

Looks like it.

Pointless to show the diffs, as the two files in question have wc as follows:

       1     360   13221
/usr/pkgsrc/devel/lldb/work/lldb-15.0.7.src/build/source/API/CMakeFiles/liblldb.dir/link.txt
       1     191    6127
/usr/pkgsrc/devel/lldb/work/lldb-15.0.7.src/build/tools/lldb-server/CMakeFiles/lldb-server.dir/link.txt

I verified that the compilation of
/usr/pkgsrc/devel/lldb/work/lldb-15.0.7.src/source/Core/IOHandlerCursesGUI.cpp
selects indeed curses, as opposed to ncurses
(CURSES_HAVE_NCURSES_CURSES_H is off). I was not able to fix these two
link.txt files by referring to the shared libraries, either
libcurses.so+libterminfo.so or libncurses, both with -l and explicitly
on the line; it almost worked with libcurses.a+libterminfo.a, except
that it found one missing symbol (acs_map - indeed missing in the
system libraries but present in libncurses). So the build succeeded
only when i manually added - at the end of the long line -

   /usr/pkg/lib/libncurses.a

No idea how to patch it and even if this is any sort of temporary
solution. My guess is if I remove the ncurses package it *may* work
unpatched, the cmake somehow gets confused by the presence of ncurses
and even if the package Makefile refers to the system curses and
CURSES_DEFAULT is the system one, it configures it.

-- 
----


Home | Main Index | Thread Index | Old Index