From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22540 invoked from network); 27 Jan 1997 17:55:22 -0000 Received: from euclid.skiles.gatech.edu (list@130.207.146.50) by coral.primenet.com.au with SMTP; 27 Jan 1997 17:55:22 -0000 Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id MAA29095; Mon, 27 Jan 1997 12:42:01 -0500 (EST) Resent-Date: Mon, 27 Jan 1997 12:42:01 -0500 (EST) From: arif@argo.dcrt.nih.gov (Anthony Iano-Fletcher) Message-Id: <199701271743.MAA01164@argo.dcrt.nih.gov> Subject: compiling zsh 3.10 on Solaris 2.4 for dynamically loaded modules To: Zsh-workers@math.gatech.edu Date: Mon, 27 Jan 1997 12:43:36 -0500 (EST) X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-ID: <"AkoWY2.0.V67.eZExo"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/2822 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu Hi Im trying to compile zsh 3.1.0 with dynamically loaded binary modules (a wonderful idea) for Solaris 2.4. Has anyone got this to work and is it meant to work on Solaris yet? I use ./configure --enable-dynamic and I get the following edited results... .... checking for dlopen... yes checking for dlerror... yes checking for dlsym... yes checking for dlclose... yes .... checking if your dlsym() needs a leading underscore... failed This failure, I guess, turns off the dynamic option and I get a non-dynamic zsh. When I try to lie and build a zsh with dynamic loading then it will read the zle.so library but fail soon after. Here is the output of truss...... open("/tmp/lib/zsh/3.1.0/zle", O_RDONLY) = 3 fstat(3, 0xDFFFEF4C) = 0 mmap(0x00000000, 4096, PROT_READ|PROT_EXEC, MAP_SHARED, 3, 0) = 0xDF7B0000 mmap(0x00000000, 319488, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xDF580000 munmap(0xDF5BB000, 61440) = 0 mmap(0xDF5CA000, 5784, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 237568) = 0xDF5CA000 open("/dev/zero", O_RDONLY) = 4 mmap(0xDF5CC000, 5016, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0xDF5CC000 close(3) = 0 mprotect(0xDF580000, 239338, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 munmap(0xDF5CA000, 13208) = 0 munmap(0xDF580000, 239338) = 0 close(4) = 0 munmap(0xDF7B0000, 4096) = 0 zsh: failed to load module: zle write(2, " z s h : f a i l e d ".., 32) = 32 getuid() = 11916 [11916] argo% write(2, " a r g o % ", 6) = 6 read(0, 0xDF6C432C, 1024) = 0 time() = 854386460 getpid() = 1133 [1132] lseek(0, 0, SEEK_CUR) = 768892 _exit(0) Any suggestions? All this was done with a minimal environment in case it made a difference but it didn't. thanks in advance, Anthony. ----------------------- full output of configure. -------------- creating cache ./config.cache configuring for zsh 3.1.0 checking host system type... sparc-sun-solaris2.4 checking for gcc... gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking how to run the C preprocessor... gcc -E checking whether gcc needs -traditional... no checking for working const... yes checking for gcc option to accept ANSI C... checking for function prototypes... yes checking size of long... 4 checking if signed to unsigned casting is broken... no checking if the compiler supports variable-lenth arrays... yes checking whether make sets ${MAKE}... yes checking for a BSD compatible install... /usr/local/bin/ginstall -c checking for mawk... no checking for gawk... gawk checking for dirent.h that defines DIR... yes checking for opendir in -ldir... no checking for ANSI C header files... yes checking whether time.h and sys/time.h may both be included... yes checking whether stat file-mode macros are broken... no checking for sys/wait.h that is POSIX.1 compatible... yes checking for sys/time.h... yes checking for sys/times.h... yes checking for sys/select.h... yes checking for termcap.h... no checking for termio.h... yes checking for termios.h... yes checking for sys/param.h... yes checking for sys/filio.h... yes checking for string.h... yes checking for memory.h... yes checking for limits.h... yes checking for fcntl.h... yes checking for libc.h... no checking for sys/utsname.h... yes checking for sys/resource.h... yes checking for locale.h... yes checking for errno.h... yes checking for stdlib.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for conflicts in sys/time.h and sys/select.h... no checking ut_host in struct utmp... no checking ut_host in struct utmpx... yes checking POSIX termios... yes checking TIOCGWINSZ in termios.h... yes checking for sys/ptem.h... yes checking for tgetent in -ltermcap... yes checking for getdomainname... no checking for getdomainname in -lnsl... yes checking for dlopen in -ldl... yes checking if an include file defines ospeed... no checking if you must define ospeed... yes checking if tgetent accepts NULL... yes checking return type of signal handlers... void checking for pid_t... yes checking for off_t... yes checking for mode_t... yes checking for uid_t in sys/types.h... yes checking for size_t... yes checking for sigset_t... yes checking for struct timezone... yes checking whether getpgrp takes no argument... yes checking for strftime... yes checking for waitpid... yes checking for select... yes checking for tcsetpgrp... yes checking for tcgetattr... yes checking for strstr... yes checking for lstat... yes checking for getlogin... yes checking for setpgid... yes checking for gettimeofday... yes checking for gethostname... yes checking for mkfifo... yes checking for wait3... no checking for difftime... yes checking for sigblock... no checking for sigsetmask... no checking for sigrelse... yes checking for sighold... yes checking for killpg... no checking for sigaction... yes checking for getrlimit... yes checking for sigprocmask... yes checking for setuid... yes checking for seteuid... yes checking for setreuid... no checking for setresuid... no checking for strerror... yes checking for nis_list... yes checking for initgroups... yes checking for dlopen... yes checking for dlerror... yes checking for dlsym... yes checking for dlclose... yes checking for working strcoll... yes checking what style of signals to use... POSIX_SIGNALS checking where signal.h is located... /usr/include/sys/signal.h checking where the RLIMIT macros are located... /usr/include/sys/resource.h checking for /dev/fd filesystem... yes checking for RFS superroot directory... no checking for NIS... no checking for NIS+... no checking where utmp is located... /etc/utmp checking where wtmp is located... /etc/wtmp checking if typeahead needs FIONREAD... no checking for brk() prototype in ... yes checking for sbrk() prototype in ... yes checking for ioctl prototype in ... no checking if named FIFOs work... yes checking if echo in /bin/sh interprets escape sequences... yes checking if your system use ELF binaries... yes checking if your dlsym() needs a leading underscore... failed updating cache ./config.cache creating ./config.status creating Makefile creating Src/Makefile creating Src/Zle/Makefile creating Src/Modules/Makefile creating Doc/Makefile creating Etc/Makefile creating Misc/Makefile creating Util/Makefile creating Functions/Makefile creating StartupFiles/Makefile creating config.h config.h is unchanged zsh configuration ----------------- zsh version : 3.1.0 host operating system : solaris2.4 source code location : . compiler : gcc compiler flags : -Wall -Wno-implicit -Wmissing-prototypes -O2 binary install path : /usr/local/bin man page install path : /usr/local/man info install path : /usr/local/info