pkgsrc-Users archive

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

Re: lldb missing



On Tue, 2 May 2023 at 11:14, Chavdar Ivanov <ci4ic4%gmail.com@localhost> wrote:
>
> 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.

Also the final lldb and liblldb.so are linked against:
...
      -ledit.3 => /usr/lib/libedit.so.3
        -lterminfo.2 => /usr/lib/libterminfo.so.2
        -lgnuform.6 => /usr/pkg/lib/libgnuform.so.6
        -lncurses.6 => /usr/pkg/lib/libncurses.so.6
        -lgnupanel.6 => /usr/pkg/lib/libgnupanel.so.6
...

>
> --
> ----



-- 
----


Home | Main Index | Thread Index | Old Index