Including Sparkle binding results in "Error MM5306: Missing dependencies" on XS 5.5.4

I've been stuck on Xamarin.Mac 1.8.1.6 and Xamarin Studio 5.2.1 for a while as I've found it to be the most stable combination for MAS development so thought I'd try to update and see how things were with 5.5.4.

I use Sparkle for non-MAS builds to handle update checking and I get the above dependencies error if I include it, but it goes away when I remove the reference to the binding assembly I'd created (which I called Xamarin.Sparkle.dll and I need so I can call various Sparkle methods). If I were a betting man I'd say the reason it's falling over is because I'm not able to include the sparkle framework (which is included in the built app) in the dependency list and it doesn't look like mmp has that option.

Anyone have any thoughts on how to proceed? The full output is below:

Merging Mono Runtime into app bundle
/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/bin/mmp -linksdkonly "-minos=10.9" --sdkroot "/Applications/Xcode.app/Contents/Developer" -o "/Users/johnconners/Projects/MacgroundSwitcher/bin/Release" -n "BackgroundSwitcher" --profile "4.5" --debug -a "/Users/johnconners/Projects/MacgroundSwitcher/JBSCore/bin/Release/JBSCore.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.10.0/lib/mono/4.5/System.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.10.0/lib/mono/4.5/System.Xml.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.10.0/lib/mono/4.5/System.Core.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.10.0/lib/mono/4.5/System.Drawing.dll" -a "/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/mono/XamMac.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.10.0/lib/mono/4.5/System.Data.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.10.0/lib/mono/4.5/System.Web.dll" -a "/Users/johnconners/Projects/MacgroundSwitcher/Imports/Xamarin.Sparkle.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.10.0/lib/mono/4.5/System.Core.dll" "/Users/johnconners/Projects/MacgroundSwitcher/bin/Release/BackgroundSwitcher.exe"
warning MM2006: Native library 'libX11.dylib' was referenced but could not be found.
warning MM2006: Native library 'libgtk-x11-2.0.so.0.dylib' was referenced but could not be found.
warning MM2006: Native library 'libgamin-1.so.0.dylib' was referenced but could not be found.
warning MM2006: Native library 'libfam.so.0.dylib' was referenced but could not be found.
warning MM2006: Native library 'libgtk-x11-2.0.dylib' was referenced but could not be found.
warning MM2006: Native library 'libXinerama.dylib' was referenced but could not be found.
warning MM2006: Native library 'libuxtheme.dylib' was referenced but could not be found.
warning MM2006: Native library 'libgdk-x11-2.0.dylib' was referenced but could not be found.
warning MM2006: Native library 'libgtk-x11-2.0.dylib' was referenced but could not be found.
warning MM2006: Native library 'libshell32.dylib' was referenced but could not be found.
warning MM2006: Native library 'libgdk-x11-2.0.dylib' was referenced but could not be found.
Process exited with code 1, command:
xcrun -sdk macosx clang -v -mmacosx-version-min=10.9 -arch i386  -u _SUUpdaterAppcastItemNotificationKey -u _SUUpdaterAppcastNotificationKey -u _SUUpdaterDidFindValidUpdateNotification -u _SUUpdaterDidFinishLoadingAppCastNotification -u _SUUpdaterDidNotFindUpdateNotification -u _SUUpdaterWillInstallUpdateNotification -u _SUUpdaterWillRelaunchApplicationNotification -u _xamarin_get_block_descriptor /Library/Frameworks/Xamarin.Mac.framework/Versions/1.10.0.18/lib/libxammac.a -o /Users/johnconners/Projects/MacgroundSwitcher/bin/Release/BackgroundSwitcher.app/Contents/MacOS/BackgroundSwitcher -D_THREAD_SAFE -I/Library/Frameworks/Mono.framework/Versions/3.10.0/lib/pkgconfig/../../include/mono-2.0   /Library/Frameworks/Mono.framework/Versions/3.10.0/lib/pkgconfig/../../lib/libmono-2.0.a /Users/johnconners/Projects/MacgroundSwitcher/bin/Release/BackgroundSwitcher.app/Contents/MacOS/main.m -framework AppKit -liconv -x objective-c -
error MM5306: Missing dependencies. Please install Xcode 'Command-Line Tools' component

Posts

  • JohnConnersJohnConners GBMember ✭✭

    Bugzilla ticket raised: https://bugzilla.xamarin.com/show_bug.cgi?id=24877

    Guess I'll revert back to Xamarin Studio 5.2.1 / Xamarin.Mac 1.8.1.6. Too bad, I'm used to being able to trust the latest release from a vendor but that has certainly not been my experience of Xamarin.Mac to date. I can only assume Xamarin.Mac is not widely used as the number of such blockers I've encountered and had to work around for seemingly standard Mac app related tasks has been surprisingly high.

  • MichaelBothMichaelBoth AUMember ✭✭✭

    @JohnConners - like you I am using those version of XS and Xamarin.Mac as my experience in upgrading past those versions was problematic for my project, to say the least.

  • ChrisHamonsChrisHamons USForum Administrator, Xamarin Team Xamurai

    @JohnConners - I'll take a look Monday and see if I can figure out what's the issue.

    One thing that has changed in that version that previous versions didn't have is the way we link and call clang. We now search for all of the external symbols and pass them with -u to clang to prevent problems with linking against static libraries. That might be causing an issue in your case.

    And yes, I will admit that that 1.10 was a bumpy version. As we're moving to sharing more code with iOS, which in the long run will bring more bug fixes and performance improvements, it brings some behavior changes which can cause issues. This is part of the reason we're running an extra long alpha for the upcoming 1.12, to shake out as much as we can. I would suggest trying the alpha channel and see if that gives any different behavior.

    What other blocking issues have you run into? I understand that running into blockers makes it feel like nobody is using Xamarin.Mac, but we have a significant numbers of users all using vary different subsets of it, sometimes hitting issues that others aren't.

  • JohnConnersJohnConners GBMember ✭✭

    Thanks @chamons, the alpha provides a much more useful error message (updated in the ticket) so I was able to see that it couldn't resolve some extern NSStrings which would actually be defined in the sparkle framework itself. As I wasn't using them myself I removed them from the rebuilt binding assembly and I was able to build. If I did need to reference them I'd be stuck however as I guess it would need to go into the framework to resolve them.

    I initially had a lot of pain from a bug in HttpWebRequest (now fixed I believe) that meant random low level crashes when showing UI sheets after making a web request which gave me an initial impression of flakiness and made me a lot more wary about the stability of the platform. Problems I've hit specifically when upgrading that spring to mind include:

    • Sandboxing without a provisioning profile breaking
    • Spaces in the assembly name or path causing build and runtime problems
    • PublicResXFileCodeGenerator breaking (so not returning strings - now fixed)
    • A bunch of warnings like: warning MM2006: Native library 'libX11.dylib' was referenced but could not be found (I just ignore them)
    • This MAS signing problem
    • NSDictionary.ValueForKey() breaking (looks to be now fixed)
    • fontconfig custom cache location breakage mentioned here
    • XCode being killed off every time you switch back to Xamarin Studio when editing a XIB (that one made me wonder how much testing had been done as it was glaringly obvious and rendered UI work practically impossible - now fixed)
    • Mono 3.10 breaking libgdiplus functionality (fixed, and quickly)

    I'll skip over the various 1.10 issues around licensing and what not - you guys were on that. But it's just been lots of little things and rather than focusing on using new features or such like I've been chasing around trying to find what's broken and if I hit a couple of things I just start thinking I'd rather be working on building software than figuring out what might be broken so revert.

    Anyway, thanks for the response, I don't want to be overly negative about Xamarin.Mac as it's saved me an immense amount of time and has been excellent, upgrade issues aside. That you're doing a longer alpha cycle is very good to hear. I'd rather have slow but stable releases than fast and breaky ones. I'll stay up to date now and keep the faith! :)

  • ChrisHamonsChrisHamons USForum Administrator, Xamarin Team Xamurai

    Yeah, it appears you've hit almost every single issue customer affecting issue I know of since I've started. Obviously this has been rather painful, sorry of the trouble.

    Yeah, it's been a bumpy ride since 1.8. If you can take any comfort from it, much of the churn you've seen is caused by our frantic working under the hood to make things better.

    We're working on finding ways to reduce the number of issues you run into and get faster turn around when we do break people, but that is a work in progress.

  • JohnConnersJohnConners GBMember ✭✭

    It's ok, I'm exactly the same when I play pool - unlucky! :)

    Anyway, thanks again!

Sign In or Register to comment.