Обсуждение: NetBSD 1.5.1(HP300)
in testing CVS tip(sort of), I found that you need -lcurses with -ledit on NetBSD 1.5.1. _tputs in undefined otherwise. LER -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 972-414-9812 E-Mail: ler@lerctr.org US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
When it trys to run the following:
configure:7174: gcc -o conftest -O2 -pipe -L/usr/local/lib conftest.c
-lz -lcrypt -lresolv -lcompat -lm -lutil -ledit 1>&5
configure: failed program was:
#line 7170 "configure"
#include "confdefs.h"
int main() { return 0; }
$
that program dies:
$ cat conftest.c
#include "confdefs.h"
int main() { return 0; }
$ /lib conftest.c -lz -lcrypt -lresolv -lcompat -lm -lutil -ledit <
$ ./conftest
/usr/libexec/ld.so: Undefined symbol "_tputs" in
conftest:/usr/lib/libedit.so.2.3
$
I'm not sure WHY configure doesn't add -lcurses, but it needs to.
I can give you a shell account on this box (WARNING: it's slow, it's a 25
Mhz 68040) if you want.
LER
>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<<
On 7/16/01, 2:44:17 PM, Peter Eisentraut <peter_e@gmx.net> wrote regarding
Re: [HACKERS] NetBSD 1.5.1(HP300):
> Larry Rosenman writes:
> > in testing CVS tip(sort of), I found that you need -lcurses with
> > -ledit on NetBSD 1.5.1.
> >
> > _tputs in undefined otherwise.
> This is a known problem, but it hasn't been satisfactorily explained so
> far. The configure test links a program against -ledit and it seems to
> succeed without -lcurses.
> --
> Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter
Larry Rosenman writes: > in testing CVS tip(sort of), I found that you need -lcurses with > -ledit on NetBSD 1.5.1. > > _tputs in undefined otherwise. This is a known problem, but it hasn't been satisfactorily explained so far. The configure test links a program against -ledit and it seems to succeed without -lcurses. -- Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter
Reported to NetBSD as pr BIN/13486
LER
>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<<
On 7/16/01, 3:40:31 PM, Peter Eisentraut <peter_e@gmx.net> wrote regarding
Re: [HACKERS] NetBSD 1.5.1(HP300):
> Larry Rosenman writes:
> > When it trys to run the following:
> > configure:7174: gcc -o conftest -O2 -pipe -L/usr/local/lib conftest.c
> > -lz -lcrypt -lresolv -lcompat -lm -lutil -ledit 1>&5
> > configure: failed program was:
> > #line 7170 "configure"
> > #include "confdefs.h"
> > int main() { return 0; }
> > $
> >
> > that program dies:
> > $ cat conftest.c
> > #include "confdefs.h"
> > int main() { return 0; }
> >
> > $ /lib conftest.c -lz -lcrypt -lresolv -lcompat -lm -lutil -ledit
> > <
> > $ ./conftest
> > /usr/libexec/ld.so: Undefined symbol "_tputs" in
> > conftest:/usr/lib/libedit.so.2.3
> Yes, I've seen that before. The program links okay but does not execute
> because of an undefined symbol. I think that's a linker bug. Why would
I
> need a linker if it doesn't make sure the executable has fully resolved
> symbols? This can be observed at least with NetBSD -ledit and OpenBSD
> -lreadline.
> Here's how I would expect it to work:
> configure:3249: checking for readline
> configure:3271: gcc -o conftest -O2 -g conftest.c -lreadline 1>&5
> /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libreadline.so:
undefined reference to `tgetnum'
> [snip]
> collect2: ld returned 1 exit status
> configure: failed program was:
> #line 3260 "configure"
> #include "confdefs.h"
> /* Override any gcc2 internal prototype to avoid an error. */
> /* We use char because int might match the return type of a gcc2
> builtin and then its argument prototype would still apply. */
> char readline();
> int main() {
> readline()
> ; return 0; }
> [snip]
> configure:3271: gcc -o conftest -O2 -g conftest.c -lreadline
-ltermcap 1>&5
> [success]
> Can you take this to the OS developers?
> --
> Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter
Larry Rosenman writes:
> When it trys to run the following:
> configure:7174: gcc -o conftest -O2 -pipe -L/usr/local/lib conftest.c
> -lz -lcrypt -lresolv -lcompat -lm -lutil -ledit 1>&5
> configure: failed program was:
> #line 7170 "configure"
> #include "confdefs.h"
> int main() { return 0; }
> $
>
> that program dies:
> $ cat conftest.c
> #include "confdefs.h"
> int main() { return 0; }
>
> $ /lib conftest.c -lz -lcrypt -lresolv -lcompat -lm -lutil -ledit
> <
> $ ./conftest
> /usr/libexec/ld.so: Undefined symbol "_tputs" in
> conftest:/usr/lib/libedit.so.2.3
Yes, I've seen that before. The program links okay but does not execute
because of an undefined symbol. I think that's a linker bug. Why would I
need a linker if it doesn't make sure the executable has fully resolved
symbols? This can be observed at least with NetBSD -ledit and OpenBSD
-lreadline.
Here's how I would expect it to work:
configure:3249: checking for readline
configure:3271: gcc -o conftest -O2 -g conftest.c -lreadline 1>&5
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libreadline.so: undefined reference to `tgetnum'
[snip]
collect2: ld returned 1 exit status
configure: failed program was:
#line 3260 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still
apply. */
char readline();
int main() {
readline()
; return 0; }
[snip]
configure:3271: gcc -o conftest -O2 -g conftest.c -lreadline -ltermcap 1>&5
[success]
Can you take this to the OS developers?
--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter
Larry Rosenman writes: > in testing CVS tip(sort of), I found that you need -lcurses with > -ledit on NetBSD 1.5.1. > > _tputs in undefined otherwise. Fixed in current. -- Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter
* Peter Eisentraut <peter_e@gmx.net> [010828 09:59]: > Larry Rosenman writes: > > > in testing CVS tip(sort of), I found that you need -lcurses with > > -ledit on NetBSD 1.5.1. > > > > _tputs in undefined otherwise. > > Fixed in current. of NetBSD? LER > > -- > Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 972-414-9812 E-Mail: ler@lerctr.org US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
Larry Rosenman writes: > * Peter Eisentraut <peter_e@gmx.net> [010828 09:59]: > > Larry Rosenman writes: > > > > > in testing CVS tip(sort of), I found that you need -lcurses with > > > -ledit on NetBSD 1.5.1. > > > > > > _tputs in undefined otherwise. > > > > Fixed in current. > of NetBSD? PostgreSQL -- Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter