Re: ANN: NetworkManager 0.9.9.98 (0.9.10-rc1) released
- From: Robby Workman <robby rlworkman net>
 
- To: networkmanager-list gnome org
 
- Subject: Re: ANN: NetworkManager 0.9.9.98 (0.9.10-rc1) released
 
- Date: Wed, 25 Jun 2014 21:36:01 -0500
 
On Fri, 20 Jun 2014 21:55:24 -0500
Dan Williams <dcbw redhat com> wrote:
We're planning the final 0.9.10 release for later this week, so get
your party hats ready!
If I understand correctly, readline is only needed if nmtui is
enabled.  If that's correct, then there's probably a bug in the
build system, as it's unconditionally checking for readline.
That said, I *want* nmtui, so that's not really a concern to me
personally - I'm having a different problem.  
  ./configure
  ...
  checking for readline in -lreadline... no
  configure: error: readline library is required
readline *is* installed though - I've got readline-6.3 and the 
corresponding libreadline.so.6 ; I also tried on another system
(also Slackware) with libreadline.so.5 (readline-5.2) and it fails
the same way.  I don't know autotools well at all, but it looks 
like this is how configure checks for readline support:
  [rworkman liberty NetworkManager-0.9.9.98]$ cat testrl.c 
  #ifdef __cplusplus
  extern "C"
  #endif
  char readline ();
  int
  main ()
  {
  return readline ();
    ;
    return 0;
  }
So... let's see what happens:
  
  [rworkman liberty NetworkManager-0.9.9.98]$ gcc -o testrl -lreadline testrl.c 
  /usr/lib64/gcc/x86_64-slackware-linux/4.8.3/../../../../lib64/libreadline.so: undefined reference to `tputs'
  /usr/lib64/gcc/x86_64-slackware-linux/4.8.3/../../../../lib64/libreadline.so: undefined reference to `tgoto'
  /usr/lib64/gcc/x86_64-slackware-linux/4.8.3/../../../../lib64/libreadline.so: undefined reference to 
`tgetflag'
  /usr/lib64/gcc/x86_64-slackware-linux/4.8.3/../../../../lib64/libreadline.so: undefined reference to `UP'
  /usr/lib64/gcc/x86_64-slackware-linux/4.8.3/../../../../lib64/libreadline.so: undefined reference to 
`tgetent'
  /usr/lib64/gcc/x86_64-slackware-linux/4.8.3/../../../../lib64/libreadline.so: undefined reference to 
`tgetnum'
  /usr/lib64/gcc/x86_64-slackware-linux/4.8.3/../../../../lib64/libreadline.so: undefined reference to `PC'
  /usr/lib64/gcc/x86_64-slackware-linux/4.8.3/../../../../lib64/libreadline.so: undefined reference to 
`tgetstr'
  /usr/lib64/gcc/x86_64-slackware-linux/4.8.3/../../../../lib64/libreadline.so: undefined reference to `BC'
  collect2: error: ld returned 1 exit status
Okay, looks like that's ncurses, so let's link ncurses too:
  [rworkman liberty NetworkManager-0.9.9.98]$ gcc -o testrl -lreadline -lncurses testrl.c 
  [rworkman liberty NetworkManager-0.9.9.98]$ strings testrl | grep readline
  libreadline.so.6
  readline
  readline
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?
On a related note, assuming ncurses *should* be linked in too, then 
should we uses ncursesw instead of ncurses?
-RW
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]