Thread: 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