Bug 23022 - xbuild is broken with mono 3.10
Summary: xbuild is broken with mono 3.10
Status: VERIFIED FIXED
Alias: None
Product: Installers
Classification: Mono
Component: General ()
Version: unspecified
Hardware: PC Mac OS
: Highest blocker
Target Milestone: 3.10.0
Assignee: Marek Safar
URL:
: 22410 22928 ()
Depends on:
Blocks: 22827
  Show dependency tree
 
Reported: 2014-09-15 15:54 UTC by GouriKumari
Modified: 2014-09-24 13:43 UTC (History)
6 users (show)

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

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 GitHub or Developer Community 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:
VERIFIED FIXED

Description GouriKumari 2014-09-15 15:54:58 UTC
Steps to reproduce:

Install XS 5.4 or 5.5, mono3.10 and XI 8.2.0 or 8.0.0
Create an iOS project using unified_api SingleView Universal project
Build the project

Actual Behaviour:
Application fails to build with error "Error building target _CollectPngImages: Metadata named 'OptimizeImage' not found in item named obj/iPhone/Debug/ in item list named _BundleResourceWithLogicalName"

Supplemental info:
 Applications created from Classic SingleView template also builds fine with mono 3.10.0. Also, Application builds fine on installing mono 3.8.0.

Test Env:
Xamarin Studio
Version 5.4 (build 216)
Installation UUID: 5ed3a124-4b77-4c6f-beb9-c830fd815e2a
Runtime:
	Mono 3.10.0 ((detached/8037a90)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 310000007


Apple Developer Tools
Xcode 6.0 (6299)
Build 6A313

Xamarin.iOS
Version: 8.2.0.112 (Enterprise Edition)
Hash: 67b3f60
Branch: 
Build date: 2014-09-12 20:43:03-0400
Comment 1 GouriKumari 2014-09-15 15:55:59 UTC
*** Bug 22410 has been marked as a duplicate of this bug. ***
Comment 2 Jeffrey Stedfast 2014-09-15 15:56:53 UTC
*** Bug 22928 has been marked as a duplicate of this bug. ***
Comment 3 PJ 2014-09-15 18:22:07 UTC
Since the behavior changes with the installation of mono on the desktop, moving to the desktop mono product.
Comment 4 Rodrigo Kumpera 2014-09-15 19:03:10 UTC
Fixed
Comment 5 Rodrigo Kumpera 2014-09-15 19:03:18 UTC
Fixed
Comment 6 Rodrigo Kumpera 2014-09-16 11:05:23 UTC
Actually I don't think this has been fixed.

Someone from the IDE team must troubleshoot this one first.
Comment 7 Jeffrey Stedfast 2014-09-16 12:26:06 UTC
Gouri: can you unmark this as private? no one can view the bug unless it is assigned to them
Comment 8 Rodrigo Kumpera 2014-09-16 13:45:58 UTC
Marek, this puppy is yours.
Comment 9 Marek Safar 2014-09-16 17:30:27 UTC
I am not sure why is it xbuild issue at the moment when the description says

Applications created from Classic SingleView template also builds fine with mono 3.10.0. Also, Application builds fine on installing mono 3.8.0.

This is some sort of problem in unified version of _CollectPngImages, I don't even know where that code is.
Comment 10 Marek Safar 2014-09-16 18:15:42 UTC
To investigate the issue I need some reliable steps how to reproduce it.

"Create an iOS project using unified_api SingleView Universal project"

gives me

	Target _CompileToNative:
		Tool /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin/mtouch execution started with arguments: --cache "obj/iPhoneSimulator/Debug/mtouch-cache" --nomanifest --nosign --sim "bin/iPhoneSimulator/Debug/svu.app" --debug --nolink --sdkroot "/Applications/Xcode5.app/Contents/Developer" --sdk "7.0" --targetver "8.0" --abi=i386,x86_64 -r "/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/System.dll" -r "/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/System.Xml.dll" -r "/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/Xamarin.iOS.dll" -r "/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/System.Core.dll" -r "/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/mscorlib.dll" "/Users/marek/Projects/sv-u/sv-u/bin/iPhoneSimulator/Debug//svu.exe" 
		Xamarin.iOS 7.9.4 Business Edition using framework: /Applications/Xcode5.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk
MTOUCHTASK:  warning MT0000: The dynamic registrar has not yet been implemented for 64-bit architectures. The static registrar has been selected by default.
MTOUCHTASK:  warning MT0046: AVKit.framework is unsupported in from Xcode 5.0 and might not work correctly
MTOUCHTASK:  warning MT0046: CloudKit.framework is unsupported in from Xcode 5.0 and might not work correctly
MTOUCHTASK:  warning MT0046: SceneKit.framework is unsupported in from Xcode 5.0 and might not work correctly
MTOUCHTASK:  warning MT0046: LocalAuthentication.framework is unsupported in from Xcode 5.0 and might not work correctly
MTOUCHTASK:  warning MT0046: HealthKit.framework is unsupported in from Xcode 5.0 and might not work correctly
MTOUCHTASK:  warning MT0046: HomeKit.framework is unsupported in from Xcode 5.0 and might not work correctly
MTOUCHTASK:  warning MT0046: NotificationCenter.framework is unsupported in from Xcode 5.0 and might not work correctly
MTOUCHTASK:  warning MT0046: Photos.framework is unsupported in from Xcode 5.0 and might not work correctly
MTOUCHTASK:  warning MT0046: PushKit.framework is unsupported in from Xcode 5.0 and might not work correctly
MTOUCHTASK:  warning MT0046: PhotosUI.framework is unsupported in from Xcode 5.0 and might not work correctly
MTOUCHTASK: error MT4134: Your application is using the 'AVKit' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS 8, while you're building with the iOS 7 SDK.) This configuration is only supported with the legacy registrar (pass --registrar:legacy as an additional mtouch argument in your project's iOS Build option to select). Alternatively select a newer SDK in your app's iOS Build options.
MTOUCHTASK: error MT4134: Your application is using the 'CloudKit' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS 8, while you're building with the iOS 7 SDK.) This configuration is only supported with the legacy registrar (pass --registrar:legacy as an additional mtouch argument in your project's iOS Build option to select). Alternatively select a newer SDK in your app's iOS Build options.
MTOUCHTASK: error MT4134: Your application is using the 'SceneKit' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS 8, while you're building with the iOS 7 SDK.) This configuration is only supported with the legacy registrar (pass --registrar:legacy as an additional mtouch argument in your project's iOS Build option to select). Alternatively select a newer SDK in your app's iOS Build options.
MTOUCHTASK: error MT4134: Your application is using the 'HealthKit' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS 8, while you're building with the iOS 7 SDK.) This configuration is only supported with the legacy registrar (pass --registrar:legacy as an additional mtouch argument in your project's iOS Build option to select). Alternatively select a newer SDK in your app's iOS Build options.
MTOUCHTASK: error MT4134: Your application is using the 'HomeKit' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS 8, while you're building with the iOS 7 SDK.) This configuration is only supported with the legacy registrar (pass --registrar:legacy as an additional mtouch argument in your project's iOS Build option to select). Alternatively select a newer SDK in your app's iOS Build options.
MTOUCHTASK: error MT4134: Your application is using the 'Metal' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS 8, while you're building with the iOS 7 SDK.) This configuration is only supported with the legacy registrar (pass --registrar:legacy as an additional mtouch argument in your project's iOS Build option to select). Alternatively select a newer SDK in your app's iOS Build options.
MTOUCHTASK: error MT4134: Your application is using the 'NotificationCenter' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS 8, while you're building with the iOS 7 SDK.) This configuration is only supported with the legacy registrar (pass --registrar:legacy as an additional mtouch argument in your project's iOS Build option to select). Alternatively select a newer SDK in your app's iOS Build options.
MTOUCHTASK: error MT4134: Your application is using the 'PushKit' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS 8, while you're building with the iOS 7 SDK.) This configuration is only supported with the legacy registrar (pass --registrar:legacy as an additional mtouch argument in your project's iOS Build option to select). Alternatively select a newer SDK in your app's iOS Build options.
MTOUCHTASK: error MT4134: Your application is using the 'Photos' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS 8, while you're building with the iOS 7 SDK.) This configuration is only supported with the legacy registrar (pass --registrar:legacy as an additional mtouch argument in your project's iOS Build option to select). Alternatively select a newer SDK in your app's iOS Build options.
MTOUCHTASK: error MT4134: Your application is using the 'CoreAudioKit' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS 8, while you're building with the iOS 7 SDK.) This configuration is only supported with the legacy registrar (pass --registrar:legacy as an additional mtouch argument in your project's iOS Build option to select). Alternatively select a newer SDK in your app's iOS Build options.
MTOUCHTASK: error MT4134: Your application is using the 'LocalAuthentication' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS 8, while you're building with the iOS 7 SDK.) This configuration is only supported with the legacy registrar (pass --registrar:legacy as an additional mtouch argument in your project's iOS Build option to select). Alternatively select a newer SDK in your app's iOS Build options.
	Task "MTouchTask" execution -- FAILED

Build FAILED.
Comment 11 GouriKumari 2014-09-16 18:43:46 UTC
@Marek:

You will have to use Xcode6 to solve the build issues.
With Xcode5.0, add extra mtouch arguments "--registrar:legacy" and add "OLDSTATICREGISTRAR" to compiler->DefineSymbols  in Project Build: Debug|iPhone config.

These additions should solve the build issues you are seeing.

Test Env to reproduce the issue:

XS 5.4 :http://storage.bos.internalx.com/monodevelop-lion-monodevelop-5.4-branch/33/338110385bb89c5774e89ffcb15d8f2039e7fbcd/XamarinStudio-5.4.0.239.dmg

monotouch XI 8.0.0 : http://storage.bos.internalx.com/monotouch-mlion-monotouch-8.0.0-branch/b2/b26679f1811f89744931be0d571442162dd53618/monotouch-8.0.0.60.pkg

monotouch XI 8.2.0: http://storage.bos.internalx.com/monotouch-mavericks-monotouch-8.2.0-branch/88/889097d8d1c41108617bed93f0eba71d05b5cc2b/monotouch-8.2.0.152.pkg

mono 3.10.0: http://storage.bos.internalx.com/mono-mac-3.10.0-branch/80/8037a90611b208892bfdeb53cedd883f8bb787b7/MonoFramework-MDK-3.10.0.7.macos10.xamarin.x86.pkg

Steps to reproduce:

Application created using unified_api SingleView template gives the reported  build error with mono 3.10.0. 

Same project builds fine, with mono 3.8.0.
Comment 12 Marek Safar 2014-09-17 14:23:01 UTC
It should be fixed in master and 3.10
Comment 13 Christopher Blackman 2014-09-17 16:41:59 UTC
I'm experiencing this bug as well, using Mono 3.10, X.iOS 8.0/8.2, in Xamarin Studio 5.4. In attempting to build the single view unified api template project using Mono 3.10, the build fails with very similar output to what Gouri posted. Tested with both X.iOS 8.0 and 8.2. Building works using Mono 3.8.

The build output can be found here: https://gist.github.com/ChrisBlackman/991fe324a14b96221be7

Environment info:
=== Xamarin Studio ===

Version 5.4 (build 236)
Installation UUID: 560ac8c1-3b61-43c9-9153-d18fe3a51e9a
Runtime:
	Mono 3.10.0 ((detached/491d1f5)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 310000015

=== Apple Developer Tools ===

Xcode 6.0 (6299)
Build 6A313

=== Xamarin.iOS ===

Version: 8.2.0.154 (Business Edition)
Hash: 4df8cee
Branch: 
Build date: 2014-09-16 17:56:45-0400

=== Xamarin.Android ===

Version: 4.17.0 (Business Edition)
Android SDK: /Users/Chris/Library/Developer/Xamarin/android-sdk-macosx
	Supported Android versions:
		1.6    (API level 4)
		2.1    (API level 7)
		2.2    (API level 8)
		2.3    (API level 10)
		3.1    (API level 12)
		4.0    (API level 14)
		4.0.3  (API level 15)
		4.2    (API level 17)
		4.3    (API level 18)
		4.4    (API level 19)
		4.4.87 (API level 20)
		4.5    (API level 21)
Java SDK: /usr
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)

=== Xamarin.Mac ===

Version:

=== Build Information ===

Release ID: 504000236
Git revision: 7919b7498c2fbd22aa2f8beb7f5df597eceb742b
Build date: 2014-09-15 12:51:03-04
Xamarin addins: 209babcde541bd7445544f0a7bbd1b926e918297

=== Operating System ===

Mac OS X 10.9.4
Darwin miguelwin7.bos.xamarin.com 13.3.0 Darwin Kernel Version 13.3.0
    Tue Jun  3 21:27:35 PDT 2014
    root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64
Comment 14 Marek Safar 2014-09-17 16:45:21 UTC
It was fixed 2 hours ago, you don't need to reopen the issue before wrench built the fix.
Comment 15 GouriKumari 2014-09-24 13:43:08 UTC
Verified with mono 3.10.0 , ac51002

Build Log: https://gist.github.com/GouriKumari/ef7fb80b3d9fdbb29681


Test Env:
Xamarin Studio
Version 5.4 (build 238)
Installation UUID: 5ed3a124-4b77-4c6f-beb9-c830fd815e2a
Runtime:
	Mono 3.10.0 ((detached/ac51002)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 310000016

Apple Developer Tools
Xcode 6.0 (6299)
Build 6A313

Xamarin.iOS
Version: 8.2.0.181 (Enterprise Edition)
Hash: 9d613ff