Hello,
I just tried to install XEmacs 21.4.17 on Solaris 9 using gcc 3.4.3.
That resulted in the following error:
bytecode.c: In function `invalid_byte_code_error':
bytecode.c:1494: error: incompatible type for argument 1 of `__builtin_va_start'
bytecode.c:1497: error: incompatible type for argument 1 of `__builtin_va_end'
I then searched the archive for information regarding this bug, but I
only found the email appended below. I managed to track down the
cause of this bug. It turns out that the problem is caused by the
src/s/sol2.h header file, which overrides the gcc definition for
va_list. This happens to work with gcc 2.95.3, but it doesn't work
with gcc 3.4.3 (or gcc 3.4.2). If the header file is changed as shown
below, XEmacs will (at least) compile with gcc 2.95.3 and gcc 3.4.3 on
Solaris 8 (Sparc) and Solaris 9 (x86), which are the configurations I
have available for testing.
Here is the snippet of the src/s/sol2.h file that I changed:
# if __GNUC__ <= 2
/* 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;
# endif
Best regards,
---
Frank Jensen, Frank.Jensen(a)hugin.com
Hugin Expert A/S
Gasværksvej 5
9000 Aalborg
DENMARK
* To: Daniel <lancerta(a)yahoo.com>
* Subject: Re: Bug??????
* From: "James C. McPherson" <james.mcpherson(a)optusnet.com.au>
* Date: Sun, 11 Apr 2004 20:59:40 +1000
* CC: xemacs-beta(a)xemacs.org
* In-Reply-To: <20040409215446.36791.qmail(a)web12304.mail.yahoo.com>
* List-Help: <mailto:xemacs-beta-request@xemacs.org?subject=help>
* List-Id: XEmacs Beta Testers <xemacs-beta.xemacs.org>
* List-Post: <mailto:xemacs-beta@xemacs.org>
* List-Subscribe:
<
http://lists.xemacs.org/lists/listinfo/xemacs-beta>,<mailto:xemacs-...
* List-Unsubscribe:
<
http://lists.xemacs.org/lists/listinfo/xemacs-beta>,<mailto:xemacs-...
* Message-ID: <4079251C.6030001(a)optusnet.com.au>
* Organization: JJCMA Group
* References: <20040409215446.36791.qmail(a)web12304.mail.yahoo.com>
Daniel wrote:
I have tried to install the XEmacs package in my PC.
My PC is loaded with the Solaris for intel ver. 5.9
and the Xemacs version i am trying to install is the
21.4.15. The compiler i am using is the : gcc ver.
3.3.2.
i have executed the "configure" itility withe the
following parameters:
#./configure --without-x --with-gcc
then i tried to "make":
#make install
and the following is the result:
cd ./lib-src && make CC='gcc' CFLAGS='-g -O3 -Wall
-Wno-switch -Winline -Wmissing-prototypes
-Wsign-compare -fno-strict-aliasing -Wshadow
-Wpointer-arith' LDFLAGS='' CPPFLAGS='' all
cd ./src && make CC='gcc' CFLAGS='-g -O3 -Wall
-Wno-switch -Winline -Wmissing-prototypes
-Wsign-compare -fno-strict-aliasing -Wshadow
-Wpointer-arith' LDFLAGS='' CPPFLAGS='' all
gcc -c -g -O3 -Wall -Wno-switch -Winline
-Wmissing-prototypes -Wsign-compare
-fno-strict-aliasing -Wshadow -Wpointer-arith -Demacs
-I. -DHAVE_CONFIG_H bytecode.c
bytecode.c: In function `invalid_byte_code_error':
bytecode.c:1494: error: incompatible type for argument
1 of `__builtin_va_start'
bytecode.c:1497: error: incompatible type for argument
1 of `__builtin_va_end'
*** Error code 1
make: Fatal error: Command failed for target
`bytecode.o'
Current working directory
/export/home/downloads/XEMACS/xemacs-21.4.15/src
*** Error code 1
make: Fatal error: Command failed for target `src'
#
Daniel,
it looks to me as if your gcc installation is not quite
correct -- something along the line of "fixincludes" might
be necessary. However, I'm not the person to talk about
for this because I don't use gcc!
Another thing to check is that the version of gcc you
are using genuinely does work on solaris 9.
brgds,
James C. McPherson