================================================================
Dear Bug Team!
Summary: Compilation of XEmacs-21.4.11 on Solaris 8 Intel (GCC 3.2) FAILS
Details: ./src/s/sol2.h and va_list hack
Near the top of ./src/s/sol2.h there is a conditional of the form:
/* Fix understandable GCC lossage on Solaris 2.6 */
#if defined(__GNUC__) && OS_RELEASE >= 56 && !defined(NOT_C_CODE)
Directly under this is a block of code to hack the definition
of va_list which does not succeed on my system. The block in question is:
/* GCC va_list munging is a little messed up */
#define __GNUC_VA_LIST
#define _VA_LIST_
#define _VA_LIST va_list
typedef void *__gnuc_va_list;
typedef __gnuc_va_list va_list;
If left in the following problem arises during compilation:
gcc -c -g -O3 -Wall -Wno-switch -Winline -Wmissing-prototypes -Wsign-compare -Wshadow
-Wpointer-arith -Demacs -I. -DHAVE_CONFIG_H -I/usr/dt/include -I/usr/openwin/include
doprnt.c
doprnt.c: In function `get_doprnt_args':
doprnt.c:366: first argument to `va_arg' not of type `va_list'
doprnt.c:372: first argument to `va_arg' not of type `va_list'
doprnt.c:377: first argument to `va_arg' not of type `va_list'
doprnt.c:380: first argument to `va_arg' not of type `va_list'
doprnt.c:383: first argument to `va_arg' not of type `va_list'
doprnt.c:385: first argument to `va_arg' not of type `va_list'
doprnt.c: In function `emacs_doprnt_lisp_2':
doprnt.c:746: first argument to `va_arg' not of type `va_list'
doprnt.c: In function `emacs_doprnt_string_lisp_2':
doprnt.c:837: first argument to `va_arg' not of type `va_list'
gmake: *** [doprnt.o] Error 1
Looking over the gcc -E output seems to suggest that we now
have a mixture of Solaris 8 va_list and GCC va_list definitions plus
the Xemacs "hack". Removing the "hack" (via #if
defined(KEEP_THIS_CODE) around the above mentioned code block), and
"gmake clean ; gmake all" results in the output below (temacs
problems) which as stated seems to not re-occur on a second invocation
of "gmake all". "gmake check ; gmake install" succeed and Xemacs seems
functional.
Regards,
Peter Bray
Sydney, Australia
GCC Specs:
==========
Reading specs from /pkgs/gcc-3.2/lib/gcc-lib/i686-pc-solaris2.8/3.2/specs
Configured with: ./configure --prefix=/pkgs/gcc-3.2 --with-local-prefix=/pkgs
--enable-shared --with-gnu-as --with-as=/pkgs/bin/gas --with-gnu-ld
--with-ld=/pkgs/bin/gld --disable-nls i686-pc-solaris2.8
Thread model: posix
gcc version 3.2
Compilation problems with suggested change in place:
====================================================
Command: nice gmake
./temacs -nd -batch -l /tmp/xemacs-21.4.11/src/../lisp/loadup.el dump
Loading /tmp/xemacs-21.4.11/src/../lisp/loadup.el...
Using load-path (/tmp/xemacs-21.4.11/lisp)
Using module-load-path (/tmp/xemacs-21.4.11/modules)
Loading very-early-lisp...
Loading /tmp/xemacs-21.4.11/lisp/dumped-lisp.el...
[ Output Deleted ]
Loading /tmp/xemacs-21.4.11/lisp/loadhist.elc...
Loading /tmp/xemacs-21.4.11/lisp/loaddefs.elc...
Loading site-load...
Finding pointers to doc strings...
Finding pointers to doc strings...done
Dumping under the name xemacs
unexec(): dldump(/tmp/xemacs-21.4.11/src/xemacs): ld.so.1: ./temacs: fatal:
/tmp/xemacs-21.4.11/src/xemacs: unknown dynamic entry: 1879048176
gmake[1]: *** [xemacs] Error 1
gmake[1]: Leaving directory `/tmp/xemacs-21.4.11/src'
Running gmake again seems to work fine
================================================================
System Info to help track down your bug:
---------------------------------------
uname -a: SunOS porta 5.8 Generic_108529-16 i86pc i386 i86pc
./configure '--prefix=/pkgs/xemacs-21.4.11' '--site-libraries=/pkgs/lib'
XEmacs 21.4.11 "Native Windows TTY Support" configured for
`i386-pc-solaris2.8'.
Compilation / Installation:
Source code location: /tmp/xemacs-21.4.11
Installation prefix: /pkgs/xemacs-21.4.11
Additional libraries: /pkgs/lib
Runtime library search path:
/usr/ccs/lib:/pkgs/lib:/usr/dt/lib:/usr/openwin/lib:/pkgs/gcc-3.2/lib/gcc-lib/i686-pc-solaris2.8/3.2/../../..
Operating system description file: `s/sol2.h'
Machine description file: `m/intel386.h'
Compiler: gcc -g -O3 -Wall -Wno-switch -Winline
-Wmissing-prototypes -Wsign-compare -Wshadow -Wpointer-arith
Relocating allocator for buffers: yes
GNU version of malloc: yes
Window System:
Compiling in support for the X window system:
- X Windows headers location: /usr/dt/include /usr/openwin/include
- X Windows libraries location: /usr/dt/lib /usr/openwin/lib
- Handling WM_COMMAND properly.
Using Lucid menubars.
Using Lucid scrollbars.
Using Motif dialog boxes.
Using Motif native widgets.
TTY:
Images:
Compiling in support for GIF images (builtin).
Compiling in support for XPM images.
Compiling in support for PNG images.
Compiling in support for JPEG images.
Compiling in support for TIFF images.
Compiling in support for X-Face message headers.
Sound:
Compiling in support for sound (native).
Databases:
Compiling in support for Berkeley database.
Compiling in support for GNU DBM.
Internationalization:
Mail:
Compiling in support for "dot-locking" mail spool file locking method.
Other Features:
Inhibiting IPv6 canonicalization at startup.
Compiling in support for ToolTalk.
Compiling in support for dynamic shared object modules.
Show replies by date