[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bash 4.3 series does not compile on IRIX 6.5.22
From: |
Klaus Ziegler - owner of sunfreeware.de |
Subject: |
bash 4.3 series does not compile on IRIX 6.5.22 |
Date: |
Fri, 26 Jun 2015 23:42:00 +0200 |
User-agent: |
Mozilla/5.0 (X11; SunOS i86pc; rv:31.0) Gecko/20100101 Thunderbird/31.0 |
Hi *,
Configuration Information [Automatically generated, do not change]:
Machine: mips
OS: irix6.5
Compiler: gcc
Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='mips'
-DCONF_OSTYPE='irix6.5' -DCONF_MACHTYPE='mips-sgi-irix6.5'
-DCONF_VENDOR='sgi' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash'
-DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -mabi=64 -Ofast
-mips4 -mtune=r8000
uname output: IRIX64 indigo2 6.5 10070055 IP26
Machine Type: mips-sgi-irix6.5
Bash Version: 4.3
Patch Level: 39
Release Status: release
Description:
Bash 4.3.39 does not compile due to wrong signal.h handling i sig.h
Repeat-By:
normal configure, make, make install with the following options:
--enable-help-builtin --enable-history --enable-job-control
--enable-multibyte --enable-process-substitution --enable-progcomp
--enable-prompt-string-decoding --enable-readline --enable-select
--enable-strict-posix-default --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
error which occurs:
gcc -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"mips"'
-DCONF_OSTYPE='"irix6.5"' -DCONF_MACHTYPE='"mips-sgi-irix6.5"'
-DCONF_VENDOR='"sgi"' -DLOCALEDIR='"/usr/share/locale"'
-DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include
-I./lib -mabi=64 -Ofast -mips4 -mtune=r8000 -c general.c
In file included from quit.h:24:0,
from shell.h:33,
from general.c:41:
sig.h:111:1: error: unknown type name 'sig_atomic_t'
sig.h:112:1: error: unknown type name 'sig_atomic_t'
In file included from shell.h:33:0,
from general.c:41:
quit.h:27:1: error: unknown type name 'sig_atomic_t'
quit.h:28:1: error: unknown type name 'sig_atomic_t'
Makefile:97: recipe for target 'general.o' failed
gmake: *** [general.o] Error 1
there are also some more warnings during the build, which are fixed by
the attached patch:
gcc -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"mips"'
-DCONF_OSTYPE='"irix6.5"' -DCONF_MACHTYPE='"mips-sgi-irix6.5"'
-DCONF_VENDOR='"sgi"' -DLOCALEDIR='"/usr/share/locale"'
-DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include
-I./lib -mabi=64 -Ofast -mips4 -mtune=r8000 -c pcomplete.c
pcomplete.c: In function 'pcomp_filename_completion_function':
pcomplete.c:781:9: warning: passing argument 1 of 'sh_contains_quotes'
discards 'const' qualifier from pointer target type [enabled by default]
In file included from shell.h:42:0,
from pcomplete.c:46:
externs.h:327:12: note: expected 'char *' but argument is of type 'const
char *'
gcc -c -DHAVE_CONFIG_H -DSHELL -I. -I.. -I.. -I../include -I../lib
-I. -mabi=64 -Ofast -mips4 -mtune=r8000 evalstring.c
evalstring.c: In function 'parse_and_execute':
evalstring.c:208:3: warning: passing argument 1 of 'sigemptyset'
discards 'volatile' qualifier from pointer target type [enabled by default]
In file included from /usr/include/signal.h:4:0,
from evalstring.c:31:
/usr/include/internal/signal_core.h:142:12: note: expected 'struct
sigset_t *' but argument is of type 'volatile struct sigset_t *'
evalstring.c:209:3: warning: passing argument 3 of 'sigprocmask'
discards 'volatile' qualifier from pointer target type [enabled by default]
In file included from /usr/include/signal.h:4:0,
from evalstring.c:31:
/usr/include/internal/signal_core.h:138:12: note: expected 'struct
sigset_t *' but argument is of type 'volatile struct sigset_t *'
evalstring.c:288:5: warning: passing argument 2 of 'sigprocmask'
discards 'volatile' qualifier from pointer target type [enabled by default]
In file included from /usr/include/signal.h:4:0,
from evalstring.c:31:
/usr/include/internal/signal_core.h:138:12: note: expected 'const struct
sigset_t *' but argument is of type 'volatile struct sigset_t *'
evalstring.c: In function 'parse_string':
evalstring.c:460:3: warning: passing argument 1 of 'sigemptyset'
discards 'volatile' qualifier from pointer target type [enabled by default]
In file included from /usr/include/signal.h:4:0,
from evalstring.c:31:
/usr/include/internal/signal_core.h:142:12: note: expected 'struct
sigset_t *' but argument is of type 'volatile struct sigset_t *'
evalstring.c:461:3: warning: passing argument 3 of 'sigprocmask'
discards 'volatile' qualifier from pointer target type [enabled by default]
In file included from /usr/include/signal.h:4:0,
from evalstring.c:31:
/usr/include/internal/signal_core.h:138:12: note: expected 'struct
sigset_t *' but argument is of type 'volatile struct sigset_t *'
evalstring.c:513:8: warning: passing argument 2 of 'sigprocmask'
discards 'volatile' qualifier from pointer target type [enabled by default]
In file included from /usr/include/signal.h:4:0,
from evalstring.c:31:
/usr/include/internal/signal_core.h:138:12: note: expected 'const struct
sigset_t *' but argument is of type 'volatile struct sigset_t *'
Fix:
--- sig.h.orig 2013-02-27 16:17:20.000000000 +0100
+++ sig.h 2015-06-24 22:41:55.961577207 +0200
@@ -25,7 +25,7 @@
#include "stdc.h"
-#if !defined (SIG_DFL)
+#if !defined (SIG_DFL) || defined __sgi
# include <signal.h> /* for sig_atomic_t */
#endif
--- externs.h.orig 2014-10-01 18:57:22.000000000 +0200
+++ externs.h 2015-06-26 20:19:56.702752134 +0200
@@ -324,7 +324,7 @@
extern char *sh_backslash_quote __P((char *, const char *, int));
extern char *sh_backslash_quote_for_double_quotes __P((char *));
extern int sh_contains_shell_metas __P((char *));
-extern int sh_contains_quotes __P((char *));
+extern int sh_contains_quotes __P((const char *));
/* declarations for functions defined in lib/sh/spell.c */
extern int spname __P((char *, char *));
--- builtins/evalstring.c.orig 2014-10-05 19:52:50.000000000 +0200
+++ builtins/evalstring.c 2015-06-26 20:52:47.734424454 +0200
@@ -195,7 +195,11 @@
int code, lreset;
volatile int should_jump_to_top_level, last_result;
COMMAND *volatile command;
+#ifdef __sgi
+ sigset_t pe_sigmask;
+#else
volatile sigset_t pe_sigmask;
+#endif
parse_prologue (string, flags, PE_TAG);
@@ -451,7 +455,11 @@
volatile int should_jump_to_top_level;
COMMAND *volatile command, *oglobal;
char *ostring;
+#ifdef __sgi
+ sigset_t ps_sigmask;
+#else
volatile sigset_t ps_sigmask;
+#endif
parse_prologue (string, flags, PS_TAG);
Thanks much in advance
Klaus Ziegler
Tel: (++49
6105) 968846
Klaus Ziegler Mobil: (++49 172) 3064445
Zeppelinstrasse 3 mailto: klausz@haus-gisela.de
D-64546 Walldorf-Moerfelden http://www.haus-gisela.de/~klausz
bash43-040
Description: Text document
- bash 4.3 series does not compile on IRIX 6.5.22,
Klaus Ziegler - owner of sunfreeware.de <=