boo-lang / boo

The Boo Programming Language.
BSD 3-Clause "New" or "Revised" License
874 stars 148 forks source link

Fix building on non windows with mono #127

Closed BitPuffin closed 8 years ago

BitPuffin commented 8 years ago

Setting the version to mono-2.0 for microsoft build tasks breaks the build. Because it tries to override something which I guess wasn't in 2.0

BitPuffin commented 8 years ago
Boo.Microsoft.Build.Tasks:

 [property] Target framework changed to "Mono 2.0 Profile".
     [booc] Compiling 2 files to '/Users/isak/src/csharp/boo/build/Boo.Microsoft.Build.Tasks.dll'.
     [booc] /Users/isak/src/csharp/boo/src/Boo.Microsoft.Build.Tasks/Booc.boo(210,28): BCE0060: 'Boo.Microsoft.Build.Tasks.Booc.LogEventsFromTextOutput(string, Microsoft.Build.Framework.MessageImportance)': no suitable method found to override.
     [booc] /Users/isak/src/csharp/boo/src/Boo.Microsoft.Build.Tasks/Booc.boo(255,9): BCE0061: 'Boo.Microsoft.Build.Tasks.Booc.LogEventsFromTextOutput(string, Microsoft.Build.Framework.MessageImportance)' is not an override.
     [booc] 2 error(s).

BUILD FAILED - 0 non-fatal error(s), 43 warning(s)

that^

BitPuffin commented 8 years ago

Hmm strange that it failed with travis. Works on OS X

mono --version
Mono JIT compiler version 4.2.1 (Stable 4.2.1.102/6dd2d0d Wed Nov 18 17:03:43 PST 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           normal
    SIGSEGV:       altstack
    Notification:  kqueue
    Architecture:  amd64
    Disabled:      none
    Misc:          softdebug
    LLVM:          supported, not enabled.
    GC:            sgen
drslump commented 8 years ago

I'm having the same issue with mono 4.2.0 on OS X. To me forcing the framework to mono-4.0 fixes the issue. It looks like this:

<property name="nant.settings.currentframework" value="mono-4.0" unless="${platform::is-windows()}" />
BitPuffin commented 8 years ago

Travis is still unhappy :(

BitPuffin commented 8 years ago

Well with travis it is probably just that it's installing mono 3.12

drslump commented 8 years ago

I'm trying with 4.20 and 3.12 (in OSX though) and both work properly. I'll check updating the nant version used in Travis, perhaps that's the issue.

drslump commented 8 years ago

I've spent hours on this and haven't been able to figure out why it's failing in 3.12. The bundled Mono assembly in that version must be broken or something I guess.

I'm closing this PR in favour of https://github.com/boo-lang/boo/pull/128 which upgrades Travis to run on Mono 4.2.1.

Thanks!