Path: csiph.com!xmission!news.glorb.com!usenet.stanford.edu!not-for-mail From: "Klaus Ziegler - owner of sunfreeware.de" Newsgroups: gnu.bash.bug Subject: bash 4.3.42 configure script needs to test sys/resource.h different on SunOS4 Date: Tue, 13 Oct 2015 22:10:34 +0200 Lines: 189 Approved: bug-bash@gnu.org Message-ID: NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: usenet.stanford.edu 1444768305 4211 208.118.235.17 (13 Oct 2015 20:31:45 GMT) X-Complaints-To: action@cs.stanford.edu Cc: h_berghaeuser@yahoo.de To: bug-bash@gnu.org Envelope-to: bug-bash@gnu.org User-Agent: Mozilla/5.0 (X11; SunOS i86pc; rv:31.0) Gecko/20100101 Thunderbird/31.0 X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (www.haus-gisela.de); Tue, 13 Oct 2015 22:10:47 +0200 (CEST) X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 195.71.106.14 X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com gnu.bash.bug:11651 Configuration Information [Automatically generated, do not change]: Machine: m68k OS: sunos4.1.1_U1 Compiler: gcc Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='m68k' -DCONF_OSTYPE='sunos4.1.1_U1' -DCONF_MACHTYPE='m68k-sun-sunos4.1.1_U1' -DCONF_VENDOR='sun' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -DSunOS4 -I. -I. -I./include -I./lib -I./lib/intl -I/export/home/klausz/src/bash-4.3.30/lib/intl -O2 uname output: SunOS suntools 4.1.1_U1 1 sun3x Machine Type: m68k-sun-sunos4.1.1_U1 Bash Version: 4.3 Patch Level: 42 Release Status: release Description: if running the configure script on SunOS4 the following WARNING occurs: ./configure `cat /export/home/klausz/src/conf_bash-4.3.30` checking build system type... m68k-sun-sunos4.1.1_U1 checking host system type... m68k-sun-sunos4.1.1_U1 Beginning configuration for bash-4.3-release for m68k-sun-sunos4.1.1_U1 checking for gcc... gcc ... checking sys/resource.h usability... no checking sys/resource.h presence... yes configure: WARNING: sys/resource.h: present but cannot be compiled configure: WARNING: sys/resource.h: check for missing prerequisite headers? configure: WARNING: sys/resource.h: see the Autoconf documentation configure: WARNING: sys/resource.h: section "Present But Cannot Be Compiled" configure: WARNING: sys/resource.h: proceeding with the compiler's result configure: WARNING: ## ------------------------------- ## configure: WARNING: ## Report this to bug-bash@gnu.org ## configure: WARNING: ## ------------------------------- ## checking for sys/resource.h... no ... checking for snprintf... no <---- no warning here - but! ... this leads to the following compilation errors later on: gcc -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"m68k"' -DCONF_OSTYPE='"sunos4.1.1_U1"' -DCONF_MACHTYPE='"m68k-sun-sunos4.1.1_U1"' -DCONF_VENDOR='"sun"' -DLOCALEDIR='"/usr/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H -DSunOS4 -I. -I. -I./include -I./lib -I./lib/intl -I/export/home/klausz/src/bash-4.3.30/lib/intl -O2 -O2 -O2 -o bashversion ./support/bashversion.c buildversion.o ld: Undefined symbol _snprintf collect2: ld returned 2 exit status gmake: *** [bashversion] Error 1 ... gcc -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"m68k"' -DCONF_OSTYPE='"sunos4.1.1_U1"' -DCONF_MACHTYPE='"m68k-sun-sunos4.1.1_U1"' -DCONF_VENDOR='"sun"' -DLOCALEDIR='"/usr/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H -DSunOS4 -I. -I. -I./include -I./lib -I./lib/intl -I/export/home/klausz/src/bash-4.3.30/lib/intl -O2 -c execute_cmd.c execute_cmd.c: In function `time_command': execute_cmd.c:1268: storage size of `selfb' isn't known execute_cmd.c:1268: storage size of `selfa' isn't known execute_cmd.c:1268: storage size of `kidsb' isn't known execute_cmd.c:1268: storage size of `kidsa' isn't known execute_cmd.c:1282: `RUSAGE_SELF' undeclared (first use in this function) execute_cmd.c:1282: (Each undeclared identifier is reported only once execute_cmd.c:1282: for each function it appears in.) execute_cmd.c:1283: `RUSAGE_CHILDREN' undeclared (first use in this function) gmake: *** [execute_cmd.o] Error 1 Hi Chet, I have no clue how to fix the bashversion linking error in the configure script, besides modifying config.h after configure has done it's work. However, the compile error in execute_cmd.c, is directly related to the failed autoconf test for from above. On SunOS4 a test for /usr/include/sys/resource.h needs to include /usr/include/sys/time.h to be successful. from config.log: configure:9287: checking sys/resource.h usability configure:9287: gcc -c -O2 conftest.c >&5 In file included from conftest.c:147: /usr/include/sys/resource.h:24: field `ru_utime' has incomplete type /usr/include/sys/resource.h:25: field `ru_stime' has incomplete type configure:9287: $? = 1 from /usr/include/sys/resource.h: 23 struct rusage { 24 struct timeval ru_utime; /* user time used */ 25 struct timeval ru_stime; /* system time used */ from /usr/include/sys/time.h: 16 struct timeval { 17 long tv_sec; /* seconds */ 18 long tv_usec; /* and microseconds */ 19 }; including before checking works. Other useful information: configure options used: --enable-help-builtin --enable-history --enable-job-control --enable-multibyte --enable-process-substitution --enable-progcomp --enable-prompt-string-decoding --enable-readline --enable-select --enable-xpg-echo-default --enable-alias --enable-arith-for-command --enable-array-variables --enable-bang-history --enable-brace-expansion --enable-casemod-attributes --enable-casemod-expansions --enable-command-timing --enable-cond-command --enable-cond-regexp --enable-coprocesses --enable-direxpand-default --enable-directory-stack --enable-dparen-arithmetic --enable-extended-glob --enable-extended-glob-default --enable-glob-asciiranges-default --prefix=/usr GCC used: gcc (GCC) 3.2.3 Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. sorry it's the newest one I could find for this platform. Repeat-By: tried 4.1 series - also happens there. Fix: quick fix: change config.h after configure is run: diff config.h.orig config.h 782c782 < #define HAVE_SNPRINTF 0 --- > /* #undef HAVE_SNPRINTF */ 1000c1000 < /* #undef HAVE_SYS_RESOURCE_H */ --- > #define HAVE_SYS_RESOURCE_H 1 fix for autoconf test in configure: --- configure.orig 2014-02-11 16:38:00.000000000 +0100 +++ configure 2015-10-13 18:12:00.000000000 +0200 @@ -1806,11 +1806,32 @@ # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } + +case "${host_os}" in +sunos4*) +if test "$2" = "sys/resource.h"; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 +#include #include <$2> _ACEOF +else +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +fi +;; +*) +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +;; +esac if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else I don't have the whole autoconf stuff running on this old Sun 3/80, therefore only the configure patch, not a configure.ac patch, sorry about that. Much Regards Klaus