HaikuPorts
  • Login
  • Preferences
  • Help/Guide
  • Wiki
  • Timeline
  • Roadmap
  • View Tickets
  • Search
  • Port Log
  • Blog

Context Navigation

  • ← Previous Change
  • Wiki History
  • Next Change →

Changes between Version 38 and Version 39 of dev-lang/mono/2.x/1


Ignore:
Timestamp:
08/05/08 16:07:52 (7 years ago)
Author:
andreasf
Comment:

Add instructions and explanations

Legend:

Unmodified
Added
Removed
Modified
  • dev-lang/mono/2.x/1

    v38 v39  
    1 Compilation failure on R5: requires pthreads among others. 
    2  
    3 ~~{{{autogen.sh}}} fails on Haiku, not finding libtool for some reason ([http://dev.haiku-os.org/ticket/2130 Ticket]); use {{{LIBTOOL=/boot/home/config/bin/libtool ./autogen.sh}}} as workaround.~~ (fixed) 
    4  
    5 [source:haikuports/trunk/dev-lang/mono/mono-trunk.diff Patch] 
     1Mono will not easily run on BeOS, it requires pthreads among other things. 
     2 
     3== Getting Mono == 
     4 
     5Either checkout mono and mcs from SVN ([http://www.mono-project.com/AnonSVN]) and apply patches, or use my [http://repo.or.cz/w/mono/afaerber.git?a=shortlog;h=refs/heads/haiku "haiku" Git branch] of mono with mcs from SVN or Git. 
     6 
     7Something like this: 
     8{{{ 
     9git clone git://repo.or.cz/mono.git 
     10cd mono 
     11git remote add afaerber git://repo.or.cz/mono/afaerber.git 
     12git checkout --track -b haiku afaerber/haiku 
     13cd .. 
     14svn co svn://anonsvn.mono-project.com/source/trunk/mcs 
     15}}} 
     16 
     17== Building Mono == 
     18 
     19To do a VPATH build, run (from the {{{mono}}} dir) 
     20{{{ 
     21NOCONFIGURE=1 ./autogen.sh 
     22(cd eglib; NOCONFIGURE=1 ./autogen.sh 
     23}}} 
     24followed by (from your chosen build dir) 
     25{{{ 
     26path/to/configure --prefix=/boot/home/config --with-glib=embedded --with-gc=none --with-ikvm-native=no \ 
     27 --enable-maintainer-mode --enable-compile-warnings \ 
     28 CPPFLAGS=/boot/home/config/include LDFLAGS=/boot/home/config/lib 
     29make 
     30}}} 
     31This avoids pulling in the full [wiki:dev-libs/glib GLib] dependency but needs [wiki:dev-libs/libiconv libiconv] installed (cf. {{{CPPFLAGS}}}, {{{LDFLAGS}}}) (or will later fail to link). 
     32It also disables the Garbage Collector to rule that out as source of errors. Support for Java (IKVM) is only disabled to speed up the build. 
     33 
     34== Progress == 
     35 
     36~~{{{autogen.sh}}} fails on Haiku, not finding libtool for some reason ([http://dev.haiku-os.org/ticket/2130 Ticket]); use {{{LIBTOOL=/boot/home/config/bin/libtool ./autogen.sh}}} as workaround.~~ (fixed in Haiku !r25190) 
     37 
     38~~[source:haikuports/trunk/dev-lang/mono/mono-trunk.diff Old patch]~~ 
    639 
    740Building with eglib fails... 
    … …  
    3770 * in {{{support/old-map.c}}} due to undefined {{{SIGIO}}}. 
    3871 
    39  * in {{{support/serial.c}}} due to undefined {{{TIOCOUTQ}}} and {{{TIOCM}}}*. 
     72 * in {{{support/serial.c}}} due to undefined {{{TIOCOUTQ}}} and {{{TIOCM}}}*. That is most likely for the System.IO.* implementation (class library support) and can be ignored. 
    4073 
    4174Building then succeeds, but execution of mcs hangs: 
    … …  
    76109    at /ToBe/Mono/mono/mono/mini/main.c:30 
    77110}}} 
    78 Looks like a problem with semaphores. 
     111Looks like a problem with XSI semaphores in Mono's implementation of Win32 API (WAPI) shared handles. 
    79112 
    80113Disabling shared handles ({{{--disable-shared-handles}}}), I get the following crash: 
    … …  
    206239}}} 
    207240So JIT'ing (incl. trampolines) already works! (Same assertion failure when running mcs without arguments.) 
    208  
    209 [http://repo.or.cz/w/mono/afaerber.git?a=shortlog;h=refs/heads/haiku Git branch] 

Trac Powered

Powered by Trac 0.13dev-r10686
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/