zsh-workers
 help / color / mirror / code / Atom feed
* Re: AIX-problem: the main module won't link statically
       [not found] <001501c0eff2$70ad3ee0$21c9ca95@mow.siemens.ru>
@ 2001-06-08 10:53 ` Oliver Kiddle
  2001-06-08 11:41   ` Andrej Borsenkow
  0 siblings, 1 reply; 16+ messages in thread
From: Oliver Kiddle @ 2001-06-08 10:53 UTC (permalink / raw)
  To: Andrej Borsenkow; +Cc: Timo Aaltonen, zsh-workers

Andrej Borsenkow wrote:
> 
> Yes. AFAIK currently none of zsh developers works on AIX. Oliver, could you
> comment on this?

I haven't used AIX since I left my old job last August and that was AIX
3.2 on old pre-PowerPC hardware so I probably can't be much help. The
main thing I should point out though is that I don't think it should be
building a libzsh-..so - it should be able to stick that all in the zsh
binary. At least if I remember correctly that was how it always was but
I may be wrong. I'd be suprised if that has changed in 4.3 because my
3.2 compiled binaries used to work on AIX 4.2 (we had a couple of 4.2
machines which didn't have a C compiler).

The arguments to the link don't look very familiar - I don't recognise
-bexpall and I don't like the look of the strip (-s) flag when linking a
shared library. The warning about the entry point makes me suspicious
that it is trying to link the library as a binary not as a shared
library. Make sure you don't have the any environment variables like
CFLAGS, LDFLAGS etc set (or $CC including arguments) or if any of these
are set from a config.site script. Try a clean build and we might then
be able to work something out by looking through config.log and similar
files.

Basically, my guess is that something has gone wrong in one of the
configure tests. Did you have any of the previous 3.1.X versions working
with dynamic linking?

Timo Aaltonen wrote:

> It works statically (test nr C02 failed though).. but it is weird

Is this the [[ -N ... ]] test - it often fails when run on an NFS
mounted partition. There are also a few expected failures if you run the
tests as root.

Oliver

_____________________________________________________________________
This message has been checked for all known viruses by the 
MessageLabs Virus Scanning Service. For further information visit
http://www.messagelabs.com/stats.asp


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: AIX-problem: the main module won't link statically
  2001-06-08 10:53 ` AIX-problem: the main module won't link statically Oliver Kiddle
@ 2001-06-08 11:41   ` Andrej Borsenkow
  2001-06-08 11:50     ` Timo Aaltonen
  2001-06-08 14:23     ` Oliver Kiddle
  0 siblings, 2 replies; 16+ messages in thread
From: Andrej Borsenkow @ 2001-06-08 11:41 UTC (permalink / raw)
  To: zsh-workers; +Cc: Timo Aaltonen

>
> The arguments to the link don't look very familiar - I don't recognise
> -bexpall and I don't like the look of the strip (-s) flag when linking a
> shared library.

  case "$host_os" in
...
aix*)         DLLDFLAGS="${DLLDFLAGS=-G -bexpall -lc}" ;;

-s is O.K. - we explicitly check if it is safe to strip shared libraries. Of
course, test may get it wrong anyway ...

My guess is that AIX 4.3 has dl* functions and hence AIXDYNAMIC is not used.
But something goes wrong with dlopen() & Co.

Post config.log here, generated config.h and exact configure invocation
here. Remove config.cache before running configure - else confg.log will be
pretty useless.

I vaguelly remember something about AIX and dlopen. Should be in archives.

-andrej


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: AIX-problem: the main module won't link statically
  2001-06-08 11:41   ` Andrej Borsenkow
@ 2001-06-08 11:50     ` Timo Aaltonen
  2001-06-08 12:05       ` Peter Stephenson
  2001-06-08 12:06       ` Andrej Borsenkow
  2001-06-08 14:23     ` Oliver Kiddle
  1 sibling, 2 replies; 16+ messages in thread
From: Timo Aaltonen @ 2001-06-08 11:50 UTC (permalink / raw)
  To: zsh-workers

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1015 bytes --]

On Fri, 8 Jun 2001, Andrej Borsenkow wrote:

> >
> > The arguments to the link don't look very familiar - I don't recognise
> > -bexpall and I don't like the look of the strip (-s) flag when linking a
> > shared library.
> 
>   case "$host_os" in
> ...
> aix*)         DLLDFLAGS="${DLLDFLAGS=-G -bexpall -lc}" ;;
> 
> -s is O.K. - we explicitly check if it is safe to strip shared libraries. Of
> course, test may get it wrong anyway ...
> 
> My guess is that AIX 4.3 has dl* functions and hence AIXDYNAMIC is not used.
> But something goes wrong with dlopen() & Co.
> 
> Post config.log here, generated config.h and exact configure invocation
> here. Remove config.cache before running configure - else confg.log will be
> pretty useless.

theremin% CC="cc" ./configure 

run on a fresh tree, config.* files attached

> I vaguelly remember something about AIX and dlopen. Should be in archives.

I'll check that after the weekend..

_______________/Timo Aaltonen <http://www.hut.fi/~tjaalton>
GSM +358-40-5549 618

[-- Attachment #2: Type: TEXT/PLAIN, Size: 22437 bytes --]

/* config.h.  Generated automatically by configure.  */
/* config.h.in.  Generated automatically from configure.in by autoheader.  */

/***** begin user configuration section *****/

/* Define this to be the location of your password file */
#define PASSWD_FILE "/etc/passwd"

/* Define this to be the name of your NIS/YP password *
 * map (if applicable)                                */
#define PASSWD_MAP "passwd.byname"

/* Define to 1 if you want user names to be cached */
#define CACHE_USERNAMES 1

/* Define to 1 if system supports job control */
#define JOB_CONTROL 1

/* Define this if you use "suspended" instead of "stopped" */
#define USE_SUSPENDED 1
 
/* The default history buffer size in lines */
#define DEFAULT_HISTSIZE 30

/* The default editor for the fc builtin */
#define DEFAULT_FCEDIT "vi"

/* The default prefix for temporary files */
#define DEFAULT_TMPPREFIX "/tmp/zsh"


/***** end of user configuration section            *****/
/***** shouldn't have to change anything below here *****/

/* Define if using alloca.c.  */
/* #undef C_ALLOCA */

/* Define to empty if the keyword does not work.  */
/* #undef const */

/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
   This function is required for alloca.c support on those systems.  */
/* #undef CRAY_STACKSEG_END */

/* Define if the `getpgrp' function takes no argument.  */
#define GETPGRP_VOID 1

/* Define to `int' if <sys/types.h> doesn't define.  */
/* #undef gid_t */

/* Define if you have alloca, as a function or macro.  */
#define HAVE_ALLOCA 1

/* Define if you have <alloca.h> and it should be used (not on Ultrix).  */
/* #undef HAVE_ALLOCA_H */

/* Define if you have a working `mmap' system call.  */
/* #undef HAVE_MMAP */

/* Define if you have the strcoll function and it is properly defined.  */
#define HAVE_STRCOLL 1

/* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
#define HAVE_SYS_WAIT_H 1

/* Define to `int' if <sys/types.h> doesn't define.  */
/* #undef mode_t */

/* Define to `long' if <sys/types.h> doesn't define.  */
/* #undef off_t */

/* Define to `int' if <sys/types.h> doesn't define.  */
/* #undef pid_t */

/* Define as the return type of signal handlers (int or void).  */
#define RETSIGTYPE void

/* Define to `unsigned' if <sys/types.h> doesn't define.  */
/* #undef size_t */

/* If using the C implementation of alloca, define if you know the
   direction of stack growth for your system; otherwise it will be
   automatically deduced at run-time.
 STACK_DIRECTION > 0 => grows toward higher addresses
 STACK_DIRECTION < 0 => grows toward lower addresses
 STACK_DIRECTION = 0 => direction of growth unknown
 */
/* #undef STACK_DIRECTION */

/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.  */
/* #undef STAT_MACROS_BROKEN */

/* Define if you have the ANSI C header files.  */
#define STDC_HEADERS 1

/* Define if you can safely include both <sys/time.h> and <time.h>.  */
#define TIME_WITH_SYS_TIME 1

/* Define to `int' if <sys/types.h> doesn't define.  */
/* #undef uid_t */

/* The global file to source absolutely first whenever zsh is run; *
 * if undefined, don't source anything                             */
#define GLOBAL_ZSHENV "/etc/zshenv"

/* The global file to source whenever zsh is run; *
 * if undefined, don't source anything            */
#define GLOBAL_ZSHRC "/etc/zshrc"

/* The global file to source whenever zsh is run as a login shell; *
 * if undefined, don't source anything                             */
#define GLOBAL_ZLOGIN "/etc/zlogin"

/* The global file to source whenever zsh is run as a login shell, *
 * before zshrc is read; if undefined, don't source anything       */
#define GLOBAL_ZPROFILE "/etc/zprofile"

/* The global file to source whenever zsh was run as a login shell.  *
 * This is sourced right before exiting.  If undefined, don't source *
 * anything                                                          */
#define GLOBAL_ZLOGOUT "/etc/zlogout"

/* Define to 1 if compiler could initialise a union */
#define HAVE_UNION_INIT 1

/* Define to 1 if compiler incorrectly cast signed to unsigned */
/* #undef BROKEN_SIGNED_TO_UNSIGNED_CASTING */

/* Define to 1 if compiler supports variable-length arrays */
/* #undef HAVE_VARIABLE_LENGTH_ARRAYS */

/* Define if your system defines TIOCGWINSZ in sys/ioctl.h.  */
#define GWINSZ_IN_SYS_IOCTL 1

/* Define to 1 if you have NIS */
/* #undef HAVE_NIS */

/* Define to 1 if you have NISPLUS */
/* #undef HAVE_NIS_PLUS */

/* Define to 1 if you have RFS superroot directory. */
/* #undef HAVE_SUPERROOT */

/* Define to 1 if you need to use the native getcwd */
/* #undef USE_GETCWD */

/* Define to the path of the /dev/fd filesystem */
/* #undef PATH_DEV_FD */

/* Define if sys/time.h and sys/select.h cannot be both included */
/* #undef TIME_H_SELECT_H_CONFLICTS */

/* Define to be the machine type (microprocessor class or machine model) */
#define MACHTYPE "rs6000"

/* Define to be the name of the operating system */
#define OSTYPE "aix4.3.2.0"

/* Define to 1 if ANSI function prototypes are usable.  */
#define PROTOTYPES 1

/* Define to be location of utmp file. */
#define PATH_UTMP_FILE "/etc/utmp"

/* Define to be location of utmpx file. */
/* #undef PATH_UTMPX_FILE */

/* Define to be location of wtmp file. */
#define PATH_WTMP_FILE "/var/adm/wtmp"

/* Define to be location of wtmpx file. */
/* #undef PATH_WTMPX_FILE */

/* Define to 1 if struct utmp is defined by a system header */
#define HAVE_STRUCT_UTMP 1

/* Define to 1 if struct utmpx is defined by a system header */
#define HAVE_STRUCT_UTMPX 1

/* Define if your system's struct utmp has a member named ut_host.  */
#define HAVE_STRUCT_UTMP_UT_HOST 1

/* Define if your system's struct utmpx has a member named ut_host.  */
#define HAVE_STRUCT_UTMPX_UT_HOST 1

/* Define if your system's struct utmpx has a member named ut_xtime.  */
/* #undef HAVE_STRUCT_UTMPX_UT_XTIME */

/* Define if your system's struct utmpx has a member named ut_tv.  */
#define HAVE_STRUCT_UTMPX_UT_TV 1

/* Define if your system's struct dirent has a member named d_ino.  */
#define HAVE_STRUCT_DIRENT_D_INO 1

/* Define if your system's struct dirent has a member named d_stat.  */
/* #undef HAVE_STRUCT_DIRENT_D_STAT */

/* Define if your system's struct direct has a member named d_ino.  */
/* #undef HAVE_STRUCT_DIRECT_D_INO */

/* Define if your system's struct direct has a member named d_stat.  */
/* #undef HAVE_STRUCT_DIRECT_D_STAT */

/* Define if your system's struct sockaddr_in6 has a member named sin6_scope_id.  */
/* #undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID */

/* Define to be a string corresponding the vendor of the machine */
#define VENDOR "ibm"

/* Define to limit job table size */
#define MAXJOB 50
/* #undef NEED_LINUX_TASKS_H */

/* Define if your system defines `struct winsize' in sys/ptem.h.  */
/* #undef WINSIZE_IN_PTEM */

/* Define to 1 if you want to debug zsh */
/* #undef DEBUG */

/* Define to 1 if you want to use zsh's own memory allocation routines */
/* #undef ZSH_MEM */

/* Define to 1 if you want to debug zsh memory allocation routines */
/* #undef ZSH_MEM_DEBUG */

/* Define to 1 if you want to turn on warnings of memory allocation errors */
/* #undef ZSH_MEM_WARNING */

/* Define to 1 if you want to turn on memory checking for free() */
/* #undef ZSH_SECURE_FREE */

/* Define to 1 if you want to get debugging information on internal *
 * hash tables.  This turns on the `hashinfo' builtin.              */
/* #undef ZSH_HASH_DEBUG */

/* Undefine this if you don't want to get a restricted shell *
 * when zsh is exec'd with basename that starts with r.      *
 * By default this is defined.                               */
#define RESTRICTED_R 1

/* Define for Maildir support */
/* #undef MAILDIR_SUPPORT */

/* Define for function depth limits */
/* #undef MAX_FUNCTION_DEPTH */

/* Define if you want locale features.  By default this is defined. */
#define CONFIG_LOCALE 1

/* Define to 1 if your termcap library has the ospeed variable */
#define HAVE_OSPEED 1
/* Define to 1 if you have ospeed, but it is not defined in termcap.h */
#define MUST_DEFINE_OSPEED 1

/* Define to 1 if tgetent() accepts NULL as a buffer */
#define TGETENT_ACCEPTS_NULL 1

/* Define to 1 if you use POSIX style signal handling */
#define POSIX_SIGNALS 1

/* Define to 1 if you use BSD style signal handling (and can block signals) */
/* #undef BSD_SIGNALS */

/* Define to 1 if you use SYS style signal handling (and can block signals) */
/* #undef SYSV_SIGNALS */

/* Define to 1 if you have no signal blocking at all (bummer) */
/* #undef NO_SIGNAL_BLOCKING */

/* Define to `unsigned int' if <sys/types.h> or <signal.h> doesn't define */
/* #undef sigset_t */

/* Define to 1 if struct timezone is defined by a system header */
#define HAVE_STRUCT_TIMEZONE 1

/* Define to 1 if there is a prototype defined for brk() on your system */
#define HAVE_BRK_PROTO 1

/* Define to 1 if there is a prototype defined for sbrk() on your system */
#define HAVE_SBRK_PROTO 1

/* Define to 1 if there is a prototype defined for ioctl() on your system */
/* #undef HAVE_IOCTL_PROTO */

/* Define to 1 if there is a prototype defined for mknod() on your system */
#define HAVE_MKNOD_PROTO 1

/* Define to 1 if select() is defined in <sys/socket.h>, ie BeOS R4.51*/
/* #undef SELECT_IN_SYS_SOCKET_H */

/* Define to 1 if system has working FIFO's */
#define HAVE_FIFOS 1

/* Define to 1 if struct rlimit uses quad_t */
/* #undef RLIM_T_IS_QUAD_T */

/* Define to 1 if struct rlimit uses long long */
/* #undef RLIM_T_IS_LONG_LONG */

/* Define to 1 if rlimit uses unsigned */
#define RLIM_T_IS_UNSIGNED 1

/* Define to the type used in struct rlimit */
/* #undef rlim_t */

/* Define to 1 if /bin/sh does not interpret \ escape sequences */
/* #undef SH_USE_BSD_ECHO */

/* Define to 1 if system has working link() */
#define HAVE_LINK 1

/* Define to 1 if kill(pid, 0) doesn't return ESRCH, ie BeOS R4.51 */
/* #undef BROKEN_KILL_ESRCH */

/* Define to 1 if sigsuspend() is broken, ie BeOS R4.51 */
/* #undef BROKEN_POSIX_SIGSUSPEND */

/* Define to 1 if getpwnam() is faked, ie BeOS R4.51 */
/* #undef GETPWNAM_FAKED */

/* Define to 1 if tcsetpgrp() doesn't work, ie BeOS R4.51 */
/* #undef BROKEN_TCSETPGRP */

/* Define to 1 if an underscore has to be prepended to dlsym() argument */
/* #undef DLSYM_NEEDS_UNDERSCORE */

/* Define to 1 if multiple modules defining the same symbol are OK */
#define DYNAMIC_NAME_CLASH_OK 1

/* The exension used for dynamically loaded modules */
#define DL_EXT "so"

/* Define to 1 if you want to use dynamically loaded modules */
#define DYNAMIC 1

/* Define to 1 if you want to use dynamically loaded modules on AIX */
/* #undef AIXDYNAMIC */

/* Define to 1 if you want to use dynamically loaded modules on HPUX 10 */
/* #undef HPUXDYNAMIC */

/* Define to `unsigned long' if <sys/types.h> doesn't define. */
/* #undef ino_t */

/*
 * Definitions used when a long is less than eight byte, to try to
 * provide some support for eight byte operations.
 *
 * Note that ZSH_64_BIT_TYPE, OFF_T_IS_64_BIT, INO_T_IS_64_BIT do *not* get
 * defined if long is already 64 bits, since in that case no special handling
 * is required.
 */
/* Define to 1 if long is 64 bits */
/* #undef LONG_IS_64_BIT */

/* Define to a 64 bit integer type if there is one, but long is shorter */
#define ZSH_64_BIT_TYPE long long

/* Define to an unsigned variant of ZSH_64_BIT_TYPE if that is defined */
#define ZSH_64_BIT_UTYPE unsigned long long

/* Define to 1 if off_t is 64 bit (for large file support) */
/* #undef OFF_T_IS_64_BIT */

/* Define to 1 if ino_t is 64 bit (for large file support) */
/* #undef INO_T_IS_64_BIT */

/* Define to 1 if h_errno is not defined by the system */
/* #undef USE_LOCAL_H_ERRNO */

/* Define if you have the termcap boolcodes symbol.  */
/* #undef HAVE_BOOLCODES */

/* Define if you have the termcap numcodes symbol.  */
/* #undef HAVE_NUMCODES */

/* Define if you have the termcap strcodes symbol.  */
/* #undef HAVE_STRCODES */

/* Define if you have the terminfo boolnames symbol.  */
/* #undef HAVE_BOOLNAMES */

/* Define if you have the terminfo numnames symbol.  */
/* #undef HAVE_NUMNAMES */

/* Define if you have the terminfo strnames symbol.  */
/* #undef HAVE_STRNAMES */

/* Define if term.h chokes without curses.h */
#define TERM_H_NEEDS_CURSES_H 1

/* Define if you have the _mktemp function.  */
/* #undef HAVE__MKTEMP */

/* Define if you have the brk function.  */
#define HAVE_BRK 1

/* Define if you have the cap_get_proc function.  */
/* #undef HAVE_CAP_GET_PROC */

/* Define if you have the difftime function.  */
#define HAVE_DIFFTIME 1

/* Define if you have the dlclose function.  */
#define HAVE_DLCLOSE 1

/* Define if you have the dlerror function.  */
#define HAVE_DLERROR 1

/* Define if you have the dlopen function.  */
#define HAVE_DLOPEN 1

/* Define if you have the dlsym function.  */
#define HAVE_DLSYM 1

/* Define if you have the faccessx function.  */
#define HAVE_FACCESSX 1

/* Define if you have the fchdir function.  */
#define HAVE_FCHDIR 1

/* Define if you have the fseeko function.  */
#define HAVE_FSEEKO 1

/* Define if you have the ftello function.  */
#define HAVE_FTELLO 1

/* Define if you have the ftruncate function.  */
#define HAVE_FTRUNCATE 1

/* Define if you have the getenv function.  */
#define HAVE_GETENV 1

/* Define if you have the getgrgid function.  */
#define HAVE_GETGRGID 1

/* Define if you have the getgrnam function.  */
#define HAVE_GETGRNAM 1

/* Define if you have the gethostbyname2 function.  */
#define HAVE_GETHOSTBYNAME2 1

/* Define if you have the gethostname function.  */
#define HAVE_GETHOSTNAME 1

/* Define if you have the getipnodebyname function.  */
/* #undef HAVE_GETIPNODEBYNAME */

/* Define if you have the getlogin function.  */
#define HAVE_GETLOGIN 1

/* Define if you have the getpagesize function.  */
#define HAVE_GETPAGESIZE 1

/* Define if you have the getpwent function.  */
#define HAVE_GETPWENT 1

/* Define if you have the getpwnam function.  */
#define HAVE_GETPWNAM 1

/* Define if you have the getpwuid function.  */
#define HAVE_GETPWUID 1

/* Define if you have the getrlimit function.  */
#define HAVE_GETRLIMIT 1

/* Define if you have the gettimeofday function.  */
#define HAVE_GETTIMEOFDAY 1

/* Define if you have the inet_aton function.  */
#define HAVE_INET_ATON 1

/* Define if you have the inet_ntop function.  */
#define HAVE_INET_NTOP 1

/* Define if you have the inet_pton function.  */
#define HAVE_INET_PTON 1

/* Define if you have the initgroups function.  */
#define HAVE_INITGROUPS 1

/* Define if you have the killpg function.  */
#define HAVE_KILLPG 1

/* Define if you have the lchown function.  */
#define HAVE_LCHOWN 1

/* Define if you have the load function.  */
#define HAVE_LOAD 1

/* Define if you have the loadbind function.  */
#define HAVE_LOADBIND 1

/* Define if you have the loadquery function.  */
#define HAVE_LOADQUERY 1

/* Define if you have the lstat function.  */
#define HAVE_LSTAT 1

/* Define if you have the memcpy function.  */
#define HAVE_MEMCPY 1

/* Define if you have the memmove function.  */
#define HAVE_MEMMOVE 1

/* Define if you have the mkfifo function.  */
#define HAVE_MKFIFO 1

/* Define if you have the msync function.  */
/* #undef HAVE_MSYNC */

/* Define if you have the munmap function.  */
/* #undef HAVE_MUNMAP */

/* Define if you have the nice function.  */
#define HAVE_NICE 1

/* Define if you have the nis_list function.  */
/* #undef HAVE_NIS_LIST */

/* Define if you have the pathconf function.  */
#define HAVE_PATHCONF 1

/* Define if you have the poll function.  */
#define HAVE_POLL 1

/* Define if you have the putenv function.  */
#define HAVE_PUTENV 1

/* Define if you have the readlink function.  */
#define HAVE_READLINK 1

/* Define if you have the sbrk function.  */
#define HAVE_SBRK 1

/* Define if you have the select function.  */
#define HAVE_SELECT 1

/* Define if you have the seteuid function.  */
#define HAVE_SETEUID 1

/* Define if you have the setlocale function.  */
#define HAVE_SETLOCALE 1

/* Define if you have the setpgid function.  */
#define HAVE_SETPGID 1

/* Define if you have the setpgrp function.  */
#define HAVE_SETPGRP 1

/* Define if you have the setresuid function.  */
/* #undef HAVE_SETRESUID */

/* Define if you have the setreuid function.  */
#define HAVE_SETREUID 1

/* Define if you have the setsid function.  */
#define HAVE_SETSID 1

/* Define if you have the setuid function.  */
#define HAVE_SETUID 1

/* Define if you have the setupterm function.  */
#define HAVE_SETUPTERM 1

/* Define if you have the shl_findsym function.  */
/* #undef HAVE_SHL_FINDSYM */

/* Define if you have the shl_load function.  */
/* #undef HAVE_SHL_LOAD */

/* Define if you have the shl_unload function.  */
/* #undef HAVE_SHL_UNLOAD */

/* Define if you have the sigaction function.  */
#define HAVE_SIGACTION 1

/* Define if you have the sigblock function.  */
#define HAVE_SIGBLOCK 1

/* Define if you have the sighold function.  */
#define HAVE_SIGHOLD 1

/* Define if you have the signgam function.  */
/* #undef HAVE_SIGNGAM */

/* Define if you have the sigprocmask function.  */
#define HAVE_SIGPROCMASK 1

/* Define if you have the sigrelse function.  */
#define HAVE_SIGRELSE 1

/* Define if you have the sigsetmask function.  */
#define HAVE_SIGSETMASK 1

/* Define if you have the strerror function.  */
#define HAVE_STRERROR 1

/* Define if you have the strftime function.  */
#define HAVE_STRFTIME 1

/* Define if you have the strstr function.  */
#define HAVE_STRSTR 1

/* Define if you have the sysconf function.  */
#define HAVE_SYSCONF 1

/* Define if you have the tcgetattr function.  */
#define HAVE_TCGETATTR 1

/* Define if you have the tcsetpgrp function.  */
#define HAVE_TCSETPGRP 1

/* Define if you have the tgetent function.  */
#define HAVE_TGETENT 1

/* Define if you have the tigetflag function.  */
#define HAVE_TIGETFLAG 1

/* Define if you have the tigetnum function.  */
#define HAVE_TIGETNUM 1

/* Define if you have the tigetstr function.  */
#define HAVE_TIGETSTR 1

/* Define if you have the uname function.  */
#define HAVE_UNAME 1

/* Define if you have the unload function.  */
#define HAVE_UNLOAD 1

/* Define if you have the wait3 function.  */
#define HAVE_WAIT3 1

/* Define if you have the waitpid function.  */
#define HAVE_WAITPID 1

/* Define if you have the <curses.h> header file.  */
#define HAVE_CURSES_H 1

/* Define if you have the <dirent.h> header file.  */
#define HAVE_DIRENT_H 1

/* Define if you have the <dl.h> header file.  */
/* #undef HAVE_DL_H */

/* Define if you have the <dlfcn.h> header file.  */
#define HAVE_DLFCN_H 1

/* Define if you have the <errno.h> header file.  */
#define HAVE_ERRNO_H 1

/* Define if you have the <fcntl.h> header file.  */
#define HAVE_FCNTL_H 1

/* Define if you have the <grp.h> header file.  */
#define HAVE_GRP_H 1

/* Define if you have the <libc.h> header file.  */
/* #undef HAVE_LIBC_H */

/* Define if you have the <limits.h> header file.  */
#define HAVE_LIMITS_H 1

/* Define if you have the <locale.h> header file.  */
#define HAVE_LOCALE_H 1

/* Define if you have the <memory.h> header file.  */
#define HAVE_MEMORY_H 1

/* Define if you have the <ndir.h> header file.  */
/* #undef HAVE_NDIR_H */

/* Define if you have the <netinet/in_systm.h> header file.  */
#define HAVE_NETINET_IN_SYSTM_H 1

/* Define if you have the <poll.h> header file.  */
#define HAVE_POLL_H 1

/* Define if you have the <pwd.h> header file.  */
#define HAVE_PWD_H 1

/* Define if you have the <stdlib.h> header file.  */
#define HAVE_STDLIB_H 1

/* Define if you have the <string.h> header file.  */
#define HAVE_STRING_H 1

/* Define if you have the <sys/capability.h> header file.  */
/* #undef HAVE_SYS_CAPABILITY_H */

/* Define if you have the <sys/dir.h> header file.  */
/* #undef HAVE_SYS_DIR_H */

/* Define if you have the <sys/filio.h> header file.  */
/* #undef HAVE_SYS_FILIO_H */

/* Define if you have the <sys/mman.h> header file.  */
#define HAVE_SYS_MMAN_H 1

/* Define if you have the <sys/ndir.h> header file.  */
/* #undef HAVE_SYS_NDIR_H */

/* Define if you have the <sys/param.h> header file.  */
#define HAVE_SYS_PARAM_H 1

/* Define if you have the <sys/resource.h> header file.  */
#define HAVE_SYS_RESOURCE_H 1

/* Define if you have the <sys/select.h> header file.  */
#define HAVE_SYS_SELECT_H 1

/* Define if you have the <sys/time.h> header file.  */
#define HAVE_SYS_TIME_H 1

/* Define if you have the <sys/times.h> header file.  */
#define HAVE_SYS_TIMES_H 1

/* Define if you have the <sys/types.h> header file.  */
#define HAVE_SYS_TYPES_H 1

/* Define if you have the <sys/utsname.h> header file.  */
#define HAVE_SYS_UTSNAME_H 1

/* Define if you have the <term.h> header file.  */
#define HAVE_TERM_H 1

/* Define if you have the <termcap.h> header file.  */
/* #undef HAVE_TERMCAP_H */

/* Define if you have the <termio.h> header file.  */
#define HAVE_TERMIO_H 1

/* Define if you have the <termios.h> header file.  */
#define HAVE_TERMIOS_H 1

/* Define if you have the <unistd.h> header file.  */
#define HAVE_UNISTD_H 1

/* Define if you have the <utmp.h> header file.  */
#define HAVE_UTMP_H 1

/* Define if you have the <utmpx.h> header file.  */
#define HAVE_UTMPX_H 1

/* Define if you have the cap library (-lcap).  */
/* #undef HAVE_LIBCAP */

/* Define if you have the dl library (-ldl).  */
#define HAVE_LIBDL 1

/* Define if you have the m library (-lm).  */
#define HAVE_LIBM 1

/* Define if you have the socket library (-lsocket).  */
/* #undef HAVE_LIBSOCKET */

[-- Attachment #3: Type: TEXT/PLAIN, Size: 57522 bytes --]

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:612: checking host system type
configure:1033: checking for gcc
configure:1146: checking whether the C compiler (cc  ) works
configure:1162: cc -o conftest    conftest.c  1>&5
configure:1188: checking whether the C compiler (cc  ) is a cross-compiler
configure:1193: checking whether we are using GNU C
configure:1202: cc -E conftest.c
configure:1221: checking whether cc accepts -g
configure:1258: checking whether large file support needs explicit enabling
configure:1359: checking how to run the C preprocessor
configure:1380: cc -E  conftest.c >/dev/null 2>conftest.out
configure:1484: checking for working const
configure:1538: cc -c  -O  conftest.c 1>&5
configure:1559: checking for Cygwin environment
configure:1575: cc -c  -O  conftest.c 1>&5
"configure", line 1571.8: 1506-045 (S) Undeclared identifier __CYGWIN32__.
configure: failed program was:
#line 1564 "configure"
#include "confdefs.h"

int main() {

#ifndef __CYGWIN__
#define __CYGWIN__ __CYGWIN32__
#endif
return __CYGWIN__;
; return 0; }
configure:1592: checking for mingw32 environment
configure:1604: cc -c  -O  conftest.c 1>&5
"configure", line 1600.8: 1506-045 (S) Undeclared identifier __MINGW32__.
configure: failed program was:
#line 1597 "configure"
#include "confdefs.h"

int main() {
return __MINGW32__;
; return 0; }
configure:1623: checking for executable suffix
configure:1633: cc -o conftest  -O   conftest.c  1>&5
configure:1654: checking for cc option to accept ANSI C
configure:1685: cc -c  -O   conftest.c 1>&5
"configure", line 1675.1: 1506-166 (S) Definition of function choke requires parentheses.
"configure", line 1675.7: 1506-276 (S) Syntax error: possible missing '{'?
configure: failed program was:
#line 1673 "configure"
#include "confdefs.h"
#ifndef __STDC__
choke me
#endif	

int main() {
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
; return 0; }
configure:1685: cc -c  -O -qlanglvl=ansi  conftest.c 1>&5
configure:1705: checking whether to use prototypes
configure:1732: checking for working alloca.h
configure:1744: cc -qlanglvl=ansi -o conftest  -O   conftest.c  1>&5
"configure", line 1738.10: 1506-296 (S) #include file <alloca.h> not found.
"configure", line 1740.9: 1506-196 (S) Initialization between types "void*" and "int" is not allowed.
configure: failed program was:
#line 1737 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
void *p = alloca(2 * sizeof(int));
; return 0; }
configure:1765: checking for alloca
configure:1798: cc -qlanglvl=ansi -o conftest  -O   conftest.c  1>&5
configure:1964: checking if the compiler supports union initialisation
configure:1976: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:1997: checking if signed to unsigned casting is broken
configure:2009: cc -qlanglvl=ansi -o conftest  -O   conftest.c  1>&5
configure: failed program was:
#line 2005 "configure"
#include "confdefs.h"
main(){return((int)(unsigned char)((char) -1) == 255);}
configure:2032: checking if the compiler supports variable-length arrays
configure:2044: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
"configure", line 2040.7: 1506-195 (S) Integral constant expression with a value greater than zero is required.
"configure", line 2040.17: 1506-195 (S) Integral constant expression with a value greater than zero is required.
configure: failed program was:
#line 2037 "configure"
#include "confdefs.h"
int foo(), n;
int main() {
int i[foo()], a[n+1];
; return 0; }
configure:2065: checking what to set MAXJOB to
configure:2131: checking whether make sets ${MAKE}
configure:2168: checking for a BSD compatible install
configure:2224: checking for mawk
configure:2224: checking for gawk
configure:2253: checking whether ln works
configure:2279: checking for yodl
configure:2315: checking for dirent.h that defines DIR
configure:2328: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:2353: checking for opendir in -ldir
configure:2372: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldir   1>&5
ld: 0706-006 Cannot find or open library file: -l dir
	ld:open(): No such file or directory
configure: failed program was:
#line 2361 "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 opendir();

int main() {
opendir()
; return 0; }
configure:2436: checking for ANSI C header files
configure:2449: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2516: cc -qlanglvl=ansi -o conftest  -O   conftest.c  1>&5
configure:2540: checking whether time.h and sys/time.h may both be included
configure:2554: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:2575: checking whether stat file-mode macros are broken
configure:2631: checking for sys/wait.h that is POSIX.1 compatible
configure:2652: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:2681: checking for sys/time.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for sys/times.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for sys/select.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for termcap.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
"configure", line 2687.10: 1506-296 (S) #include file <termcap.h> not found.
configure: failed program was:
#line 2686 "configure"
#include "confdefs.h"
#include <termcap.h>
configure:2681: checking for termio.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for termios.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for sys/param.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for sys/filio.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
"configure", line 2687.10: 1506-296 (S) #include file <sys/filio.h> not found.
configure: failed program was:
#line 2686 "configure"
#include "confdefs.h"
#include <sys/filio.h>
configure:2681: checking for string.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for memory.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for limits.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for fcntl.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for libc.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
"configure", line 2687.10: 1506-296 (S) #include file <libc.h> not found.
configure: failed program was:
#line 2686 "configure"
#include "confdefs.h"
#include <libc.h>
configure:2681: checking for sys/utsname.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for sys/resource.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for locale.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for errno.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for stdlib.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for unistd.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for sys/capability.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
"configure", line 2687.10: 1506-296 (S) #include file <sys/capability.h> not found.
configure: failed program was:
#line 2686 "configure"
#include "confdefs.h"
#include <sys/capability.h>
configure:2681: checking for utmp.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for utmpx.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for sys/types.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for pwd.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for grp.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for poll.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for sys/mman.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2681: checking for netinet/in_systm.h
configure:2691: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2722: checking for dlfcn.h
configure:2732: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2762: checking for dl.h
configure:2772: cc -E  conftest.c >/dev/null 2>conftest.out
"configure", line 2768.10: 1506-296 (S) #include file <dl.h> not found.
configure: failed program was:
#line 2767 "configure"
#include "confdefs.h"
#include <dl.h>
configure:2802: checking for conflicts in sys/time.h and sys/select.h
configure:2815: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:2837: checking POSIX termios
configure:2852: cc -qlanglvl=ansi -o conftest  -O   conftest.c  1>&5
configure:2868: checking TIOCGWINSZ in termios.h
configure:2881: cc -qlanglvl=ansi -o conftest  -O   conftest.c  1>&5
"configure", line 2877.9: 1506-045 (S) Undeclared identifier TIOCGWINSZ.
configure: failed program was:
#line 2873 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <termios.h>
int main() {
int x = TIOCGWINSZ;
; return 0; }
configure:2900: checking TIOCGWINSZ in sys/ioctl.h
configure:2913: cc -qlanglvl=ansi -o conftest  -O   conftest.c  1>&5
configure:2936: checking for sys/ptem.h
configure:2946: cc -E  conftest.c >/dev/null 2>conftest.out
"configure", line 2942.10: 1506-296 (S) #include file <sys/ptem.h> not found.
configure: failed program was:
#line 2941 "configure"
#include "confdefs.h"
#include <sys/ptem.h>
configure:2973: checking for printf in -lc
configure:2992: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lc   1>&5
configure:3014: checking for pow in -lm
configure:3033: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lm   -lc 1>&5
configure:3141: checking for library containing tgetent
configure:3159: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: .tgetent
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 3148 "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 tgetent();

int main() {
tgetent()
; return 0; }
configure:3181: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lcurses  -lm  -lc 1>&5
configure:3207: checking for curses.h
configure:3217: cc -E  conftest.c >/dev/null 2>conftest.out
configure:3281: checking for term.h
configure:3291: cc -E  conftest.c >/dev/null 2>conftest.out
configure:3312: checking if term.h needs curses.h
configure:3321: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
"/usr/include/term.h", line 1209.9: 1506-046 (S) Syntax error.
"/usr/include/term.h", line 1239.9: 1506-046 (S) Syntax error.
"/usr/include/term.h", line 1256.9: 1506-046 (S) Syntax error.
"/usr/include/term.h", line 1267.9: 1506-046 (S) Syntax error.
"/usr/include/term.h", line 1279.9: 1506-046 (S) Syntax error.
"/usr/include/term.h", line 1281.9: 1506-046 (S) Syntax error.
"/usr/include/term.h", line 1285.9: 1506-046 (S) Syntax error.
configure: failed program was:
#line 3314 "configure"
#include "confdefs.h"
#include <term.h>
int main() {
char **test = boolcodes;
; return 0; }
configure:3340: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:3362: checking if boolcodes is available
configure:3374: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: boolcodes
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 3364 "configure"
#include "confdefs.h"
#ifdef TERM_H_NEEDS_CURSES_H
#include <curses.h>
#endif
#include <term.h>
int main() {
char **test = boolcodes; printf(*test);
; return 0; }
configure:3389: checking if numcodes is available
configure:3401: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: numcodes
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 3391 "configure"
#include "confdefs.h"
#ifdef TERM_H_NEEDS_CURSES_H
#include <curses.h>
#endif
#include <term.h>
int main() {
char **test = numcodes; printf(*test);
; return 0; }
configure:3416: checking if strcodes is available
configure:3428: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: strcodes
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 3418 "configure"
#include "confdefs.h"
#ifdef TERM_H_NEEDS_CURSES_H
#include <curses.h>
#endif
#include <term.h>
int main() {
char **test = strcodes; printf(*test);
; return 0; }
configure:3443: checking if boolnames is available
configure:3453: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: boolnames
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 3445 "configure"
#include "confdefs.h"
#include <curses.h>
#include <term.h>
int main() {
char **test = boolnames; printf(*test);
; return 0; }
configure:3468: checking if numnames is available
configure:3478: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: numnames
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 3470 "configure"
#include "confdefs.h"
#include <curses.h>
#include <term.h>
int main() {
char **test = numnames; printf(*test);
; return 0; }
configure:3493: checking if strnames is available
configure:3503: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: strnames
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 3495 "configure"
#include "confdefs.h"
#include <curses.h>
#include <term.h>
int main() {
char **test = strnames; printf(*test);
; return 0; }
configure:3528: checking for library containing yp_all
configure:3546: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lcurses -lm  -lc 1>&5
configure:3595: checking for dlopen in -ldl
configure:3614: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl  -lcurses -lm  -lc 1>&5
configure:3644: checking for cap_get_proc in -lcap
configure:3663: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lcap  -ldl -lcurses -lm  -lc 1>&5
ld: 0706-006 Cannot find or open library file: -l cap
	ld:open(): No such file or directory
configure: failed program was:
#line 3652 "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 cap_get_proc();

int main() {
cap_get_proc()
; return 0; }
configure:3692: checking for socket in -lsocket
configure:3711: cc -qlanglvl=ansi -o conftest  -O   conftest.c -lsocket  -ldl -lcurses -lm  -lc 1>&5
ld: 0706-006 Cannot find or open library file: -l socket
	ld:open(): No such file or directory
configure: failed program was:
#line 3700 "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 socket();

int main() {
socket()
; return 0; }
configure:3740: checking if an include file defines ospeed
configure:3758: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
"configure", line 3754.1: 1506-045 (S) Undeclared identifier ospeed.
configure: failed program was:
#line 3745 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if HAVE_TERMIOS_H
#include <termios.h>
#endif
#if HAVE_TERMCAP_H
#include <termcap.h>
#endif
int main() {
ospeed = 0;
; return 0; }
configure:3774: checking if you must define ospeed
configure:3786: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:3819: checking return type of signal handlers
configure:3841: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:3860: checking for pid_t
configure:3893: checking for off_t
configure:3926: checking for ino_t
configure:3959: checking for mode_t
configure:3992: checking for uid_t in sys/types.h
configure:4026: checking for size_t
configure:4060: checking if long is 64 bits
configure:4072: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure: failed program was:
#line 4068 "configure"
#include "confdefs.h"
int main() { return sizeof(long) < 8; }
configure:4095: checking if off_t is 64 bit
configure:4111: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure: failed program was:
#line 4103 "configure"
#include "confdefs.h"

#include <sys/types.h>

main() { return sizeof(off_t) < 8; }

configure:4134: checking if ino_t is 64 bit
configure:4150: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure: failed program was:
#line 4142 "configure"
#include "confdefs.h"

#include <sys/types.h>

main() { return sizeof(ino_t) < 8; }

configure:4175: checking if compiler has a 64 bit type
configure:4240: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:4379: checking for a corresponding unsigned 64 bit type
configure:4406: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:4471: checking for sigset_t
configure:4484: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:4505: checking for struct timezone
configure:4521: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:4544: checking for struct utmp
configure:4563: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:4585: checking for struct utmpx
configure:4604: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:4627: checking for ut_host in struct utmp
configure:4646: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:4668: checking for ut_host in struct utmpx
configure:4687: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:4709: checking for ut_xtime in struct utmpx
configure:4728: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
"configure", line 4724.31: 1506-022 (S) "ut_xtime" is not a member of "struct utmpx".
configure: failed program was:
#line 4714 "configure"
#include "confdefs.h"

#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_UTMPX_H
# include <utmpx.h>
#endif

int main() {
struct utmpx testvar; testvar.ut_xtime;
; return 0; }
configure:4750: checking for ut_tv in struct utmpx
configure:4769: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:4792: checking for d_ino in struct dirent
configure:4811: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:4833: checking for d_stat in struct dirent
configure:4852: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
"configure", line 4848.32: 1506-022 (S) "d_stat" is not a member of "struct dirent".
configure: failed program was:
#line 4838 "configure"
#include "confdefs.h"

#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_DIRENT_H
# include <dirent.h>
#endif

int main() {
struct dirent testvar; testvar.d_stat;
; return 0; }
configure:4874: checking for d_ino in struct direct
configure:4899: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
"configure", line 4895.8: 1506-007 (S) "struct direct" is undefined.
configure: failed program was:
#line 4879 "configure"
#include "confdefs.h"

#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_NDIR_H
# include <sys/ndir.h>
#endif
#ifdef HAVE_SYS_DIR_H
# include <sys/dir.h>
#endif
#ifdef HAVE_NDIR_H
# include <ndir.h>
#endif

int main() {
struct direct testvar; testvar.d_ino;
; return 0; }
configure:4921: checking for d_stat in struct direct
configure:4946: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
"configure", line 4942.8: 1506-007 (S) "struct direct" is undefined.
configure: failed program was:
#line 4926 "configure"
#include "confdefs.h"

#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_NDIR_H
# include <sys/ndir.h>
#endif
#ifdef HAVE_SYS_DIR_H
# include <sys/dir.h>
#endif
#ifdef HAVE_NDIR_H
# include <ndir.h>
#endif

int main() {
struct direct testvar; testvar.d_stat;
; return 0; }
configure:4969: checking for sin6_scope_id in struct sockaddr_in6
configure:4986: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
"configure", line 4982.38: 1506-022 (S) "sin6_scope_id" is not a member of "struct sockaddr_in6".
configure: failed program was:
#line 4974 "configure"
#include "confdefs.h"

#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#include <netinet/in.h>

int main() {
struct sockaddr_in6 testvar; testvar.sin6_scope_id;
; return 0; }
configure:5009: checking if we need our own h_errno
configure:5021: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for strftime
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for difftime
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for gettimeofday
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for select
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for poll
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for readlink
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for lstat
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for lchown
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for faccessx
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for fchdir
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for ftruncate
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for fseeko
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for ftello
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for mkfifo
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for _mktemp
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: ._mktemp
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 5074 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char _mktemp(); below.  */
#include <assert.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 _mktemp();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub__mktemp) || defined (__stub____mktemp)
choke me
#else
_mktemp();
#endif

; return 0; }
configure:5069: checking for waitpid
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for wait3
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for sigaction
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for sigblock
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for sighold
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for sigrelse
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for sigsetmask
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for sigprocmask
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for killpg
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for setpgid
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for setpgrp
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for tcsetpgrp
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for tcgetattr
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for nice
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for gethostname
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for gethostbyname2
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for getipnodebyname
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: .getipnodebyname
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 5074 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char getipnodebyname(); below.  */
#include <assert.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 getipnodebyname();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_getipnodebyname) || defined (__stub___getipnodebyname)
choke me
#else
getipnodebyname();
#endif

; return 0; }
configure:5069: checking for inet_aton
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for inet_pton
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for inet_ntop
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for getlogin
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for getpwent
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for getpwnam
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for getpwuid
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for getgrgid
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for getgrnam
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for initgroups
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for nis_list
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: .nis_list
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 5074 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char nis_list(); below.  */
#include <assert.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 nis_list();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_nis_list) || defined (__stub___nis_list)
choke me
#else
nis_list();
#endif

; return 0; }
configure:5069: checking for setuid
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for seteuid
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for setreuid
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for setresuid
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: .setresuid
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 5074 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char setresuid(); below.  */
#include <assert.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 setresuid();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_setresuid) || defined (__stub___setresuid)
choke me
#else
setresuid();
#endif

; return 0; }
configure:5069: checking for setsid
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for memcpy
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for memmove
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for strstr
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for strerror
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for cap_get_proc
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: .cap_get_proc
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 5074 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char cap_get_proc(); below.  */
#include <assert.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 cap_get_proc();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_cap_get_proc) || defined (__stub___cap_get_proc)
choke me
#else
cap_get_proc();
#endif

; return 0; }
configure:5069: checking for getrlimit
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for setlocale
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for uname
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for signgam
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: .signgam
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 5074 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char signgam(); below.  */
#include <assert.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 signgam();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_signgam) || defined (__stub___signgam)
choke me
#else
signgam();
#endif

; return 0; }
configure:5069: checking for putenv
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for getenv
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for brk
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for sbrk
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for pathconf
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for sysconf
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for tgetent
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for tigetflag
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for tigetnum
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for tigetstr
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5069: checking for setupterm
configure:5097: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5122: checking for working strcoll
configure:5140: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5164: checking if tgetent accepts NULL
configure:5188: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5218: checking for unistd.h
configure:5257: checking for getpagesize
configure:5285: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5310: checking for working mmap
configure:5461: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
"configure", line 5392.6: 1506-343 (S) Redeclaration of malloc differs from previous declaration on line 173 of "/usr/include/stdlib.h".
"configure", line 5392.6: 1506-050 (I) Return type "char*" in redeclaration is not compatible with the previous return type "void*".
configure: failed program was:
#line 5318 "configure"
#include "confdefs.h"

/* Thanks to Mike Haertel and Jim Avera for this test.
   Here is a matrix of mmap possibilities:
	mmap private not fixed
	mmap private fixed at somewhere currently unmapped
	mmap private fixed at somewhere already mapped
	mmap shared not fixed
	mmap shared fixed at somewhere currently unmapped
	mmap shared fixed at somewhere already mapped
   For private mappings, we should verify that changes cannot be read()
   back from the file, nor mmap's back from the file at a different
   address.  (There have been systems where private was not correctly
   implemented like the infamous i386 svr4.0, and systems where the
   VM page cache was not coherent with the filesystem buffer cache
   like early versions of FreeBSD and possibly contemporary NetBSD.)
   For shared mappings, we should conversely verify that changes get
   propogated back to all the places they're supposed to be.

   Grep wants private fixed already mapped.
   The main things grep needs to know about mmap are:
   * does it exist and is it safe to write into the mmap'd area
   * how to use it (BSD variants)  */
#include <sys/types.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <stdlib.h>
#include <sys/stat.h>

#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif

/* This mess was copied from the GNU getpagesize.h.  */
#ifndef HAVE_GETPAGESIZE

/* Assume that all systems that can run configure have sys/param.h.  */
# ifndef HAVE_SYS_PARAM_H
#  define HAVE_SYS_PARAM_H 1
# endif

# ifdef _SC_PAGESIZE
#  define getpagesize() sysconf(_SC_PAGESIZE)
# else /* no _SC_PAGESIZE */
#  ifdef HAVE_SYS_PARAM_H
#   include <sys/param.h>
#   ifdef EXEC_PAGESIZE
#    define getpagesize() EXEC_PAGESIZE
#   else /* no EXEC_PAGESIZE */
#    ifdef NBPG
#     define getpagesize() NBPG * CLSIZE
#     ifndef CLSIZE
#      define CLSIZE 1
#     endif /* no CLSIZE */
#    else /* no NBPG */
#     ifdef NBPC
#      define getpagesize() NBPC
#     else /* no NBPC */
#      ifdef PAGESIZE
#       define getpagesize() PAGESIZE
#      endif /* PAGESIZE */
#     endif /* no NBPC */
#    endif /* no NBPG */
#   endif /* no EXEC_PAGESIZE */
#  else /* no HAVE_SYS_PARAM_H */
#   define getpagesize() 8192	/* punt totally */
#  endif /* no HAVE_SYS_PARAM_H */
# endif /* no _SC_PAGESIZE */

#endif /* no HAVE_GETPAGESIZE */

#ifdef __cplusplus
extern "C" { void *malloc(unsigned); }
#else
char *malloc();
#endif

int
main()
{
	char *data, *data2, *data3;
	int i, pagesize;
	int fd;

	pagesize = getpagesize();

	/*
	 * First, make a file with some known garbage in it.
	 */
	data = (char*)malloc(pagesize);
	if (!data)
		exit(1);
	for (i = 0; i < pagesize; ++i)
		*(data + i) = rand();
	umask(0);
	fd = creat("conftestmmap", 0600);
	if (fd < 0)
		exit(1);
	if (write(fd, data, pagesize) != pagesize)
		exit(1);
	close(fd);

	/*
	 * Next, try to mmap the file at a fixed address which
	 * already has something else allocated at it.  If we can,
	 * also make sure that we see the same garbage.
	 */
	fd = open("conftestmmap", O_RDWR);
	if (fd < 0)
		exit(1);
	data2 = (char*)malloc(2 * pagesize);
	if (!data2)
		exit(1);
	data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1);
	if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE,
	    MAP_PRIVATE | MAP_FIXED, fd, 0L))
		exit(1);
	for (i = 0; i < pagesize; ++i)
		if (*(data + i) != *(data2 + i))
			exit(1);

	/*
	 * Finally, make sure that changes to the mapped area
	 * do not percolate back to the file as seen by read().
	 * (This is a bug on some variants of i386 svr4.0.)
	 */
	for (i = 0; i < pagesize; ++i)
		*(data2 + i) = *(data2 + i) + 1;
	data3 = (char*)malloc(pagesize);
	if (!data3)
		exit(1);
	if (read(fd, data3, pagesize) != pagesize)
		exit(1);
	for (i = 0; i < pagesize; ++i)
		if (*(data + i) != *(data3 + i))
			exit(1);
	close(fd);
	unlink("conftestmmap");
	exit(0);
}

configure:5543: checking whether getpgrp takes no argument
configure:5606: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5642: checking for dlopen
configure:5670: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5642: checking for dlerror
configure:5670: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5642: checking for dlsym
configure:5670: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5642: checking for dlclose
configure:5670: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5642: checking for load
configure:5670: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5642: checking for loadquery
configure:5670: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5642: checking for loadbind
configure:5670: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5642: checking for unload
configure:5670: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5642: checking for shl_load
configure:5670: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: .shl_load
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 5647 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char shl_load(); below.  */
#include <assert.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 shl_load();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_shl_load) || defined (__stub___shl_load)
choke me
#else
shl_load();
#endif

; return 0; }
configure:5642: checking for shl_unload
configure:5670: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: .shl_unload
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 5647 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char shl_unload(); below.  */
#include <assert.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 shl_unload();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_shl_unload) || defined (__stub___shl_unload)
choke me
#else
shl_unload();
#endif

; return 0; }
configure:5642: checking for shl_findsym
configure:5670: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
ld: 0711-317 ERROR: Undefined symbol: .shl_findsym
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 5647 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char shl_findsym(); below.  */
#include <assert.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 shl_findsym();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_shl_findsym) || defined (__stub___shl_findsym)
choke me
#else
shl_findsym();
#endif

; return 0; }
configure:5698: checking what style of signals to use
configure:5731: checking where signal.h is located
configure:5771: checking where the RLIMIT macros are located
configure:5795: checking if rlim_t is longer than a long
configure:5812: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure: failed program was:
#line 5803 "configure"
#include "confdefs.h"

#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#include <sys/resource.h>
main(){struct rlimit r;exit(sizeof(r.rlim_cur) <= sizeof(long));}
configure:5883: checking if the rlim_t is unsigned
configure:5900: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:5925: checking for rlim_t
configure:5942: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:5963: checking for /dev/fd filesystem
configure:5981: checking for RFS superroot directory
configure:5997: checking whether we should use the native getcwd
configure:6016: checking for NIS
configure:6033: checking for NIS+
configure:6051: checking for utmp file
configure:6072: checking for wtmp file
configure:6093: checking for utmpx file
configure:6114: checking for wtmpx file
configure:6136: checking for brk() prototype in <unistd.h>
configure:6149: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
"configure", line 6143.8: 1506-343 (S) Redeclaration of brk differs from previous declaration on line 571 of "/usr/include/unistd.h".
"configure", line 6143.8: 1506-050 (I) Return type "double" in redeclaration is not compatible with the previous return type "int".
configure: failed program was:
#line 6141 "configure"
#include "confdefs.h"
#include <unistd.h>
double brk();
int main() {
int i;
; return 0; }
configure:6170: checking for sbrk() prototype in <unistd.h>
configure:6183: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
"configure", line 6177.8: 1506-343 (S) Redeclaration of sbrk differs from previous declaration on line 590 of "/usr/include/unistd.h".
"configure", line 6177.8: 1506-050 (I) Return type "double" in redeclaration is not compatible with the previous return type "void*".
configure: failed program was:
#line 6175 "configure"
#include "confdefs.h"
#include <unistd.h>
double sbrk();
int main() {
int i;
; return 0; }
configure:6206: checking for ioctl prototype in <sys/ioctl.h>
configure:6219: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
configure:6239: checking for mknod prototype in <sys/stat.h>
configure:6252: cc -qlanglvl=ansi -c  -O  conftest.c 1>&5
"configure", line 6246.8: 1506-343 (S) Redeclaration of mknod differs from previous declaration on line 281 of "/usr/include/sys/stat.h".
"configure", line 6246.8: 1506-376 (I) Redeclaration of mknod has a different number of fixed parameters than the previous declaration.
"configure", line 6246.8: 1506-377 (I) The type "double" of parameter 1 differs from the previous type "const char*".
configure: failed program was:
#line 6244 "configure"
#include "confdefs.h"
#include <sys/stat.h>
   int mknod(double x);
int main() {
int i;
; return 0; }
configure:6309: checking if named FIFOs work
configure:6348: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:6370: checking if echo in /bin/sh interprets escape sequences
configure:6390: checking if link() works
configure:6420: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:6443: checking if kill(pid, 0) returns ESRCH correctly
configure:6466: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:6490: checking if POSIX sigsuspend() works
configure:6527: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:6552: checking if tcsetpgrp() actually works
configure:6572: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:6597: checking if getpwnam() is faked
configure:6621: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:6715: checking if your system use ELF binaries
configure:6742: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure: failed program was:
#line 6723 "configure"
#include "confdefs.h"
/* Test for whether ELF binaries are produced */
#include <fcntl.h>
#include <stdlib.h>
main(argc, argv)
int argc;
char *argv[];
{
	char b[4];
	int i = open(argv[0],O_RDONLY);
	if(i == -1) 
		exit(1); /* fail */
	if(read(i,b,4)==4 && b[0]==127 && b[1]=='E' && b[2]=='L' && b[3]=='F')
		exit(0); /* succeed (yes, it's ELF) */
	else
		exit(1); /* fail */
}
configure:6817: checking if your dlsym() needs a leading underscore
configure:6824: cc -qlanglvl=ansi -c  -O   conftest.c 1>&5
configure:6825: ld  -G -bexpall -lc -o conftest.so conftest.o 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:6886: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:6914: checking if environ is available in shared libraries
configure:6934: cc -qlanglvl=ansi -c  -O   conftest1.c 1>&5
"conftest1.c", line 9.2: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration.
configure:6935: ld -o conftest1.so  -G -bexpall -lc conftest1.o -ldl -lcurses -lm  -lc 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:6936: cc -qlanglvl=ansi -c  -O   conftest2.c 1>&5
"conftest2.c", line 9.2: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration.
configure:6937: ld -o conftest2.so  -G -bexpall -lc conftest2.o -ldl -lcurses -lm  -lc 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:6999: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:7022: checking if tgetent is available in shared libraries
configure:7042: cc -qlanglvl=ansi -c  -O   conftest1.c 1>&5
"conftest1.c", line 8.16: 1506-068 (E) Operation between types "void*" and "int(*)()" is not allowed.
"conftest1.c", line 9.2: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration.
configure:7043: ld -o conftest1.so  -G -bexpall -lc conftest1.o -ldl -lcurses -lm  -lc 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:7044: cc -qlanglvl=ansi -c  -O   conftest2.c 1>&5
"conftest2.c", line 8.16: 1506-068 (E) Operation between types "void*" and "int(*)()" is not allowed.
"conftest2.c", line 9.2: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration.
configure:7045: ld -o conftest2.so  -G -bexpall -lc conftest2.o -ldl -lcurses -lm  -lc 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:7107: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:7130: checking if tigetstr is available in shared libraries
configure:7150: cc -qlanglvl=ansi -c  -O   conftest1.c 1>&5
"conftest1.c", line 8.16: 1506-068 (E) Operation between types "void*" and "int(*)()" is not allowed.
"conftest1.c", line 9.2: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration.
configure:7151: ld -o conftest1.so  -G -bexpall -lc conftest1.o -ldl -lcurses -lm  -lc 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:7152: cc -qlanglvl=ansi -c  -O   conftest2.c 1>&5
"conftest2.c", line 8.16: 1506-068 (E) Operation between types "void*" and "int(*)()" is not allowed.
"conftest2.c", line 9.2: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration.
configure:7153: ld -o conftest2.so  -G -bexpall -lc conftest2.o -ldl -lcurses -lm  -lc 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:7215: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:7240: checking if name clashes in shared objects are OK
configure:7251: cc -qlanglvl=ansi -c  -O   conftest1.c 1>&5
configure:7252: ld -o conftest1.so  -G -bexpall -lc conftest1.o -ldl -lcurses -lm  -lc 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:7253: cc -qlanglvl=ansi -c  -O   conftest2.c 1>&5
configure:7254: ld -o conftest2.so  -G -bexpall -lc conftest2.o -ldl -lcurses -lm  -lc 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:7306: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure:7333: checking for working RTLD_GLOBAL
configure:7344: cc -qlanglvl=ansi -c  -O   conftest1.c 1>&5
configure:7345: ld -o conftest1.so  -G -bexpall -lc conftest1.o -ldl -lcurses -lm  -lc 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:7346: cc -qlanglvl=ansi -c  -O   conftest2.c 1>&5
configure:7347: ld -o conftest2.so  -G -bexpall -lc conftest2.o -ldl -lcurses -lm  -lc 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:7397: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5
configure: failed program was:
#line 7353 "configure"
#include "confdefs.h"

#ifdef HPUXDYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
#define RTLD_GLOBAL DYNAMIC_PATH

char *zsh_gl_sym_addr ;

#define dlopen(file,mode) (void *)shl_load((file), (mode), (long) 0)
#define dlclose(handle) shl_unload((shl_t)(handle))
#define dlsym(handle,name) (zsh_gl_sym_addr=0,shl_findsym((shl_t *)&(handle),name,TYPE_UNDEFINED,&zsh_gl_sym_addr), (void *)zsh_gl_sym_addr)
#define dlerror() 0
#else
#ifdef HAVE_DLFCN_H
#include <dlfcn.h>
#else
#include <sys/types.h>
#include <nlist.h>
#include <link.h>
#endif
#endif
#ifndef RTLD_LAZY
#define RTLD_LAZY 1
#endif
#ifndef RTLD_GLOBAL
#define RTLD_GLOBAL 0
#endif

main()
{
    void *handle;
    int (*barneysym)();
    handle = dlopen("./conftest1.so", RTLD_LAZY | RTLD_GLOBAL);
    if(!handle) exit(1);
    handle = dlopen("./conftest2.so", RTLD_LAZY | RTLD_GLOBAL);
    if(!handle) exit(1);
    barneysym = (int (*)()) dlsym(handle, "barney");
    if(!barneysym) exit(1);
    exit((*barneysym)() != 69);
}

configure:7420: checking whether symbols in the executable are available
configure:7430: cc -qlanglvl=ansi -c  -O   conftest1.c 1>&5
configure:7431: ld -o conftest1.so  -G -bexpall -lc conftest1.o -ldl -lcurses -lm  -lc 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:7483: cc -qlanglvl=ansi -o conftest  -O    conftest.c -ldl -lcurses -lm  -lc 1>&5
configure: failed program was:
#line 7439 "configure"
#include "confdefs.h"

#ifdef HPUXDYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
#define RTLD_GLOBAL DYNAMIC_PATH

char *zsh_gl_sym_addr ;

#define dlopen(file,mode) (void *)shl_load((file), (mode), (long) 0)
#define dlclose(handle) shl_unload((shl_t)(handle))
#define dlsym(handle,name) (zsh_gl_sym_addr=0,shl_findsym((shl_t *)&(handle),name,TYPE_UNDEFINED,&zsh_gl_sym_addr), (void *)zsh_gl_sym_addr)
#define dlerror() 0
#else
#ifdef HAVE_DLFCN_H
#include <dlfcn.h>
#else
#include <sys/types.h>
#include <nlist.h>
#include <link.h>
#endif
#endif
#ifndef RTLD_LAZY
#define RTLD_LAZY 1
#endif
#ifndef RTLD_GLOBAL
#define RTLD_GLOBAL 0
#endif

main()
{
    void *handle;
    int (*barneysym)();
    handle = dlopen("./conftest1.so", RTLD_LAZY | RTLD_GLOBAL);
    if(!handle) exit(1);
    barneysym = (int (*)()) dlsym(handle, "barney");
    if(!barneysym) exit(1);
    exit((*barneysym)() != 69);
}

int fred () { return 42; }

configure:7509: checking whether executables can be stripped
configure:7597: checking whether libraries can be stripped
configure:7607: cc -qlanglvl=ansi -c  -O   conftest1.c 1>&5
configure:7608: ld -o conftest1.so  -G -bexpall -lc -s conftest1.o -ldl -lcurses -lm  -lc 1>&5
ld: 0711-327 WARNING: Entry point not found: __start
configure:7656: cc -qlanglvl=ansi -o conftest  -O   conftest.c -ldl -lcurses -lm  -lc 1>&5

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: AIX-problem: the main module won't link statically
  2001-06-08 11:50     ` Timo Aaltonen
@ 2001-06-08 12:05       ` Peter Stephenson
  2001-06-08 12:06       ` Andrej Borsenkow
  1 sibling, 0 replies; 16+ messages in thread
From: Peter Stephenson @ 2001-06-08 12:05 UTC (permalink / raw)
  To: Zsh hackers list, Timo Aaltonen

This turns up a lot:

> configure:6934: cc -qlanglvl=ansi -c  -O   conftest1.c 1>&5
> configure:6935: ld -o conftest1.so  -G -bexpall -lc conftest1.o -ldl -lcurses -lm  -lc 1>&5
> ld: 0711-327 WARNING: Entry point not found: __start

If we're lucky all we have to do is find the appropriate library for
linking in which provides __start and other stuff associated with dynamic
libraries.  Probably isn't that simple, though, since -ldl doesn't seem to
do the trick.

-- 
Peter Stephenson <pws@csr.com>                  Software Engineer
CSR Ltd., Unit 300, Science Park, Milton Road,
Cambridge, CB4 0XL, UK                          Tel: +44 (0)1223 392070


**********************************************************************
The information transmitted is intended only for the person or
entity to which it is addressed and may contain confidential 
and/or privileged material. 
Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by 
persons or entities other than the intended recipient is 
prohibited.  
If you received this in error, please contact the sender and 
delete the material from any computer.
**********************************************************************


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: AIX-problem: the main module won't link statically
  2001-06-08 11:50     ` Timo Aaltonen
  2001-06-08 12:05       ` Peter Stephenson
@ 2001-06-08 12:06       ` Andrej Borsenkow
  2001-06-08 12:11         ` Andrej Borsenkow
  2001-06-08 12:12         ` Timo Aaltonen
  1 sibling, 2 replies; 16+ messages in thread
From: Andrej Borsenkow @ 2001-06-08 12:06 UTC (permalink / raw)
  To: Timo Aaltonen, zsh-workers

>
> theremin% CC="cc" ./configure
>

Try with DLLD=cc CC=cc. On some systems use of plain ld to create shared
libraries does not work (due to additional startup files needed).

Is it really that AIX 4.3 does not use ELF?

-andrej


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: AIX-problem: the main module won't link statically
  2001-06-08 12:06       ` Andrej Borsenkow
@ 2001-06-08 12:11         ` Andrej Borsenkow
  2001-06-08 12:28           ` Timo Aaltonen
  2001-06-08 12:12         ` Timo Aaltonen
  1 sibling, 1 reply; 16+ messages in thread
From: Andrej Borsenkow @ 2001-06-08 12:11 UTC (permalink / raw)
  To: Andrej Borsenkow, Timo Aaltonen, zsh-workers

> > theremin% CC="cc" ./configure
> >
> 
> Try with DLLD=cc CC=cc. On some systems use of plain ld to create shared
> libraries does not work (due to additional startup files needed).
> 

And I do not like double -lc; you may try with

DLLDFLAGS='-G -bexpall'

as well. We provide -lc in any case. 

-andrej


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: AIX-problem: the main module won't link statically
  2001-06-08 12:06       ` Andrej Borsenkow
  2001-06-08 12:11         ` Andrej Borsenkow
@ 2001-06-08 12:12         ` Timo Aaltonen
  1 sibling, 0 replies; 16+ messages in thread
From: Timo Aaltonen @ 2001-06-08 12:12 UTC (permalink / raw)
  To: zsh-workers

On Fri, 8 Jun 2001, Andrej Borsenkow wrote:

> >
> > theremin% CC="cc" ./configure
> >
> 
> Try with DLLD=cc CC=cc. On some systems use of plain ld to create shared
> libraries does not work (due to additional startup files needed).

I'll try that on monday, since I'm away for the weekend to have some
serious countryside fun =)


_______________/Timo Aaltonen <http://www.hut.fi/~tjaalton>
GSM +358-40-5549 618


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: AIX-problem: the main module won't link statically
  2001-06-08 12:11         ` Andrej Borsenkow
@ 2001-06-08 12:28           ` Timo Aaltonen
  2001-06-08 13:01             ` Andrej Borsenkow
  0 siblings, 1 reply; 16+ messages in thread
From: Timo Aaltonen @ 2001-06-08 12:28 UTC (permalink / raw)
  To: zsh-workers

[-- Attachment #1: Type: TEXT/PLAIN, Size: 593 bytes --]

On Fri, 8 Jun 2001, Andrej Borsenkow wrote:

> > > theremin% CC="cc" ./configure
> > >
> > 
> > Try with DLLD=cc CC=cc. On some systems use of plain ld to create shared
> > libraries does not work (due to additional startup files needed).
> > 
> 
> And I do not like double -lc; you may try with
> 
> DLLDFLAGS='-G -bexpall'
> 
> as well. We provide -lc in any case. 

Argh.. can't.. resist.. must.. try..

here it is (script-output of the compile), seems that the
libzsh-part wen't fine, but rlimits did not.


_______________/Timo Aaltonen <http://www.hut.fi/~tjaalton>
GSM +358-40-5549 618

[-- Attachment #2: Type: TEXT/PLAIN, Size: 7436 bytes --]

Script started on Fri Jun  8 15:21:12 2001\r^[[Jtheremin% ^[[Ka\bamk\b \b\b\ba \b\b \bm\bmake
	cd . &&  CONFIG_FILES= CONFIG_HEADERS=./config.h /bin/sh ./config.status
creating ./config.h
./config.h is unchanged
Target "complete.mdh" is up to date.
Updated `zutil.mdh'.
	rm -f stamp-modobjs.tmp
	echo '' builtin.o compat.o cond.o exec.o glob.o hashtable.o hist.o init.o input.o jobs.o lex.o linklist.o loop.o math.o mem.o module.o options.o params.o parse.o pattern.o prompt.o signals.o signames.o string.o subst.o text.o utils.o watch.o >> ../Src/stamp-modobjs.tmp
`stamp-modobjs' is up to date.
	rm -f libzsh-4.0.1.so
	cc  -s -G -bexpall -bnoquiet -o libzsh-4.0.1.so  `cat stamp-modobjs` -ldl -lcurses -lm  -lc
(ld): halt 4
(ld): setopt strip 
(ld): setopt expall 
(ld): savename libzsh-4.0.1.so
(ld): filelist 32 1
(ld): setopt noprogram
(ld): noentry
NOENTRY: There is no entry point.
(ld): i builtin.o
(ld): i compat.o
(ld): i cond.o
(ld): i exec.o
(ld): i glob.o
(ld): i hashtable.o
(ld): i hist.o
(ld): i init.o
(ld): i input.o
(ld): i jobs.o
(ld): i lex.o
(ld): i linklist.o
(ld): i loop.o
(ld): i math.o
(ld): i mem.o
(ld): i module.o
(ld): i options.o
(ld): i params.o
(ld): i parse.o
(ld): i pattern.o
(ld): i prompt.o
(ld): i signals.o
(ld): i signames.o
(ld): i string.o
(ld): i subst.o
(ld): i text.o
(ld): i utils.o
(ld): i watch.o
(ld): lib /usr/lib/libdl.a
(ld): lib /usr/lib/libcurses.a
(ld): lib /usr/lib/libm.a
(ld): lib /usr/lib/libc.a
LIBRARY: Shared object libdl.a[shr.o]: 4 symbols imported.
LIBRARY: Shared object libcurses.a[shr42.o]: 499 symbols imported.
LIBRARY: Shared object libc.a[shr.o]: 2238 symbols imported.
LIBRARY: Shared object libc.a[meth.o]: 2 symbols imported.
LIBRARY: Shared object libc.a[aio.o]: 11 symbols imported.
LIBRARY: Shared object libc.a[pse.o]: 78 symbols imported.
LIBRARY: Shared object libc.a[dl.o]: 4 symbols imported.
LIBRARY: Shared object libc.a[pty.o]: 1 symbols imported.
FILELIST: Number of previously inserted files processed: 32
(ld): resolve
RESOLVE: 2415 of 7455 symbols were kept.
(ld): addgl /usr/lib/glink.o
ADDGL: Glink code added for 149 symbols.
(ld): er full
ER: There are no unresolved symbols.
(ld): mismatch
MISMATCH: No type mismatches exist.
(ld): comprld
COMPRLD: Kept 13424 of 13424 relocation entries.
(ld): origin page 0x10000000 0x20000000
(ld): save SRE .
SAVE: Section sizes = 458528+57512+32212 (0x6FF20+0xE0A8+0x7DD4 hex)
SAVE: Size of TOC: 2380 (0x94C hex)
(ld): rc
RC: Highest return code was 0.
	rm -f zsh
	LD_RUN_PATH=/usr/local/lib/zsh cc -qlanglvl=ansi  -s  -o zsh main.o    libzsh-4.0.1.so -ldl -lcurses -lm  -lc
	rm -f rlimits.so
	cc  -s -G -bexpall -bnoquiet -o rlimits.so   rlimits..o    -ldl -lcurses -lm  -lc 
(ld): halt 4
(ld): setopt strip 
(ld): setopt expall 
(ld): savename rlimits.so
(ld): filelist 5 1
(ld): setopt noprogram
(ld): noentry
NOENTRY: There is no entry point.
(ld): i rlimits..o
(ld): lib /usr/lib/libdl.a
(ld): lib /usr/lib/libcurses.a
(ld): lib /usr/lib/libm.a
(ld): lib /usr/lib/libc.a
LIBRARY: Shared object libdl.a[shr.o]: 4 symbols imported.
LIBRARY: Shared object libcurses.a[shr42.o]: 499 symbols imported.
LIBRARY: Shared object libc.a[shr.o]: 2238 symbols imported.
LIBRARY: Shared object libc.a[meth.o]: 2 symbols imported.
LIBRARY: Shared object libc.a[aio.o]: 11 symbols imported.
LIBRARY: Shared object libc.a[pse.o]: 78 symbols imported.
LIBRARY: Shared object libc.a[dl.o]: 4 symbols imported.
LIBRARY: Shared object libc.a[pty.o]: 1 symbols imported.
FILELIST: Number of previously inserted files processed: 5
(ld): resolve
RESOLVE: 42 of 3520 symbols were kept.
(ld): addgl /usr/lib/glink.o
ADDGL: Glink code added for 9 symbols.
(ld): er full
ld: 0711-318 ERROR: Undefined symbols were found.
	The following symbols are in error:
 Symbol                    Inpndx  TY CL Source-File(Object-File) OR Import-File{Shared-object}
                              RLD: Address  Section  Rld-type Referencing Symbol
 ----------------------------------------------------------------------------------------------
 typtab                    [56]    ER UA rlimits.c(rlimits..o)
                                   00001718 .data    R_POS    [58]    <typtab>
 .zwarnnam                 [84]    ER PR rlimits.c(rlimits..o)
                                   000002b4 .text    R_RBR    [14]    <.bin_ulimit>
                                   000004f4 .text    R_RBR    [14]    <.bin_ulimit>
                                   0000051c .text    R_RBR    [14]    <.bin_ulimit>
                                   00000544 .text    R_RBR    [14]    <.bin_ulimit>
                                   00000570 .text    R_RBR    [14]    <.bin_ulimit>
                                   000005b4 .text    R_RBR    [14]    <.bin_ulimit>
                                   000009d4 .text    R_RBR    [16]    <.bin_unlimit>
                                   00000bfc .text    R_RBR    [16]    <.bin_unlimit>
                                   00000c38 .text    R_RBR    [16]    <.bin_unlimit>
                                   00000c54 .text    R_RBR    [16]    <.bin_unlimit>
                                   000010ec .text    R_RBR    [18]    <.bin_limit>
                                   000011d4 .text    R_RBR    [18]    <.bin_limit>
                                   000011f4 .text    R_RBR    [18]    <.bin_limit>
                                   00001210 .text    R_RBR    [18]    <.bin_limit>
                                   00001250 .text    R_RBR    [18]    <.bin_limit>
 current_limits            [60]    ER UA rlimits.c(rlimits..o)
                                   0000172c .data    R_POS    [62]    <current_limits>
 limits                    [64]    ER UA rlimits.c(rlimits..o)
                                   00001730 .data    R_POS    [66]    <limits>
 .zsetlimit                [90]    ER PR rlimits.c(rlimits..o)
                                   000004d8 .text    R_RBR    [14]    <.bin_ulimit>
                                   0000061c .text    R_RBR    [14]    <.bin_ulimit>
                                   00000640 .text    R_RBR    [14]    <.bin_ulimit>
                                   00000c80 .text    R_RBR    [16]    <.bin_unlimit>
                                   00001284 .text    R_RBR    [18]    <.bin_limit>
 .setlimits                [92]    ER PR rlimits.c(rlimits..o)
                                   000009ac .text    R_RBR    [16]    <.bin_unlimit>
                                   00000d40 .text    R_RBR    [18]    <.bin_limit>
 .deletebuiltins           [106]   ER PR rlimits.c(rlimits..o)
                                   00001684 .text    R_RBR    [26]    .cleanup_
 .addbuiltins              [108]   ER PR rlimits.c(rlimits..o)
                                   000016cc .text    R_RBR    [28]    .boot_
ER: The return code is 8.
make: The error code from the last command is 8.


Stop.
make: The error code from the last command is 1.


Stop.
make: The error code from the last command is 2.


Stop.
make: The error code from the last command is 1.


Stop.
\r^[[Jtheremin% ^[[Ke\bexit

script done on Fri Jun  8 15:21:27 2001

^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: AIX-problem: the main module won't link statically
  2001-06-08 12:28           ` Timo Aaltonen
@ 2001-06-08 13:01             ` Andrej Borsenkow
  0 siblings, 0 replies; 16+ messages in thread
From: Andrej Borsenkow @ 2001-06-08 13:01 UTC (permalink / raw)
  To: Timo Aaltonen, zsh-workers

>
> On Fri, 8 Jun 2001, Andrej Borsenkow wrote:
>
> > > > theremin% CC="cc" ./configure
> > > >
> > >
> > > Try with DLLD=cc CC=cc. On some systems use of plain ld to
> create shared
> > > libraries does not work (due to additional startup files needed).
> > >
> >
> > And I do not like double -lc; you may try with
> >
> > DLLDFLAGS='-G -bexpall'
> >
> > as well. We provide -lc in any case.
>
> Argh.. can't.. resist.. must.. try..
>
> here it is (script-output of the compile), seems that the
> libzsh-part wen't fine, but rlimits did not.
>

That is very bad. It most probably means, we still need export files but
they are not created while we think we are on "normal" OS and not on AIX :-0
If it is the case, it may be fixed - unfotunately, we need to know the
format of exports file.

Please, give it a try - create export file for zsh and add it to rlimits,
like:

add ``-bE:zsh.export'' to libzsh flags
add ``-bI:../zsh.export'' to rlimits.so flags (ajust path as appropriate)
try to compile

And as long as you are the only person who has access to AIX - could you
check compiler docs how to generate shared library on your version of AIX?
:-)

-andrej



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: AIX-problem: the main module won't link statically
  2001-06-08 11:41   ` Andrej Borsenkow
  2001-06-08 11:50     ` Timo Aaltonen
@ 2001-06-08 14:23     ` Oliver Kiddle
  2001-06-09  8:52       ` Andrej Borsenkow
  1 sibling, 1 reply; 16+ messages in thread
From: Oliver Kiddle @ 2001-06-08 14:23 UTC (permalink / raw)
  To: zsh-workers

Andrej Borsenkow wrote:
> 
> My guess is that AIX 4.3 has dl* functions and hence AIXDYNAMIC is not used.
> But something goes wrong with dlopen() & Co.

That sounds quite plausible. I expect that it has retained the old calls
though so it might be a good idea to make it use AIXDYNAMIC on AIX even
if the dl* functions are found. What might be worth trying is to use a
contrived config.cache which indicates that the dl* functions are not
there.

Oliver


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: AIX-problem: the main module won't link statically
  2001-06-08 14:23     ` Oliver Kiddle
@ 2001-06-09  8:52       ` Andrej Borsenkow
  2001-06-11 16:29         ` Timothy Miller
  0 siblings, 1 reply; 16+ messages in thread
From: Andrej Borsenkow @ 2001-06-09  8:52 UTC (permalink / raw)
  To: zsh-workers; +Cc: tjaalton, tsm

> Andrej Borsenkow wrote:
> >
> > My guess is that AIX 4.3 has dl* functions and hence AIXDYNAMIC
> is not used.
> > But something goes wrong with dlopen() & Co.
>
> That sounds quite plausible. I expect that it has retained the old calls
> though so it might be a good idea to make it use AIXDYNAMIC on AIX even
> if the dl* functions are found. What might be worth trying is to use a
> contrived config.cache which indicates that the dl* functions are not
> there.
>

Something like this? We already fiddle way too much with cache variables.

To Timo, Timothy - could you test it? If you are not building off CVS you
have to patch configure.in. Stock 4.0.1 won't work with autoconf-2.50; CVS
version will.

-andrej

Index: zshconfig.ac
===================================================================
RCS file: /cvsroot/zsh/zsh/zshconfig.ac,v
retrieving revision 1.5
diff -u -r1.5 zshconfig.ac
--- zshconfig.ac        2001/06/08 18:34:53     1.5
+++ zshconfig.ac        2001/06/09 08:47:50
@@ -1497,28 +1497,29 @@
 MOD_IMPORT_FUNCTION=
 aixdynamic=no
 hpuxdynamic=no
-if test "$ac_cv_func_dlopen"  != yes ||
-   test "$ac_cv_func_dlsym"   != yes ||
-   test "$ac_cv_func_dlerror" != yes; then
-  if test "$ac_cv_func_load"      != yes ||
-     test "$ac_cv_func_unload"    != yes ||
-     test "$ac_cv_func_loadbind"  != yes ||
-     test "$ac_cv_func_loadquery" != yes; then
-    if test "$ac_cv_func_shl_load" != yes ||
-       test "$ac_cv_func_shl_unload" != yes ||
-       test "$ac_cv_func_shl_findsym" != yes; then
-      dynamic=no
-    elif test "x$dynamic" = xyes; then
-      hpuxdynamic=yes
-      DL_EXT="${DL_EXT=sl}"
-      dnl autoheader won't allow us to define anything which isn't
-      dnl going into a header, and we can't undefine anything, so
-      dnl just define this anyway and rely on the later tests to
-      dnl define DYNAMIC or not.
-      AC_DEFINE(HPUXDYNAMIC)dnl
-    fi
-  elif test "x$dynamic" = xyes; then
+if test "$ac_cv_func_load"      = yes &&
+   test "$ac_cv_func_unload"    = yes &&
+   test "$ac_cv_func_loadbind"  = yes &&
+   test "$ac_cv_func_loadquery" = yes; then
+  dnl Force AIXDYNAMIC even on newer versions that have dl family
+  if test "x$dynamic" = xyes; then
     aixdynamic=yes
+  fi
+elif test "$ac_cv_func_dlopen"  != yes ||
+     test "$ac_cv_func_dlsym"   != yes ||
+     test "$ac_cv_func_dlerror" != yes; then
+  if test "$ac_cv_func_shl_load" != yes ||
+     test "$ac_cv_func_shl_unload" != yes ||
+     test "$ac_cv_func_shl_findsym" != yes; then
+    dynamic=no
+  elif test "x$dynamic" = xyes; then
+    hpuxdynamic=yes
+    DL_EXT="${DL_EXT=sl}"
+    dnl autoheader won't allow us to define anything which isn't
+    dnl going into a header, and we can't undefine anything, so
+    dnl just define this anyway and rely on the later tests to
+    dnl define DYNAMIC or not.
+    AC_DEFINE(HPUXDYNAMIC)dnl
   fi
 fi



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: AIX-problem: the main module won't link statically
  2001-06-09  8:52       ` Andrej Borsenkow
@ 2001-06-11 16:29         ` Timothy Miller
  2001-06-11 17:58           ` Andrej Borsenkow
  2001-06-12 12:24           ` Oliver Kiddle
  0 siblings, 2 replies; 16+ messages in thread
From: Timothy Miller @ 2001-06-11 16:29 UTC (permalink / raw)
  To: Andrej Borsenkow; +Cc: zsh-workers, tjaalton

On Sat, 9 Jun 2001 12:52:29 +0400, "Andrej Borsenkow" <Andrej.Borsenkow@mow.siemens.ru> wrote:
> > Andrej Borsenkow wrote:
> > >
> > > My guess is that AIX 4.3 has dl* functions and hence AIXDYNAMIC
> > is not used.
> > > But something goes wrong with dlopen() & Co.
> >
> > That sounds quite plausible. I expect that it has retained the old calls
> > though so it might be a good idea to make it use AIXDYNAMIC on AIX even
> > if the dl* functions are found. What might be worth trying is to use a
> > contrived config.cache which indicates that the dl* functions are not
> > there.
> >
> 
> Something like this? We already fiddle way too much with cache variables.
> 
> To Timo, Timothy - could you test it? If you are not building off CVS you
> have to patch configure.in. Stock 4.0.1 won't work with autoconf-2.50; CVS
> version will.
> 
> -andrej
> 
> Index: zshconfig.ac
> ===================================================================
> RCS file: /cvsroot/zsh/zsh/zshconfig.ac,v
> retrieving revision 1.5
> diff -u -r1.5 zshconfig.ac
> --- zshconfig.ac        2001/06/08 18:34:53     1.5
> +++ zshconfig.ac        2001/06/09 08:47:50
> @@ -1497,28 +1497,29 @@
>  MOD_IMPORT_FUNCTION=
>  aixdynamic=no
>  hpuxdynamic=no
> -if test "$ac_cv_func_dlopen"  != yes ||
> -   test "$ac_cv_func_dlsym"   != yes ||
> -   test "$ac_cv_func_dlerror" != yes; then
> -  if test "$ac_cv_func_load"      != yes ||
> -     test "$ac_cv_func_unload"    != yes ||
> -     test "$ac_cv_func_loadbind"  != yes ||
> -     test "$ac_cv_func_loadquery" != yes; then
> -    if test "$ac_cv_func_shl_load" != yes ||
> -       test "$ac_cv_func_shl_unload" != yes ||
> -       test "$ac_cv_func_shl_findsym" != yes; then
> -      dynamic=no
> -    elif test "x$dynamic" = xyes; then
> -      hpuxdynamic=yes
> -      DL_EXT="${DL_EXT=sl}"
> -      dnl autoheader won't allow us to define anything which isn't
> -      dnl going into a header, and we can't undefine anything, so
> -      dnl just define this anyway and rely on the later tests to
> -      dnl define DYNAMIC or not.
> -      AC_DEFINE(HPUXDYNAMIC)dnl
> -    fi
> -  elif test "x$dynamic" = xyes; then
> +if test "$ac_cv_func_load"      = yes &&
> +   test "$ac_cv_func_unload"    = yes &&
> +   test "$ac_cv_func_loadbind"  = yes &&
> +   test "$ac_cv_func_loadquery" = yes; then
> +  dnl Force AIXDYNAMIC even on newer versions that have dl family
> +  if test "x$dynamic" = xyes; then
>      aixdynamic=yes
> +  fi
> +elif test "$ac_cv_func_dlopen"  != yes ||
> +     test "$ac_cv_func_dlsym"   != yes ||
> +     test "$ac_cv_func_dlerror" != yes; then
> +  if test "$ac_cv_func_shl_load" != yes ||
> +     test "$ac_cv_func_shl_unload" != yes ||
> +     test "$ac_cv_func_shl_findsym" != yes; then
> +    dynamic=no
> +  elif test "x$dynamic" = xyes; then
> +    hpuxdynamic=yes
> +    DL_EXT="${DL_EXT=sl}"
> +    dnl autoheader won't allow us to define anything which isn't
> +    dnl going into a header, and we can't undefine anything, so
> +    dnl just define this anyway and rely on the later tests to
> +    dnl define DYNAMIC or not.
> +    AC_DEFINE(HPUXDYNAMIC)dnl
>    fi
>  fi

There's no zshconfig.ac in the zsh-4.0.1 source I have so I presume that's
what you meant about needing to patch configure.in directly. However, I was
unsure about what was meant about autoconf (the currently installed version
is either 2.14.1 or 2.13), so I patched configure directly (substituting
AC_DEFINE and dnl the way they were done in configure). On doing plain
configure (which uses gcc), it compiles ok up until:

Updated `stamp-modobjs'.
rm -f libzsh-4.0.1.so
gcc  -s  -o libzsh-4.0.1.so  `cat stamp-modobjs` -ldl -lcurses -lm  -lc
ld: 0711-317 ERROR: Undefined symbol: .main
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit status
gmake[1]: *** [libzsh-4.0.1.so] Error 1
gmake[1]: Leaving directory `/cs/src/zsh/zsh-4.0.1/Src'
gmake: *** [all] Error 1

On doing a "CC=cc ./configure --prefix=/cs" it compiles and runs the tests,
failing A04 and C02 as before, and now also Y0[123] (with failure to load
module zsh/zpty). Apparently the modules aren't built separately? And I
can't load zsh/zftp, so something is wrong. It looks like a bunch of modules
are specified in config.modules as link=no auto=yes but they don't appear to
be built, installed, or loadable from zsh.
   Tim


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: AIX-problem: the main module won't link statically
  2001-06-11 16:29         ` Timothy Miller
@ 2001-06-11 17:58           ` Andrej Borsenkow
  2001-06-12  6:06             ` Strange tests in configure " Andrej Borsenkow
  2001-06-12 12:24           ` Oliver Kiddle
  1 sibling, 1 reply; 16+ messages in thread
From: Andrej Borsenkow @ 2001-06-11 17:58 UTC (permalink / raw)
  To: Timothy Miller; +Cc: zsh-workers, tjaalton

On 11 Jun 2001, Timothy Miller wrote:

>
> There's no zshconfig.ac in the zsh-4.0.1 source I have so I presume that's
> what you meant about needing to patch configure.in directly.

Yes.

cd /some/path/zsh-4.0.1
patch -p0 configure.in < patch.file

 However, I was
> unsure about what was meant about autoconf (the currently installed version
> is either 2.14.1 or 2.13), so I patched configure directly (substituting
> AC_DEFINE and dnl the way they were done in configure).

2.14.1 never existed; there are 2.13 or 2.50; anything in between is
development version that was never officially released. You can just use
2.13 after patching configure.in.

 On doing plain
> configure (which uses gcc), it compiles ok up until:
>

Oliver, is it possible to compile zsh with gcc on AIX? I understand,
currently it is assumed that we use native compiler. Or does gcc support
the same options as native compiler?

> Updated `stamp-modobjs'.
> rm -f libzsh-4.0.1.so

Have you removed config.cache after creating new configure? AIX should not
build libzsh.so; it is hardcoded and does not depend on compiler.

> On doing a "CC=cc ./configure --prefix=/cs" it compiles and runs the tests,
> failing A04 and C02 as before, and now also Y0[123] (with failure to load
> module zsh/zpty). Apparently the modules aren't built separately? And I
> can't load zsh/zftp, so something is wrong. It looks like a bunch of modules
> are specified in config.modules as link=no auto=yes but they don't appear to
> be built, installed, or loadable from zsh.


Please

- make clean source tree
- apply the patch and run autoconf-2.13 as above;
- run configure; make
- send config.log, config.h, config.cache and conifg.modules.

Probably, typescript of make does not harm. You may send them directly to
me so as to not clutter list.

-andrej


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Strange tests in configure Re: AIX-problem: the main module won't link statically
  2001-06-11 17:58           ` Andrej Borsenkow
@ 2001-06-12  6:06             ` Andrej Borsenkow
  0 siblings, 0 replies; 16+ messages in thread
From: Andrej Borsenkow @ 2001-06-12  6:06 UTC (permalink / raw)
  To: zsh-workers


There is something fishy here. We have

if aixdynamic
  preset AIX values including DLLDFLAGS=""
else
  ...
  case $host in
   aix ) DLLDFLAGS="-G -bexportall ..."


But the second branch is never executed for AIX. Anybody remembers what's
going on here? What DLLDFLAGS are needed on AIX? Oliver, what have you
used?

-andrej


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: AIX-problem: the main module won't link statically
  2001-06-11 16:29         ` Timothy Miller
  2001-06-11 17:58           ` Andrej Borsenkow
@ 2001-06-12 12:24           ` Oliver Kiddle
  2001-06-15  9:11             ` Timo Aaltonen
  1 sibling, 1 reply; 16+ messages in thread
From: Oliver Kiddle @ 2001-06-12 12:24 UTC (permalink / raw)
  To: Timothy Miller; +Cc: Andrej Borsenkow, zsh-workers, tjaalton

Timothy Miller wrote:

> Updated `stamp-modobjs'.
> rm -f libzsh-4.0.1.so
> gcc  -s  -o libzsh-4.0.1.so  `cat stamp-modobjs` -ldl -lcurses -lm  -lc

It is still trying to link a libzsh so I suspect that the
zsh_SYS_DYNAMIC_EXECSYMS test is going wrong, possibly because the test
it does is trying to use the dl* functions. Timothy: could you please
try changing the `L=L' line somewhere in configure to `L=N'. Keep
Andrej's patch in and then try another build (after a `make distclean'
or whatever to clean things up).

Andrej wrote:
> Oliver, is it possible to compile zsh with gcc on AIX? I understand,
> currently it is assumed that we use native compiler. Or does gcc support
> the same options as native compiler?

I never tried it. The AIX machines were on an isolated network so I'd
have had to split gcc across a pile of floppies to get it over which I
never felt inclined to do. What I can tell you is that gcc would not
support the same options as the native compiler. For example, I expect
that to achieve the -L option which Timothy described in 14825, it would
need something like -Wl,-rpath,/cs/lib/zsh.

> But the second branch is never executed for AIX. Anybody remembers what's
> going on here? What DLLDFLAGS are needed on AIX? Oliver, what have you
> used?

I wish I could remember that. I don't particularly recognise "-G
-bexportall". You can try looking through the ld documentation which is
at
http://www.rs6000.ibm.com/doc_link/en_US/a_doc_lib/cmds/aixcmds3/ld.htm
but they don't seem to have the compiler's documentation there.

Oliver

_____________________________________________________________________
This message has been checked for all known viruses by the 
MessageLabs Virus Scanning Service. For further information visit
http://www.messagelabs.com/stats.asp


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: AIX-problem: the main module won't link statically
  2001-06-12 12:24           ` Oliver Kiddle
@ 2001-06-15  9:11             ` Timo Aaltonen
  0 siblings, 0 replies; 16+ messages in thread
From: Timo Aaltonen @ 2001-06-15  9:11 UTC (permalink / raw)
  To: zsh-workers; +Cc: Timothy Miller

On Tue, 12 Jun 2001, Oliver Kiddle wrote:

> Andrej wrote:
> > Oliver, is it possible to compile zsh with gcc on AIX? I understand,
> > currently it is assumed that we use native compiler. Or does gcc support
> > the same options as native compiler?
> 
> I never tried it. The AIX machines were on an isolated network so I'd
> have had to split gcc across a pile of floppies to get it over which I
> never felt inclined to do. What I can tell you is that gcc would not
> support the same options as the native compiler. For example, I expect
> that to achieve the -L option which Timothy described in 14825, it would
> need something like -Wl,-rpath,/cs/lib/zsh.

Doesn't work here with 2.8.1..


P.S. now I've discovered another problem with AIX; static zsh doesn't
display 8-bit characters correctly if zpty is configured link=static to
the default config.modules. Also "ls" etc. that print to the terminal are
broken:

theremin zsh-4.0.1 1 % ls
ChangeLog            README               config.modules-orig
                                                             ChangeLog-3.1
Src                  config.status
                                    ChangeLog.3.0        StartupFiles
config.sub
        Completion           Test                 configure
                                                           Config
Util                 configure.in
                                 Doc                  acconfig.h
configure.in.orig
            Etc                  aclocal.m4           conftest1.c
                                                                 Functions
aczsh.m4             conftest1.o
                                      INSTALL              config.cache
conftest2.c
           LICENCE              config.guess         install-sh
                                                               META-FAQ
config.h             mkinstalldirs
                                      Makefile             config.h.in
stamp-h
       Makefile.in          config.log           stamp-h.in
                                                           Misc
config.modules       typescript




_______________/Timo Aaltonen <http://www.hut.fi/~tjaalton>
GSM +358-40-5549 618




^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2001-06-15  9:11 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <001501c0eff2$70ad3ee0$21c9ca95@mow.siemens.ru>
2001-06-08 10:53 ` AIX-problem: the main module won't link statically Oliver Kiddle
2001-06-08 11:41   ` Andrej Borsenkow
2001-06-08 11:50     ` Timo Aaltonen
2001-06-08 12:05       ` Peter Stephenson
2001-06-08 12:06       ` Andrej Borsenkow
2001-06-08 12:11         ` Andrej Borsenkow
2001-06-08 12:28           ` Timo Aaltonen
2001-06-08 13:01             ` Andrej Borsenkow
2001-06-08 12:12         ` Timo Aaltonen
2001-06-08 14:23     ` Oliver Kiddle
2001-06-09  8:52       ` Andrej Borsenkow
2001-06-11 16:29         ` Timothy Miller
2001-06-11 17:58           ` Andrej Borsenkow
2001-06-12  6:06             ` Strange tests in configure " Andrej Borsenkow
2001-06-12 12:24           ` Oliver Kiddle
2001-06-15  9:11             ` Timo Aaltonen

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).