discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Problems with Objc Runtime and Foundation Classes


From: S.B., Vaitheeswaran
Subject: RE: Problems with Objc Runtime and Foundation Classes
Date: Wed, 18 Jun 2003 10:05:44 -0700

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]