Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: ZSH 4.3.6 fails to compile (module.c: 1453) on AIX 5300-08-01 (AIX 5.3 TL 8), ZSH 4.2.7 compiles



Thanks Peter, that did the trick for module.c, it compiles. Though
make fails a bit after that.

Here's the ./configure output, this one works quite well:

zsh configuration
-----------------
zsh version               : 4.3.6
host operating system     : powerpc-ibm-aix5.3.0.0
source code location      : .
compiler                  : gcc
preprocessor flags        :
executable compiler flags :  -Wall -Wmissing-prototypes -O2
module compiler flags     :  -Wall -Wmissing-prototypes -O2
executable linker flags   :   -s
module linker flags       :   -s -shared
library flags             : -liconv -ldl -lncurses -lm  -lc
installation basename     : zsh
binary install path       : /usr/local/bin
man page install path     : ${prefix}/share/man
info install path         : ${prefix}/share/info
functions install path    : ${prefix}/share/zsh/4.3.6/functions
See config.modules for installed modules and functions.


I'm using gmake 3.81 btw:

[...]

Creating `zshxmods.h'.
echo '#define ZSH_VERSION "'4.3.6'"' > version.h
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o init.o init.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o input.o input.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o jobs.o jobs.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o lex.o lex.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o
linklist.o linklist.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o loop.o loop.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o math.o math.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o mem.o mem.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o module.o module.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o
options.o options.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o params.o params.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o parse.o parse.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o
pattern.o pattern.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o prompt.o prompt.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o
signals.o signals.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o
signames.o signames.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o sort.o sort.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o string.o string.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o subst.o subst.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o text.o text.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o utils.o utils.c
utils.c: In function 'wcs_nicechar':
utils.c:525: warning: comparison is always false due to limited range
of data type
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o watch.o watch.c
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 promp
t.o signals.o signames.o sort.o string.o subst.o text.o utils.o
watch.o >> ../Src/stamp-modobjs.tmp
gmake[3]: Entering directory `/home/cmihai/test/zsh-4.3.6/Src/Builtins'
gmake[3]: Leaving directory `/home/cmihai/test/zsh-4.3.6/Src/Builtins'
gmake[3]: Entering directory `/home/cmihai/test/zsh-4.3.6/Src/Modules'
gmake[3]: Leaving directory `/home/cmihai/test/zsh-4.3.6/Src/Modules'
gmake[3]: Entering directory `/home/cmihai/test/zsh-4.3.6/Src/Zle'
gmake[3]: Leaving directory `/home/cmihai/test/zsh-4.3.6/Src/Zle'
gmake[2]: Leaving directory `/home/cmihai/test/zsh-4.3.6/Src'
Updated `stamp-modobjs'.
gmake[2]: Entering directory `/home/cmihai/test/zsh-4.3.6/Src'
gawk -f ../Src/makepro.awk main.c Src > main.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < main.syms) \
                > main.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < main.syms) \
                > `echo main.epro | sed 's/\.epro$/.pro/'`
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2 -o main.o ./main.c
gmake[2]: Leaving directory `/home/cmihai/test/zsh-4.3.6/Src'
gmake[2]: Entering directory `/home/cmihai/test/zsh-4.3.6/Src'
( echo '#!'; cat builtin.syms compat.syms cond.syms exec.syms
glob.syms hashtable.syms hist.syms init.syms input.syms jobs.syms
lex.syms linklist.syms loop.syms math.syms mem.sy
ms module.syms options.syms params.syms parse.syms pattern.syms
prompt.syms signals.syms signames.syms sort.syms string.syms
subst.syms text.syms utils.syms watch.syms  | sed -n
 '/^X/{s/^X//;p;}' | sort -u ) > zsh.export
gmake[2]: Leaving directory `/home/cmihai/test/zsh-4.3.6/Src'
rm -f zsh
gcc  -s  -o zsh main.o  `cat stamp-modobjs` -Wl,-bE:zsh.export
-liconv -ldl -lncurses -lm  -lc
ld: 0711-319 WARNING: Exported symbol not defined: dputs
ld: 0711-319 WARNING: Exported symbol not defined: metacharlenconv
ld: 0711-319 WARNING: Exported symbol not defined: nicezputs
ld: 0711-319 WARNING: Exported symbol not defined: niceztrlen
ld: 0711-319 WARNING: Exported symbol not defined: zpathmax
gmake[2]: Entering directory `/home/cmihai/test/zsh-4.3.6/Src'
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2
-o modentry..o modentry.c
gmake[2]: Leaving directory `/home/cmihai/test/zsh-4.3.6/Src'
gmake[2]: Entering directory `/home/cmihai/test/zsh-4.3.6/Src'
gmake[3]: Entering directory `/home/cmihai/test/zsh-4.3.6/Src/Builtins'
gawk -f ./rlimits.awk /usr/include/sys/resource.h /dev/null > rlimits.h
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2
-o rlimits..o rlimits.c
( echo '#!'; cat rlimits.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u )
> rlimits.export
rm -f rlimits.so
gcc  -s -shared -o rlimits.so -Wl,-bI:../../Src/zsh.export
-Wl,-bE:rlimits.export -emodentry rlimits..o  ../../Src/modentry..o
-liconv -ldl -lncurses -lm  -lc
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2
-o sched..o sched.c
sched.c: In function 'schedgetfn':
sched.c:355: warning: format '%ld' expects type 'long int', but
argument 3 has type 'time_t'
( echo '#!'; cat sched.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) >
sched.export
rm -f sched.so
gcc  -s -shared -o sched.so -Wl,-bI:../../Src/zsh.export
-Wl,-bE:sched.export -emodentry sched..o  ../../Src/modentry..o
-liconv -ldl -lncurses -lm  -lc
gmake[3]: Leaving directory `/home/cmihai/test/zsh-4.3.6/Src/Builtins'
gmake[3]: Entering directory `/home/cmihai/test/zsh-4.3.6/Src/Modules'
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2
-o cap..o cap.c
gmake[4]: Entering directory `/home/cmihai/test/zsh-4.3.6/Src/Zle'
gmake[4]: `complete.mdh' is up to date.
gmake[4]: Leaving directory `/home/cmihai/test/zsh-4.3.6/Src/Zle'
( echo '#!'; cat cap.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > cap.export
rm -f cap.so
gcc  -s -shared -o cap.so -Wl,-bI:../../Src/zsh.export
-Wl,-bE:cap.export -emodentry cap..o  ../../Src/modentry..o  -liconv
-ldl -lncurses -lm  -lc
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2
-o clone..o clone.c
( echo '#!'; cat clone.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) >
clone.export
rm -f clone.so
gcc  -s -shared -o clone.so -Wl,-bI:../../Src/zsh.export
-Wl,-bE:clone.export -emodentry clone..o  ../../Src/modentry..o
-liconv -ldl -lncurses -lm  -lc
gawk -f ./curses_keys.awk /opt/freeware/include/ncurses/curses.h
/dev/null >curses_keys.h
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2
-o curses..o curses.c
In file included from ../../Src/zsh.mdh:18,
                 from curses.mdh:17,
                 from curses.c:32:
../../Src/zsh.h:1871: error: field 'winsize' has incomplete type
gmake[3]: *** [curses..o] Error 1
gmake[3]: Leaving directory `/home/cmihai/test/zsh-4.3.6/Src/Modules'
gmake[2]: *** [modules] Error 1
gmake[2]: Leaving directory `/home/cmihai/test/zsh-4.3.6/Src'
gmake[1]: *** [modules] Error 2
gmake[1]: Leaving directory `/home/cmihai/test/zsh-4.3.6/Src'
gmake: *** [all] Error 1

There's quite a bit of diff between 4.2.7 and 4.3.6 though.

On 8/4/08, Peter Stephenson <pws@xxxxxxx> wrote:
> "Mihai Criveti" wrote:
>> Hi. I'm trying to build zsh 4.3.6 on AIX 5300-08-01 using gcc 4.2.4
>> and Autoconf 2.61. Configure works fine, but the build fails after
>> some time with:
>>
>>         gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o
>> module.o module.c
>> module.c: In function 'load_and_bind':
>> module.c:1453: warning: assignment from incompatible pointer type
>> module.c:1454: error: 'struct module' has no member named 'flags'
>> module.c:1455: error: 'struct module' has no member named 'flags'
>> make: 1254-004 The error code from the last command is 1.
>
> This should fix that bit... unfortunately I am writing this completely
> blind for AIX, so please report any further problems.
>
> Index: Src/module.c
> ===================================================================
> RCS file: /cvsroot/zsh/zsh/Src/module.c,v
> retrieving revision 1.38
> diff -u -r1.38 module.c
> --- Src/module.c	8 May 2008 14:04:52 -0000	1.38
> +++ Src/module.c	4 Aug 2008 15:08:36 -0000
> @@ -1450,9 +1450,9 @@
>  	int i, err = loadbind(0, (void *) addbuiltin, ret);
>  	for (i = 0; i < modulestab->hsize && !err; i++) {
>  	    for (m = (Module)modulestab->nodes[i]; m && !err;
> -		 m = m->node.next) {
> -		if (!(m->flags & MOD_ALIAS) &&
> -		    m->u.handle && !(m->flags & MOD_LINKED))
> +		 m = (Module)m->node.next) {
> +		if (!(m->node.flags & MOD_ALIAS) &&
> +		    m->u.handle && !(m->node.flags & MOD_LINKED))
>  		    err |= loadbind(0, m->u.handle, ret);
>  	    }
>  	}
>
>
> --
> Peter Stephenson <pws@xxxxxxx>                  Software Engineer
> CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
> Cambridge, CB4 0WZ, UK                          Tel: +44 (0)1223 692070
>


-- 
Criveti Mihai
http://unixsadm.blogspot.com



Messages sorted by: Reverse Date, Date, Thread, Author