Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

XCode fails to build project. NSPOSIXErrorDomain??

Discussion in 'Unity Build Automation' started by Wisteso, Aug 23, 2014.

  1. Wisteso

    Wisteso

    Joined:
    Nov 17, 2013
    Posts:
    50
    So far the Cloud Build seems awesome, however, I've run into a blocking issue that I've never encountered when building manually with XCode 5.1.1 on my Mac Pro.

    The Android compilation for the same code works fine.

    87: + Building with Xcode 5.1.1
    88: [xcode] 1 error generated.
    89: [xcode] 2014-08-22 19:34:49.398 xcodebuild[72163:1403] DVTAssertions: Warning in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-5069/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/SpecificationTypes/BuiltInSpecifications/Compilers/XCGccMakefileDependencies.m:76
    90: [xcode] NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=2 \"The operation couldn\U2019t be completed. No such file or directory\"";
    91: [xcode] Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
    92: [xcode] ** BUILD FAILED **
    93: ! build of 'default-ios' failed. compile failed
    94: Finished: FAILURE

    The Unity phase completes fine, with just a few code warnings. I am using a few plugins (which work fine when compiled locally), and some non-standard frameworks (StoreKit, Accounts, Social), but otherwise it's a pretty standard XCode project. We aren't doing any post-processing on the Unity output aside from the frameworks.
     
    Last edited: Aug 23, 2014
  2. hypeNate

    hypeNate

    Unity Technologies

    Joined:
    Apr 4, 2014
    Posts:
    272
    Hi @Wisteso - Unity Cloud Build doesn't support adding Xcode frameworks yet. But it is on our roadmap and something we are going to be adding in the future.
     
    Keepabee likes this.
  3. Keepabee

    Keepabee

    Joined:
    Jul 12, 2012
    Posts:
    58
    Hi! Just chiming in that this would be my #1 wishlist item as well, since until this is available we cannot make any iOS builds for the foreseeable future as our projects have always relied on plugins in the past and likely will continue to do so in the future.

    Should I still raise a support request for this?
     
  4. hypeNate

    hypeNate

    Unity Technologies

    Joined:
    Apr 4, 2014
    Posts:
    272
    @Meatgrind - ok, good to know! We have that feature on our roadmap, so watch this space and we'll announce when it is available.
     
  5. Wisteso

    Wisteso

    Joined:
    Nov 17, 2013
    Posts:
    50
    hypeNate, it's of course understandable that the very first release would not support frameworks. I'm hoping (somewhat assuming) that framework support will be coming very soon? I think the cloud build system is otherwise awesome and a perfect solution for our team for many reasons.

    If adding framework support is not a critical priority already, I just want to politely point out that currently this feature is for Unity Pro users only, but I think Unity Pro users will often want to be creating games that rely on these post-build frameworks (especially StoreKit for IAPs).
     
  6. hypeNate

    hypeNate

    Unity Technologies

    Joined:
    Apr 4, 2014
    Posts:
    272
    @Wisteso - you're absolutely right. This is a feature that is definitely in the works. I can't announce exactly when it will be ready - but it is coming.

    And thanks for the kind words about the service!
     
  7. Wisteso

    Wisteso

    Joined:
    Nov 17, 2013
    Posts:
    50
    I was surprised today to find that our framework dependent builds were suddenly succeeding. Did you guys already patch support in?

    Edit: Actually it just occurred to me that it might instead be succeeding due to the new "IOSNative" plugin now containing a python script which manually adds these frameworks in to the XCode project via some Unity build hook.

    Either way, I'm very happy to not have to rely on a secondary Mac for builds anymore, and we no longer really need to use TestFlight for deploying builds! (though it is nice for beta testing)

    I'm really loving this cloud building system! :)
     
    Last edited: Aug 31, 2014
    hypeNate likes this.
  8. hypeNate

    hypeNate

    Unity Technologies

    Joined:
    Apr 4, 2014
    Posts:
    272
    @Wisteso - great! Yes, if the plugin author has included a script to manage the framework then that should execute as planned. Many of the Prime31 plugins have this functionality.
     
  9. hypeNate

    hypeNate

    Unity Technologies

    Joined:
    Apr 4, 2014
    Posts:
    272
  10. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    I'm getting the same error when building a project containing UnityAds.
    The same project, builds fine on a local computer.

    Do I need to setup anything extra in the project or the Advanced Build settings to make it work?

    Code (csharp):
    1.  
    2. 18795: [xcode] CompileC build/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/UnityAdsUnityWrapper.o Libraries/UnityAdsUnityWrapper.mm normal armv7 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
    3. 18796: [xcode] export LANG=en_US.US-ASCII
    4. 18797: [xcode] #import
    5. 18798: [xcode] ^
    6. 18799: [xcode] 1 error generated.
    7. 18800: [xcode] CompileC build/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/iPhone_Profiler.o Classes/iPhone_Profiler.cpp normal armv7 c++ com.apple.compilers.llvm.clang.1_0.compiler
    8. 18801: [xcode] export LANG=en_US.US-ASCII
    9. 18802: [xcode] 2014-10-08 20:44:52.146 xcodebuild[45267:5907] DVTAssertions: Warning in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-5069/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/SpecificationTypes/BuiltInSpecifications/Compilers/XCGccMakefileDependencies.m:76
    10. 18803: [xcode] NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=2 \"The operation couldn\U2019t be completed. No such file or directory\"";
    11. 18804: [xcode] }.
    12. 18805: [xcode] Function: void XCGccMakefileDependenciesParsePathsFromRuleFile(NSString *__strong, void (^__strong)(NSString *__strong))
    13. 18806: [xcode] Thread: {name = (null), num = 7}
    14. 18807: [xcode] Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
    15. 18808: [xcode] CompileC build/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/RegisterMonoModules.o Libraries/RegisterMonoModules.cpp normal armv7 c++ com.apple.compilers.llvm.clang.1_0.compiler
    16. 18809: [xcode] export LANG=en_US.US-ASCII
    17. 18810: [xcode] CompileC build/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/WWWConnection.o Classes/Unity/WWWConnection.mm normal armv7 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
    18. 18811: [xcode] export LANG=en_US.US-ASCII
    19. 18812: [xcode] ** BUILD FAILED **
    20. 18813: [xcode] The following build commands failed:
    21. 18814: [xcode] CompileC build/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/UnityAdsUnityWrapper.o Libraries/UnityAdsUnityWrapper.mm normal armv7 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
    22. 18815: [xcode] (1 failure)
    23. 18816: ! build of 'default-ios' failed. compile failed
    24.  
     
  11. hypeNate

    hypeNate

    Unity Technologies

    Joined:
    Apr 4, 2014
    Posts:
    272
    Hi @Inter Illusion - I can't tell from this code whether you're using the Xcode Manipulation API?

    Just in case you are not: If your project requires adding Xcode frameworks after Unity exports the player but before the Xcode process runs, you'll need to check out https://build.cloud.unity3d.com/support/guides/advancedfeatures and learn how to include the Xcode Manipulation API in your project. You'll also need to either define a UCB post-Export method or else utilize the postProcessBuildAttribute on your own method:

    http://docs.unity3d.com/ScriptReference/Callbacks.PostProcessBuildAttribute.html

    If you need more assistance, perhaps other users on this forum can provide guidance or a link to a tutorial on how this is typically done, what they've tried in UCB?

    And to answer your specific question: using the Xcode Manipulation API does not require access to UCB Advanced Settings, but using a UCB post-Export method does.