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

Re: AIX-problem: the main module won't link statically



Timothy Miller wrote:


No, autoconf doesn't exist on our aix machines, and I had no idea where
autoheader came from or what it was part of, and presumed it was
architecture-independent because it wasn't run as part of compiles of the
regular distribution.



Both autoconf (and autoheader as its part) is needed only for developers to produce configure. Then it is really not used anymore to actually compile package.


The second part of the patch didn't quite work on configure.in as the patch
has

  elif test "$host_os" = cygwin; then

where configure.in has

elif test "x$ac_cv_cygwin" = xyes; then

but other than that they're the same, so I applied that part by hand.



Yes, it was changed for autoconf-2.50 compatibility, sorry.


ok, "CC=cc ./configure --prefix=/cs", manually running autoheader, make
fails, log and other files included below.



That is almost perfect! Now we have to deal with usual AIX problems :-)


Two things:

cc -qlanglvl=ansi -s -o zsh main.o `cat stamp-modobjs` -bE:zsh.export -ldl -lcurses -lm -lc
ld: 0711-319 WARNING: Exported symbol not defined: dputs
ld: 0711-319 WARNING: Exported symbol not defined: zpathmax

That is general problem. dputs is defined under DEBUG and zpathmax is commmented out but they are marked as mod_export and our script does not notice it. May be, we could pass the source file through cpp first before generating export files.

cc -qlanglvl=ansi -c -I.  -DHAVE_CONFIG_H -DMODULE -O  -o zftp..o zftp.c
"zftp.c", line 1175.30: 1506-280 (E) Function argument assignment between types
"unsigned long*" and "int*" is not allowed.
"zftp.c", line 1306.33: 1506-280 (E) Function argument assignment between types
"unsigned long*" and "int*" is not allowed.
"zftp.c", line 2041.68: 1506-280 (E) Function argument assignment between types
"unsigned long*" and "int*" is not allowed.
1500-030: (I) INFORMATION: zfgetmsg: Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 2048. ( echo '#!'; cat zftp.syms | sed -n '/^X/{s/^X//;p;}' | sort -u ) > zftp.exportrm -f zftp.so cc -qlanglvl=ansi -s -o zftp.so -bI:../../Src/zsh.export -bE:zftp.export -emodentry zftp..o ../../Src/modentry..o -ldl -lcurses -lm -lc
ld: 0711-317 ERROR: Undefined symbol: .handler
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
gmake[3]: *** [zftp.so] Error 8
gmake[3]: Leaving directory `/cs/src/zsh/zsh-4.0.1/Src/Modules'
gmake[2]: *** [modules] Error 1
gmake[2]: Leaving directory `/cs/src/zsh/zsh-4.0.1/Src'
gmake[1]: *** [modules] Error 2
gmake[1]: Leaving directory `/cs/src/zsh/zsh-4.0.1/Src'
gmake: *** [all] Error 1

Prototype errors are for getsockname(), accept(). Timothy, could you send us header where these are declared?

I do not understand where this ``handler'' comes from; I do not see any reference in zftp.c. Tomothy, could you run with suggested options (-bnoquiet -bloadmap)? I guess, ``make DLLDFLAGS='-bnoquiet -bloadmap'' should do the trick.

Anyway, configure part is more or less clear; the only problem is GCC, but to do something wihtout actual access to AIX is pretty hard.

-andrej




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