[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AIX and _nc_is_abs_path
From: |
Thomas Dickey |
Subject: |
Re: AIX and _nc_is_abs_path |
Date: |
Mon, 16 Jun 2014 18:32:31 -0400 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Mon, Jun 16, 2014 at 08:00:13AM -0400, Ben Lentz wrote:
>
> >Hello,
> >I'm trying to build ncurses-5.9 for AIX and I've found that
> >somewhere after 5.5 and starting with 5.8 and 5.9, a dependency on
> >the function _nc_is_abs_path was added in several places.
> >
> >I've tried looking around (unsuccessfully) and I'm pretty sure I
> >don't have this function in any of the AIX system libraries.
> >
> >I tried adding -UNCURSES_TERM_ENTRY_H_incl to CFLAGS while doing
> >./configure (I thought maybe the hooks in ./include/term_entry.h
> >would help me) but there are still references in tset.c.
> >
> >If I set -UNCURSES_TERM_ENTRY_H_incl, hack out the references to
> >_nc_is_abs_path in tset.c, then the build proceeds further, but
> >dies linking toe:
no - the problem is before that
> > gcc -g
> >-Wl,-blibpath:/opt/local/bash/lib:/usr/lib:/lib,-brtl -maix64 ../obj_s/toe.o
> >-L/opt/local/bash/lib -I../progs -I.
The -blibpath option is expected for "--with-shared"
Actually the first -L option is unexpected, unless you've set LIBS or LDFLAGS
environment variables.
> >-DHAVE_CONFIG_H -I/opt/local/bash/include -D_ALL_SOURCE -DNDEBUG
> >-I. -I../include -I/opt/local/bash/include/ncurses
> >-I/opt/local/bash/include -UNCURSES_TERM_ENTRY_H_incl --param
> >max-inline-insns-single=1200 -L../lib -lncurses -L../lib -lncurses -o
> >toe
The -L../lib is what you should be using (and would be overridden by the first
-L option)
> >ld: 0711-317 ERROR: Undefined symbol: ._nc_is_dir_path
> >ld: 0711-317 ERROR: Undefined symbol: ._nc_is_file_path
> >ld: 0711-317 ERROR: Undefined symbol: ._nc_first_db
> >ld: 0711-317 ERROR: Undefined symbol: ._nc_next_db
> >ld: 0711-317 ERROR: Undefined symbol: ._nc_last_db
> >
> >I've read the INSTALL document and googled my heart out for this
> >issue and am trying this mailing list as a last resort before I
> >give in an revert back to an older version that compiles without
> >issue on AIX.
The problem is likely that there's an older version of ncurses in
/opt/local/bash/lib,
and the link is picking that. You can work around upgrades of this sort by
setting
the environment RPATH_LIST, e.g., to these two directories
../lib
/opt/local/bash/lib
The variable is a colon-separated list. Something like this:
(make distclean first, of course)
RPATH_LIST=../lib:/opt/local/bash/lib ./configure --with-shared
should produce makefile with that list embedded rather than just the single
directory.
However, setting LIBS or LDFLAGS to /opt/local/bash/lib will give problems.
That's what the --prefix and --exec-prefix options are for.
--
Thomas E. Dickey <address@hidden>
http://invisible-island.net
ftp://invisible-island.net
signature.asc
Description: Digital signature
- AIX and _nc_is_abs_path, Ben Lentz, 2014/06/16
- Re: AIX and _nc_is_abs_path, Ben Lentz, 2014/06/16
- Re: AIX and _nc_is_abs_path,
Thomas Dickey <=
- Re: AIX and _nc_is_abs_path, Ben Lentz, 2014/06/16
- Re: AIX and _nc_is_abs_path, Thomas Dickey, 2014/06/17
- Re: AIX and _nc_is_abs_path, Thomas Dickey, 2014/06/21
- Re: AIX and _nc_is_abs_path, Ben Lentz, 2014/06/22
- Re: AIX and _nc_is_abs_path, Thomas Dickey, 2014/06/22