So, whats the fix ? do u have the intaller software and installation
scripts.
Vaithee
-----Original Message-----
From: Tom Koelman [mailto:tkoelman@xs4all.nl]
Sent: Wednesday, June 18, 2003 12:30 AM
Cc: S.B., Vaitheeswaran; Adam Fedor
Subject: Re: Problems with Objc Runtime and Foundation Classes
The following message is a courtesy copy of an article
that has been posted to gmane.comp.lib.gnustep.general as well.
"S.B., Vaitheeswaran" <vaitheeswaran.s.b@attws.com> writes:
I am trying to use the windows intaller version of GNUStep and getting
into trouble. Please find attached the file installer.tar.bz2 file to
this email and help me.
Checking the logs, the first suspicious difference I find is
checking whether code in malloc'ed memory is executable... yes
which on my (Windows 2000) machines gives "no". I don't know what it
means, though on your machine I think this should result in
$cl_cv_codeexec being "yes" in the configure script and consequently
CODE_EXECUTABLE set to 1 in confdefs.h. This would, I'd expect, result
in a config.h containing #define CODE_EXECUTABLE 1 as well. Here I
start getting confused, because on my system, where the
malloc-mem-exec-test fails, config.h make CODE_EXECUTABLE 1. Hmm.
The actual thing that goes wrong in your logs is compiling
trampoline/trampoline.c in the ffcall project:
trampoline.c:85: parse error before '?' token
This the line containing two question marks in the following code
block:
#ifndef CODE_EXECUTABLE
/* How do we make the trampoline's code executable? */
#if defined(HAVE_MACH_VM) || defined(__convex__) ||
defined(HAVE_WORKING_MPROTECT) || defined(HAVE_SYS_M88KBCS_H)
/* mprotect() [or equivalent] the malloc'ed area. */
#define EXECUTABLE_VIA_MPROTECT
#else
#ifdef HAVE_MMAP
/* Use an mmap'ed page. */
#define EXECUTABLE_VIA_MMAP
#ifdef HAVE_MMAP_ANONYMOUS
/* Use mmap with the MAP_ANONYMOUS or MAP_ANON flag. */
#define EXECUTABLE_VIA_MMAP_ANONYMOUS
#else
/* Use mmap on /dev/zero. */
#define EXECUTABLE_VIA_MMAP_DEVZERO
#endif
#else
#ifdef HAVE_SHM
/* Use an shmat'ed page. */
#define EXECUTABLE_VIA_SHM
#else
??
#endif
#endif
#endif
#endif
This indicates that for some reason your CODE_EXECUTABLE is not
defined, otherwise it would never get to line 85.
So having executable malloc memory causes compiling ffcall to fail,
which is a fatal error. Adam, do you know what the significance of
this test is?
Tom