NetBSD 1.5.1(HP300)

Started by Larry Rosenmanover 24 years ago8 messages
#1Larry Rosenman
ler@lerctr.org

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

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Larry Rosenman (#1)
Re: 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

#3Larry Rosenman
ler@lerctr.org
In reply to: Peter Eisentraut (#2)
Re: NetBSD 1.5.1(HP300)

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

Show quoted text

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

#4Peter Eisentraut
peter_e@gmx.net
In reply to: Larry Rosenman (#3)
Re: 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

#5Larry Rosenman
ler@lerctr.org
In reply to: Peter Eisentraut (#4)
Re: NetBSD 1.5.1(HP300)

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

Show quoted text

[success]

Can you take this to the OS developers?

--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter

#6Peter Eisentraut
peter_e@gmx.net
In reply to: Larry Rosenman (#1)
Re: 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.

Fixed in current.

--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter

#7Larry Rosenman
ler@lerctr.org
In reply to: Peter Eisentraut (#6)
Re: NetBSD 1.5.1(HP300)

* 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

#8Peter Eisentraut
peter_e@gmx.net
In reply to: Larry Rosenman (#7)
Re: NetBSD 1.5.1(HP300)

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