[Mono-devel-list] mono-1.0b2, Solaris x86

Guenter Feldmann fld at informatik.uni-bremen.de
Thu Jun 3 10:19:35 EDT 2004


Hi mono developers,
 
I've started to install mono-1.0b2 on my Solaris x86 system.
With the following three small fixes 'make' succeeded:

*** mini-x86.h.orig     Wed Jun  2 21:35:16 2004
--- mini-x86.h  Thu Jun  3 12:13:14 2004
***************
*** 43,48 ****
--- 43,75 ----

  #endif /* PLATFORM_WIN32 */

+ #ifdef sun    // Solaris x86
+ #  define MONO_ARCH_USE_SIGACTION 1
+ struct sigcontext {
+         unsigned short gs, __gsh;
+         unsigned short fs, __fsh;
+         unsigned short es, __esh;
+         unsigned short ds, __dsh;
+         unsigned long edi;
+         unsigned long esi;
+         unsigned long ebp;
+         unsigned long esp;
+         unsigned long ebx;
+         unsigned long edx;
+         unsigned long ecx;
+         unsigned long eax;
+         unsigned long trapno;
+         unsigned long err;
+         unsigned long eip;
+         unsigned short cs, __csh;
+         unsigned long eflags;
+         unsigned long esp_at_signal;
+         unsigned short ss, __ssh;
+         unsigned long fpstate[95];
+       unsigned long filler[5];
+ };
+ #endif  // sun, Solaris x86
+
  /* Enables OP_LSHL, OP_LSHL_IMM, OP_LSHR, OP_LSHR_IMM, OP_LSHR_UN, 
OP_LSHR_UN_IMM */
    #define MONO_ARCH_NO_EMULATE_LONG_SHIFT_OPS

*** mini-x86.c.orig     Thu Jun  3 12:07:25 2004
--- mini-x86.c  Wed Jun  2 23:31:49 2004
***************
*** 3733,3743 ****
--- 3733,3747 ----
  #else
  #ifdef HAVE_PTHREAD_ATTR_GET_NP
                pthread_attr_get_np( self, &attr );
+ #elif defined(sun)
+               pthread_attr_getstacksize( &attr, &stsize );
  #else
  #error "Not implemented"
  #endif
  #endif
+ #ifndef sun
                pthread_attr_getstack( &attr, &staddr, &stsize );
+ #endif
        }

        /*

** mini.c.orig Wed Jun  2 21:28:36 2004
--- mini.c      Wed Jun  2 22:12:54 2004
***************
*** 8077,8083 ****
  #define GET_CONTEXT \
        struct sigcontext *ctx = (struct sigcontext*)_dummy;
  #else
! #ifdef __sparc
  #define GET_CONTEXT \
      void *ctx = context;
  #elif defined(__ppc__) || defined (__powerpc__) || defined (__s390__)
--- 8077,8083 ----
  #define GET_CONTEXT \
        struct sigcontext *ctx = (struct sigcontext*)_dummy;
  #else
! #if defined(__sparc) || defined(sun)
  #define GET_CONTEXT \
      void *ctx = context;
  #elif defined(__ppc__) || defined (__powerpc__) || defined (__s390__)


But 'make install' aborted as follows: 

[ ... ]
make[3]: Entering directory 
`/home/src/unix/mono/beta2/mono-0.95/intel/runtime/net_1_1'
make[3]: Nothing to be done for `install-exec-am'.
/usr/local/bin/bash ../../../mkinstalldirs /usr/local/MONO/1.0b2/lib
 /usr/local/bin/gnu/install -c -m 
644 ../../../runtime/net_1_1/mscorlib.dll /usr/local/MONO/1.0b2/lib/mscorlib.dll
MONO_PATH=../../../runtime/net_1_1 ../../mono/mini/mono 
--config ../../data/config ../../../runtime/net_1_1/../gacutil.exe /i ../../../runtime/net_1_1/Accessibility.dll /f /package 
1.0 /root /usr/local/MONO/1.0b2/lib
GC Warning: Insufficient space for /proc read

Unhandled Exception: System.DllNotFoundException: libc
in <0x00053> (wrapper managed-to-native) 
Mono.Tools.Driver:symlink(string,string)
in <0x00173> Mono.Tools.Driver:InstallPackage 
(string,string,System.Reflection.AssemblyName,string,string)
in <0x009ba> Mono.Tools.Driver:InstallAssembly (string[])
in <0x0060f> Mono.Tools.Driver:Run (string[])
in <0x00035> Mono.Tools.Driver:Main (string[])


I'm not familar with Windows and mono and the above trace doesn't
tell me much. My questions are:

- are there other software pices which also have to be adapted for
  proper exception handling?

- does the abort indicate that my fixes are wrong or incomplete or 
  is there a different kind of problem?

- What is the easiest way to test if exception handling works?



-- Guenter 






More information about the Mono-devel-list mailing list