Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Jul 2001 18:32:11 +1000 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        John Polstra <jdp@polstra.com>
Cc:        current@FreeBSD.ORG, peter@FreeBSD.ORG
Subject:   Re: ncurses: 4.x -> 5.x buildworld failure + patch
Message-ID:  <Pine.BSF.4.21.0107171803030.65109-100000@besplex.bde.org>
In-Reply-To: <XFMail.010716122717.jdp@polstra.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 16 Jul 2001, John Polstra wrote:

> While upgrading an old (October 2000) -current system which did not
> have a libc.so.5 yet, I ran into this failure in src/lib/ncurses:
> 
> cc -o make_keys -nostdinc -O -pipe -mcpu=ev56 -mcpu=ev56 -I. -I/c/src/lib/libncurses
> -I/c/src/lib/libncurses/../../contrib/ncur
> ses/ncurses -I/c/src/lib/libncurses/../../contrib/ncurses/include -Wall
> -DFREEBSD_NATIVE -DNDEBUG -DHAVE_CONFIG_H -DTERMIOS -I/
> usr/obj/c/src/alpha/usr/include 
> /c/src/lib/libncurses/../../contrib/ncurses/ncurses/tinfo/make_keys.c
> ./make_keys /c/src/lib/libncurses/../../contrib/ncurses/ncurses/tinfo/keys.list >
> init_keytry.h
> /usr/libexec/ld-elf.so.1: Shared object "libc.so.5" not found
> *** Error code 1
> 
> I am reasonably sure the same problem would occur in trying to upgrade
> from -stable to -current.
> 
> I patched it as shown below and the buildworld was able to finish.
> 
> Index: Makefile
> ===================================================================
> RCS file: /home/ncvs/src/lib/libncurses/Makefile,v
> retrieving revision 1.51
> diff -u -r1.51 Makefile
> --- Makefile    2001/06/12 01:14:02     1.51
> +++ Makefile    2001/07/16 15:24:59
> @@ -330,10 +330,10 @@
>  build-tools: make_hash make_keys
>  
>  make_keys:     make_keys.c names.c curses.h ncurses_def.h
> -       ${CC} -o $@ ${CFLAGS} ${NCURSES}/ncurses/tinfo/make_keys.c
> +       ${CC} -o $@ -static ${CFLAGS} ${NCURSES}/ncurses/tinfo/make_keys.c
>  
>  make_hash:     comp_hash.c hashsize.h curses.h ncurses_def.h
> -       ${CC} -o $@ ${CFLAGS} -DMAIN_PROGRAM \
> +       ${CC} -o $@ -static ${CFLAGS} -DMAIN_PROGRAM \
>                 ${NCURSES}/ncurses/tinfo/comp_hash.c
>  
>  # ./configure generated

I have used essentially the same patch (with ${LDFLAGS} instead of
-static) for a year or two, but I don't quite understand why you needed
it.  make_keys and make_hash are build-tools, so they should get built
in the host environment and be linked to the host shared libraries (if
any).  The command line seems to show them being built in the target
environment (-I/usr/obj/c/src/alpha/usr/include).  The -mcpu stuff
also seems to be a problem (but not here).  I think we use the new
bsd.cpu.mk even for building tools.  It might not work on old hosts.

Bruce


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0107171803030.65109-100000>