locked
Xamarin.Mac 10.11 Fix Preview RRS feed

  • Question

  • User35201 posted

    Hey everyone,

    As some of you may have noticed, there are some incompatibles between the newest OS X 10.11 beta and Xamarin.Mac. These can be separated into two categories:

    • Developed Xamarin.Mac application crashing when ran on 10.11 (could not discover the mach TLS offset)
    • Trouble developing on 10.11 (Xamarin.Studio crashing, mmp or mcs hanging).

    We are officially fixing the first class of these issues in in Cycle 5, Service Release 3, which is in the work right now. The second class of issues, developing on 10.11 will have to wait for a future release.

    Since Apple has made 10.11 a public beta, I understand that some people are under pressure to get this fixed soon. Since it will be more than a few days for C5SR3 to be release, I've built a preview package for use until the official build comes out.

    http://download.xamarin.com/xm-capitan-runtime-fix/xamarin.mac-2.0.2.86.pkg

    This is an installer package fresh from dev. This means that it has not passed our standard QA process, and does not have the standard testing normal releases undergo before release.

    Please let me know if you run into any problems.

    Tuesday, July 14, 2015 7:23 PM

All replies

  • User33830 posted

    The fix worked for me hurrah!, Any clue to when this might hit Alpha Beta Stable ?

    Wednesday, July 15, 2015 2:40 PM
  • User35201 posted

    I do not believe we have announced anything public yet (dates always can slip). You'll most likely see it on some channel before the end of the month.

    Wednesday, July 15, 2015 2:46 PM
  • User33830 posted

    OS X 10.11 beta 4 Appears to be working for me again Hurrah, without needing the above fix. I guess Apple fixed it.

    Wednesday, July 22, 2015 11:52 AM
  • User31231 posted

    Noting that there are still several know issues (such as the Open Dialog box crashing), it does look like both the Xamarin Installer and Xamarin Studio do correctly launch and run on El Capitan Beta 4.

    Xamarin still suggests waiting to install El Capitan until we release an official version of Xamarin that works with the new OS.

    Wednesday, July 22, 2015 3:05 PM
  • User43611 posted

    The latest El Capitan beta allows me to start XS, but I can't build. Missing mcs command. Any ideas?

    /Library/Frameworks/Mono.framework/Versions/4.0.2/lib/mono/4.5/Microsoft.CSharp.targets: Error: Compiler crashed with code: 127. (Xxxxx.iOS)

    Friday, July 24, 2015 2:12 AM
  • User43611 posted

    PS - trying to create a symlink no longer works either (new permissions in OSX I believe). Error:

    sudo ln -s /Library/Frameworks/Mono.framework/Commands/mcs /usr/bin/mcs ln: /usr/bin/mcs: Operation not permitted

    Friday, July 24, 2015 2:13 AM
  • User31231 posted

    Hi @Kolchy,

    Again, El Capitan is not officially supported by Xamarin yet. However, if you do the following, you'll be able to run and compile:

    1. Reboot you Mac into recovery mode.
    2. Under the Utilities menu select Security Configuration, uncheck System Integrity Protection to disable the Rootless mode.
    3. Restart the Mac, and boot normal.
    4. Reinstall the latest version of Mono from here.
    5. You should be able to start Xamarin Studio and compile normal now.

    Here's what's going on, in El Capitan, Apple has greatly increased security and, by default, runs in a new Rootless mode. As such, several directory locations are off-limits to everything but the system... even the Super User (admin) doesn't have access.

    When the Mac first installs El Capitan, anything that's not part of the system, in these now protected areas, is deleted (for example, the mcs command). That's why you'll need to reinstall Mono after re-enabling Root access.

    Thanks,

    Kevin

    Friday, July 24, 2015 1:49 PM
  • User13121 posted

    Utilities -> Security Configuration

    Uncheck 'System Integrity Protection'

    This step is also required for anyone trying to install Xamarin fresh on El Capitan

    Friday, July 24, 2015 4:33 PM
  • User43611 posted

    Awesome, thanks @KMullins - can confirm this works a treat for me and I can now build while waiting for official support. MANY thanks :)

    Friday, July 24, 2015 11:54 PM
  • User19113 posted

    This did not work for me. I'm running El Capitan beta 6, I've unchecked the 'System Integrity Protection' check-box and downloaded the version of Mono linked above. I'm still getting the 127 error trying to compile ANY solution.

    Any other thoughts or something else to try?

    Thanks,

    Martin

    Thursday, August 13, 2015 5:30 PM
  • User153109 posted

    GM has removed this option. You need to fire up a Terminal in Recovery mode and use :

    csrutil disable

    Saturday, September 12, 2015 9:04 PM
  • User158399 posted

    Can I assume that soon Mono's installer will not require users to enter Recovery Mode to disable SIP? Obviously this is a real obstacle for the average user who is told to install Mono. Will the use of /usr/bin/ be changed to /usr/local/bin/ since that directory is supposedly not under SIP?

    Sunday, September 13, 2015 11:09 PM
  • User35201 posted

    I believe this has been fixed in the latest builds in the Alpha channel. If not, please report back soon!

    Monday, September 14, 2015 1:29 PM
  • User158399 posted

    Sorry, I was referring to the Mono framework. Perhaps this isn't the right place to ask about it, but I just dropped in here from Google because it seemed like the only thread where El Capitan was being discussed. When installing it (and this is true for the latest version, the 4.2.0.179 alpha), Console gives me a ton of messages like this:

    9/13/15 12:09:08.000 PM kernel[0]: Sandbox: ln(1269) System Policy: deny(1) file-write-create /usr/bin/mod-mono-server4
    9/13/15 12:09:08.000 PM kernel[0]: Sandbox: ln(1270) System Policy: deny(1) file-write-create /usr/bin/mono
    9/13/15 12:09:08.000 PM kernel[0]: Sandbox: ln(1271) System Policy: deny(1) file-write-create /usr/bin/mono-boehm
    

    Thus, "mono" is not available on the command line.

    Monday, September 14, 2015 2:32 PM
  • User35201 posted

    Let me get back to you. I'll dig in now.

    Monday, September 14, 2015 3:06 PM
  • User35201 posted

    Alright, the builds I thought were in Alpha aren't there yet. On top of that, the newest 10.11 build (GM) broke a few additional things in Xamarin Studio. The current plan is to get things fixed mid-week. You'll have to use the "csrutil disable" hack until then.

    Monday, September 14, 2015 3:23 PM
  • User158399 posted

    Sure, thanks for the quick response.

    Monday, September 14, 2015 5:44 PM
  • User63378 posted

    On the ElCap GM, we're seeing that our hybrid XcodeC++/XamarinC# app will launch just fine from command line or can be launched and debugged from Xamarin. But if we launch the app from Xcode 6 (or 7) we crash trying to load our main assembly via monojitexec. We can attach Xcode after initialization and then debug. Anyone else seeing this behavior?

    Wednesday, September 23, 2015 10:49 PM
  • User35201 posted

    @DaveBurnard - Could you downgrade back to Stable (or Beta, wherever you were) and install just the XM Alpha package:

    https://www.dropbox.com/s/prs5pywyjhj2cbh/xamarin.mac-2.4.0.48-1.pkg?dl=0 (Just downloaded a copy to share, you can use a cached copy if you know where they are).

    I'd like to isolate it to a XM change or a Mono change.

    Thursday, September 24, 2015 1:52 PM
  • User63378 posted

    Chris, we're on the stable channel. A bit more detail: we're not making any OS X API calls from our C# code (just engine code and calls to/from our native code). Yesterday I downloaded mono-4.2.0.207.tar.bz2 and built and substituted those binaries into our process - but saw the same crash launching from Xcode (could see more levels on the stack, though they were greek to me).

    Thursday, September 24, 2015 5:20 PM
  • User63378 posted

    @ChrisHamons - We don't use Xamarin.Mac (I double checked to make sure I had this right).

    Thursday, September 24, 2015 5:38 PM
  • User35201 posted

    Hmm. That sounds lower on the stack (mono runtime) that I normally go. Not sure how much I can help.

    If you have a business license, you could use support.xamarin.com to see if you get some help from somebody over there. Else you can post on the public mono mailing list to see if anyone might be able to help there:

    http://www.mono-project.com/community/help/mailing-lists/

    Tuesday, September 29, 2015 6:42 PM
  • User63378 posted

    The problem with launching from Xcode appears fixed by Mono v4.0.4.4. It works for me anyway, yay!

    Thursday, November 5, 2015 10:50 PM
  • User63378 posted

    Looks like I might be wrong about the version number for the fix. The key change in the repository is:

    mono/mono/mini/mini-amd64.c: https://github.com/mono/mono/commit/061f993b6878585a75fbb4de39b89bf3b4aca348

    "Add support for version of pthread_getspecific when launching from Xcode with LLDB attached."

    It looks like we just we grafted that change into our older 4.0.2.X sources.

    Sorry for the confusion, DaveB

    Friday, November 6, 2015 5:12 PM