Forum Xamarin.iOS
We are excited to announce that the Xamarin Forums are moving to the new Microsoft Q&A experience. Q&A is the home for technical questions and answers at across all products at Microsoft now including Xamarin!

We encourage you to head over to Microsoft Q&A for .NET for posting new questions and get involved today.

Xamarin.Mac 10.11 Fix Preview

ChrisHamonsChrisHamons USForum Administrator, Xamarin Team Xamurai

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.

Posts

  • DavidLilleyDavidLilley USMember ✭✭✭

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

  • ChrisHamonsChrisHamons USForum Administrator, Xamarin Team Xamurai

    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.

  • DavidLilleyDavidLilley USMember ✭✭✭

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

  • KMullinsKMullins USMember, Xamarin Team Xamurai
    edited July 2015

    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.

  • KarlKoppKarlKopp AUMember ✭✭

    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)

  • KarlKoppKarlKopp AUMember ✭✭

    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

  • KMullinsKMullins USMember, Xamarin Team Xamurai
    edited August 2015

    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

  • TimothyRisiXMTimothyRisiXM USXamarin Team Xamurai

    Utilities -> Security Configuration

    Uncheck 'System Integrity Protection'

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

  • KarlKoppKarlKopp AUMember ✭✭

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

  • MartinRussMartinRuss CAMember

    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

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

    csrutil disable

  • IritscenIritscen USMember

    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?

  • ChrisHamonsChrisHamons USForum Administrator, Xamarin Team Xamurai

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

  • IritscenIritscen USMember

    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.

  • ChrisHamonsChrisHamons USForum Administrator, Xamarin Team Xamurai

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

  • ChrisHamonsChrisHamons USForum Administrator, Xamarin Team Xamurai

    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.

  • IritscenIritscen USMember

    Sure, thanks for the quick response.

  • 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 mono_jit_exec. We can attach Xcode after initialization and then debug. Anyone else seeing this behavior?

  • ChrisHamonsChrisHamons USForum Administrator, Xamarin Team Xamurai

    @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.

  • 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).

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

  • ChrisHamonsChrisHamons USForum Administrator, Xamarin Team Xamurai

    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/

  • DaveBurnardDaveBurnard USMember

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

  • DaveBurnardDaveBurnard USMember

    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

Sign In or Register to comment.