❦ 26 juin 2014 01:19 -0500, Robby Workman <[email protected]> :

>> > Now, here's where I'm unclear.  If I add LDFLAGS="-lnurses" to the
>> > configure environment, the test passes and the complete build
>> > occurs successfully. What's unclear is *why* that's needed -- is
>> > this an omission in the NM sources (isn't nmtui a curses client and
>> > thus ncurses should be linked?) or is something different about how
>> > we (Slackware) build readline?
>> 
>> GNU readline requires linking to ncurses as well to get termcap
>> symbols. Here is an autoconf recipe for that:
>>  http://www.gnu.org/software/autoconf-archive/ax_lib_readline.html
>
> If I'm reading that correctly, that snippet above tries to link
> in curses if it encounters failure, so perhaps NM should use it?
> Maybe not though - there's at least one other project (nftables)
> where I've encountered the same problem.
>
> While digging around a bit after sending this, I found that we add
> "--with-curses" to the readline configure to use it instead of 
> libtermcap, so it's *supposed* to be linked in already and this 
> would not be a problem.  However, for whatever reason (it's not
> clear whether it's intentional or not), the upstream sources don't
> use TERMCAP_LIBS (set to "-lcurses" per the configure flag) when
> building the shared library.  It appears that at least one distro
> solves that by running 'make SHLIB_LIBS="-lcurses"' when building,
> but I don't see where Fedora did that, so it's not clear at all 
> how they link curses (or even if they do, when means I wonder how
> the configure test in OP works there). 
>
> Assuming this is indeed a problem, it's been in Slackware for years
> without causing any actual issues - the readline library from 13.37
> (released in April 2011) doesn't link ncurses either, so I'm not
> convinced that we're doing anything wrong (but I'm open to argument).

Can't point exactly, but with a modern linker, linking to ncurses then
to readline would fail because unused symbols from ncurses would be
discarded before linking to the next library. It should be "-lreadline
-lncurses" and not "-lncurses -lreadline". This may explain a
difference.
-- 
printk("autofs: Out of inode numbers -- what the heck did you do??\n"); 
        2.0.38 /usr/src/linux/fs/autofs/root.c
_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to