Bug 58811 - Framework not found LaunchServices
Summary: Framework not found LaunchServices
Status: RESOLVED FIXED
Alias: None
Product: Xamarin.Mac
Classification: Desktop
Component: MSBuild ()
Version: 3.2.0 (15.1)
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2017-08-16 13:12 UTC by Maxim Kosov
Modified: 2017-08-16 17:56 UTC (History)
3 users (show)

Tags:
Is this bug a regression?: Yes
Last known good build:


Attachments
Test project with reproduce (346.82 KB, application/zip)
2017-08-16 13:12 UTC, Maxim Kosov
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED FIXED

Description Maxim Kosov 2017-08-16 13:12:45 UTC
Created attachment 24236 [details]
Test project with reproduce

After update to Visual Studio for Mac to 7.1 build started to fail with following error:
ld: framework not found LaunchServices
clang : error : linker command failed with exit code 1 (use -v to see invocation)


Error happens because of following string:

[DllImport("/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/LaunchServices")]
extern static IntPtr LSSharedFileListCreate(IntPtr inAllocator, IntPtr inListType, IntPtr listOptions);

Remove DllImport fix the issue. Error doesn't occur in previous version of Visual Studio for Mac.


I tracked down error to clang call which in VS 7.1 has parameter "-framework LaunchServices". Previous version don't have such parameter and build complete successfully.


I added test project as attachment. It's just a new Xamarin.Mac project with DllImport included.

Is there any workaround? We can't remove LaunchServices reference because it needed for couple of features of our app.
Comment 1 Chris Hamons 2017-08-16 14:08:54 UTC
We found this internally as well: https://bugzilla.xamarin.com/show_bug.cgi?id=58415

This is fixed in 

https://github.com/xamarin/xamarin-macios/commit/7c3c8741edd35422c9d3fe8ea14fc9824cbffb66

Which will be fixed in d15.4.

This fix is not yet in the Alpha channel (will be next update), but you can download the package from:

https://jenkins.mono-project.com/view/Xamarin.MaciOS/job/xamarin-macios-builds-d15-4/

If you need to downgrade to the previous release because of this and need package links, let me know.
Comment 2 Chris Hamons 2017-08-16 14:09:49 UTC
Unfortunately, there is not a trivial work around. 

I think you could make a framework with the same name, add that as a native reference, and that _might_ make it happy, but that is ugly and brittle even if it works. :(
Comment 3 Maxim Kosov 2017-08-16 14:14:38 UTC
Ok, thanks. Is there any ETA about d15.4?
Comment 4 Maxim Kosov 2017-08-16 14:51:46 UTC
Where can I find previous version of VS? Can't find it. Only Xamarin Studio downloads.
Comment 5 Chris Hamons 2017-08-16 15:57:44 UTC
So you likely only need to downgrade Xamarin.Mac:

https://dl.xamarin.com/XamarinforMac/Mac/xamarin.mac-3.4.0.36.pkg

but here is VSfM as well if needed:

https://dl.xamarin.com/VsMac/VisualStudioForMac-7.0.1.24.dmg

You can read about the Visual Studio release schedule here:

https://www.visualstudio.com/en-us/productinfo/vs2017-release-rhythm

but often there is a new "minor" update, which 15.3->15.4 would likely be, every 6-8 weeks, and 15.3 just released this week.

We currently do not have a committed date, but that would be a reasonable first order estimate.
Comment 6 Maxim Kosov 2017-08-16 17:56:33 UTC
Thanks!