[Mono-ue] Build Error

Michael Hutchinson m.j.hutchinson at gmail.com
Fri Mar 13 18:31:46 UTC 2015


Initially we needed a patched version of Mono so it was bundled inside
the plugin like other UE dependencies. I later changed it to use a
lookup tool that would allow instead using the Mono installed in the
system so we don't have to bundle/update it any more - though we still
be a bundled Mono, as Mono does not yet ship a 64-bit Windows build.

The json file is simply the cached output of the tool. It wouldn't be
too difficult to invalidate it when the path changes.

As part of the build, we pass the Mono location as a define so it can
get embedded into the plugin, which can then load it dynamically at
runtime. An alternative mechanism would be to generate a header file
and inject that into the build.

- m


On 12 March 2015 at 19:30, Ryan Burnham <nitro52 at iinet.net.au> wrote:
> Great, that file looks like it was the problem. I didn't delete it because I'm not sure what it's for, just updated the paths in it. I did a text search across the repo folder with sublime and couldn't find any more matches to the old path.
>
> What is that json for? Can the paths be relative?
>
> -----Original Message-----
> From: Michael Hutchinson [mailto:m.j.hutchinson at gmail.com]
> Sent: Friday, 13 March 2015 12:36 AM
> To: Robert Vissers
> Cc: Ryan Burnham; mono-ue
> Subject: Re: [Mono-ue] Build Error
>
> I suspect removing this file would be sufficient:
> Engine/Intermediate/Build/Win64/Mono/MonoRuntimeInfo.json
>
> - m
>
>
>
> On 12 March 2015 at 11:07, Robert Vissers <robert.vissers at tropicalbeachstudios.nl> wrote:
>> I got it to work, but you need to remove your xamarin branch and start
>> again from there. So recreate the branch and aply the patches and mono zip.
>>
>> A lot of files that get generated have references to the full path and
>> they still point to the wrong location.
>>
>> Hope this helps
>> ________________________________
>> From: Ryan Burnham
>> Sent: ‎12-‎3-‎2015 15:15
>> To: 'Michael Hutchinson'
>> Cc: 'Robert Vissers'; 'mono-ue'
>> Subject: RE: [Mono-ue] Build Error
>>
>> Renamed the root folder so it didn't have any spaces and I still get
>> the error. I've attached to build log with arguments output
>>
>> -----Original Message-----
>> From: Michael Hutchinson [mailto:m.j.hutchinson at gmail.com]
>> Sent: Thursday, 12 March 2015 12:04 AM
>> To: Ryan Burnham
>> Cc: Robert Vissers; mono-ue
>> Subject: Re: [Mono-ue] Build Error
>>
>> Yup, looks like the issues is spaces in the path.
>>
>> According to the comments on
>> https://msdn.microsoft.com/en-us/library/windows/desktop/aa381055%28v=
>> vs.85%29.aspx,
>> /d doesn't allow spaces in values.
>>
>> Looks like I'll have to figure out another way to pass those values
>> in. In the meantime, moving the engine checkout to a directory without
>> spaces in the path should work.
>>
>> -m
>>
>> On 11 March 2015 at 10:48, Ryan Burnham <nitro52 at iinet.net.au> wrote:
>>> So I managed to find the main method of the UnrealBuildTool in
>>> UnrealBuildTool.cs and output its arguments. It's using these
>>>
>>> UE4Editor Win64 Development -DEPLOY
>>>
>>> So I ran the debugger with them and think I found when it calls RC.
>>> It seems to do it on multiple threads. It looks like the arguments
>>> being using for one of the failed ones is below. I can't see anything
>>> obviously wrong (I added new lines for readability)
>>>
>>> /nologo
>>> /d _WIN64 /l 0x409
>>> /i "E:\Source Control\UnrealEngine\Engine\Source"
>>> /i "E:\Source
>>> Control\UnrealEngine\Engine\Plugins\XamarinUE4\MonoRuntime\Source"
>>> /i "E:\Source
>>> Control\UnrealEngine\Engine\Plugins\XamarinUE4\MonoRuntime\Source\MonoRuntime/Private"
>>> /i "../Plugins/XamarinUE4/MonoRuntime/Source/MonoRuntime/Classes/"
>>> /i "../Intermediate/Build/Win64/Inc/Plugins/MonoRuntime/"
>>> /i "../Plugins/XamarinUE4/MonoRuntime/Source/MonoRuntime/Public/"
>>> /i "Runtime/Core/Public"
>>> /i "Runtime/Core/Public/Internationalization"
>>> /i "Runtime/Core/Public/Async"
>>> /i "Runtime/Core/Public/Concurrency"
>>> /i "Runtime/Core/Public/Containers"
>>> /i "Runtime/Core/Public/Delegates"
>>> /i "Runtime/Core/Public/GenericPlatform"
>>> /i "Runtime/Core/Public/HAL"
>>> /i "Runtime/Core/Public/Math"
>>> /i "Runtime/Core/Public/Misc"
>>> /i "Runtime/Core/Public/Modules"
>>> /i "Runtime/Core/Public/Modules/Boilerplate"
>>> /i "Runtime/Core/Public/ProfilingDebugging"
>>> /i "Runtime/Core/Public/Serialization"
>>> /i "Runtime/Core/Public/Serialization/Json"
>>> /i "Runtime/Core/Public/Stats"
>>> /i "Runtime/Core/Public/Templates"
>>> /i "Runtime/Core/Public/UObject"
>>> /i "Runtime/Core/Public/Windows"
>>> /i "Runtime/Core"
>>> /i "Runtime/CoreUObject/Classes/"
>>> /i "../Intermediate/Build/Win64/Inc/CoreUObject/"
>>> /i "Runtime/CoreUObject/Public/"
>>> /i "Runtime/CoreUObject/Public/Blueprint"
>>> /i "Runtime/CoreUObject/Public/Misc"
>>> /i "Runtime/CoreUObject/Public/Serialization"
>>> /i "Runtime/CoreUObject/Public/Templates"
>>> /i "Runtime/CoreUObject/Public/UObject"
>>> /i "Runtime/CoreUObject"
>>> /i "Runtime/Engine/Classes/"
>>> /i "../Intermediate/Build/Win64/Inc/Engine/"
>>> /i "Runtime/Engine/Public/"
>>> /i "Runtime/Engine/Public/AI"
>>> /i "Runtime/Engine/Public/Features"
>>> /i "Runtime/Engine/Public/Landscape"
>>> /i "Runtime/Engine/Public/Net"
>>> /i "Runtime/Engine/Public/Slate"
>>> /i "Runtime/Engine/Public/Tests"
>>> /i "../Intermediate/Build/Win64/Inc/Slate/"
>>> /i "Runtime/Slate/Public/"
>>> /i "Runtime/Slate/Public/Framework"
>>> /i "Runtime/Slate/Public/Widgets"
>>> /i "Runtime/Slate/Public/Framework/Application"
>>> /i "Runtime/Slate/Public/Framework/Commands"
>>> /i "Runtime/Slate/Public/Framework/Docking"
>>> /i "Runtime/Slate/Public/Framework/Layout"
>>> /i "Runtime/Slate/Public/Framework/MultiBox"
>>> /i "Runtime/Slate/Public/Framework/Notifications"
>>> /i "Runtime/Slate/Public/Framework/Styling"
>>> /i "Runtime/Slate/Public/Framework/Text"
>>> /i "Runtime/Slate/Public/Framework/Views"
>>> /i "Runtime/Slate/Public/Framework/Text/Android"
>>> /i "Runtime/Slate/Public/Framework/Text/IOS"
>>> /i "Runtime/Slate/Public/Widgets/Colors"
>>> /i "Runtime/Slate/Public/Widgets/Docking"
>>> /i "Runtime/Slate/Public/Widgets/Images"
>>> /i "Runtime/Slate/Public/Widgets/Input"
>>> /i "Runtime/Slate/Public/Widgets/Layout"
>>> /i "Runtime/Slate/Public/Widgets/Navigation"
>>> /i "Runtime/Slate/Public/Widgets/Notifications"
>>> /i "Runtime/Slate/Public/Widgets/Testing"
>>> /i "Runtime/Slate/Public/Widgets/Text"
>>> /i "Runtime/Slate/Public/Widgets/Tutorials"
>>> /i "Runtime/Slate/Public/Widgets/Views"
>>> /i "Runtime/InputCore/Classes/"
>>> /i "../Intermediate/Build/Win64/Inc/InputCore/"
>>> /i "Runtime/InputCore/Public/"
>>> /i "Runtime/InputCore"
>>> /i "../Intermediate/Build/Win64/Inc/SlateCore/"
>>> /i "Runtime/SlateCore/Public/"
>>> /i "Runtime/SlateCore/Public/Animation"
>>> /i "Runtime/SlateCore/Public/Application"
>>> /i "Runtime/SlateCore/Public/Brushes"
>>> /i "Runtime/SlateCore/Public/Fonts"
>>> /i "Runtime/SlateCore/Public/Input"
>>> /i "Runtime/SlateCore/Public/Layout"
>>> /i "Runtime/SlateCore/Public/Logging"
>>> /i "Runtime/SlateCore/Public/Rendering"
>>> /i "Runtime/SlateCore/Public/Sound"
>>> /i "Runtime/SlateCore/Public/Styling"
>>> /i "Runtime/SlateCore/Public/Textures"
>>> /i "Runtime/SlateCore/Public/Types"
>>> /i "Runtime/SlateCore/Public/Widgets"
>>> /i "Runtime/SlateCore"
>>> /i "Runtime/Slate"
>>> /i "../Intermediate/Build/Win64/Inc/Messaging/"
>>> /i "Runtime/Messaging/Public/"
>>> /i "Runtime/Messaging/Public/Common"
>>> /i "Runtime/Messaging/Public/Interfaces"
>>> /i "Runtime/Messaging"
>>> /i "../Intermediate/Build/Win64/Inc/RenderCore/"
>>> /i "Runtime/RenderCore/Public/"
>>> /i "Runtime/RenderCore"
>>> /i "../Intermediate/Build/Win64/Inc/RHI/"
>>> /i "Runtime/RHI/Public/"
>>> /i "Runtime/RHI"
>>> /i "../Intermediate/Build/Win64/Inc/ShaderCore/"
>>> /i "Runtime/ShaderCore/Public/"
>>> /i "Runtime/ShaderCore"
>>> /i "../Intermediate/Build/Win64/Inc/AssetRegistry/"
>>> /i "Runtime/AssetRegistry/Public/"
>>> /i "Runtime/AssetRegistry"
>>> /i "Runtime/EngineMessages/Classes/"
>>> /i "../Intermediate/Build/Win64/Inc/EngineMessages/"
>>> /i "Runtime/EngineMessages/Public/"
>>> /i "Runtime/EngineMessages"
>>> /i "Runtime/EngineSettings/Classes/"
>>> /i "../Intermediate/Build/Win64/Inc/EngineSettings/"
>>> /i "Runtime/EngineSettings/Public/"
>>> /i "Runtime/EngineSettings"
>>> /i "../Intermediate/Build/Win64/Inc/SynthBenchmark/"
>>> /i "Developer/SynthBenchmark/Public/"
>>> /i "../Intermediate/Build/Win64/Inc/Renderer/"
>>> /i "Runtime/Renderer/Public/"
>>> /i "Runtime/Renderer"
>>> /i "Developer/SynthBenchmark"
>>> /i "Runtime/AIModule/Public"
>>> /i "Runtime/AIModule/Classes/"
>>> /i "../Intermediate/Build/Win64/Inc/AIModule/"
>>> /i "Runtime/AIModule/Public/"
>>> /i "Developer/GameplayDebugger/Public"
>>> /i "Developer/GameplayDebugger/Classes/"
>>> /i "../Intermediate/Build/Win64/Inc/GameplayDebugger/"
>>> /i "Developer/GameplayDebugger/Public/"
>>> /i "Developer/GameplayDebugger"
>>> /i "Runtime/AIModule"
>>> /i "Programs/UnrealLightmass/Public"
>>> /i "Editor/UnrealEd/Classes/"
>>> /i "../Intermediate/Build/Win64/Inc/UnrealEd/"
>>> /i "Editor/UnrealEd/Public/"
>>> /i "Editor/UnrealEd/Public/Commandlets"
>>> /i "Editor/UnrealEd/Public/Dialogs"
>>> /i "Editor/UnrealEd/Public/DragAndDrop"
>>> /i "Editor/UnrealEd/Public/Features"
>>> /i "Editor/UnrealEd/Public/Kismet2"
>>> /i "Editor/UnrealEd/Public/Layers"
>>> /i "Editor/UnrealEd/Public/Tests"
>>> /i "Editor/UnrealEd/Public/Toolkits"
>>> /i "../Intermediate/Build/Win64/Inc/BspMode/"
>>> /i "Editor/BspMode/Public/"
>>> /i "Editor/BspMode"
>>> /i "../Intermediate/Build/Win64/Inc/Documentation/"
>>> /i "Editor/Documentation/Public/"
>>> /i "Editor/Documentation"
>>> /i "../Intermediate/Build/Win64/Inc/Projects/"
>>> /i "Runtime/Projects/Public/"
>>> /i "Runtime/Projects/Public/Interfaces"
>>> /i "Runtime/Projects"
>>> /i "../Intermediate/Build/Win64/Inc/SandboxFile/"
>>> /i "Runtime/SandboxFile/Public/"
>>> /i "Runtime/SandboxFile"
>>> /i "../Intermediate/Build/Win64/Inc/EditorStyle/"
>>> /i "Editor/EditorStyle/Public/"
>>> /i "Editor/EditorStyle/Public/Classes"
>>> /i "Editor/EditorStyle/Public/Interfaces"
>>> /i "Editor/EditorStyle"
>>> /i "../Intermediate/Build/Win64/Inc/SourceControl/"
>>> /i "Developer/SourceControl/Public/"
>>> /i "Developer/SourceControl"
>>> /i "Editor/UnrealEdMessages/Classes/"
>>> /i "../Intermediate/Build/Win64/Inc/UnrealEdMessages/"
>>> /i "Editor/UnrealEdMessages/Public/"
>>> /i "Editor/UnrealEdMessages"
>>> /i "Editor/BlueprintGraph/Classes/"
>>> /i "../Intermediate/Build/Win64/Inc/BlueprintGraph/"
>>> /i "Editor/BlueprintGraph/Public/"
>>> /i "Editor/BlueprintGraph"
>>> /i "../Intermediate/Build/Win64/Inc/XAudio2/"
>>> /i "Runtime/Windows/XAudio2/Public/"
>>> /i "Runtime/Windows/XAudio2"
>>> /i "../Intermediate/Build/Win64/Inc/UserFeedback/"
>>> /i "Editor/UserFeedback/Public/"
>>> /i "Editor/UserFeedback"
>>> /i "../Intermediate/Build/Win64/Inc/CollectionManager/"
>>> /i "Developer/CollectionManager/Public/"
>>> /i "Developer/CollectionManager"
>>> /i "Editor/UnrealEd"
>>> /i "Editor/Kismet/Classes/"
>>> /i "../Intermediate/Build/Win64/Inc/Kismet/"
>>> /i "Editor/Kismet/Public/"
>>> /i "Editor/Kismet/Public/WorkflowOrientedApp"
>>> /i "Editor/Kismet"
>>> /i "Runtime/Engine"
>>> /i "../Plugins/XamarinUE4/MonoRuntime/Source/MonoRuntime"
>>> /i "../Intermediate/Build/Win64/Inc/DesktopPlatform/"
>>> /i "Developer/DesktopPlatform/Public/"
>>> /i "Developer/DesktopPlatform"
>>> /i "../Plugins/XamarinUE4/MonoRuntime/Source/ThirdParty/mono/"
>>> /d "UE_EDITOR=1"
>>> /d "IS_PROGRAM=0"
>>> /d "UE_ROCKET=0"
>>> /d "UNICODE"
>>> /d "_UNICODE"
>>> /d "__UNREAL__"
>>> /d "IS_MONOLITHIC=0"
>>> /d "WITH_ENGINE=1"
>>> /d "WITH_UNREAL_DEVELOPER_TOOLS=1"
>>> /d "WITH_COREUOBJECT=1"
>>> /d "USE_STATS_WITHOUT_ENGINE=0"
>>> /d "WITH_PLUGIN_SUPPORT=0"
>>> /d "USE_LOGGING_IN_SHIPPING=0"
>>> /d "UE_BUILD_MINIMAL=0"
>>> /d "WITH_EDITOR=1"
>>> /d "WITH_SERVER_CODE=1"
>>> /d "UBT_COMPILED_PLATFORM=Win64"
>>> /d "WIN32=1"
>>> /d "_WIN32_WINNT=0x0600"
>>> /d "WINVER=0x0600"
>>> /d "PLATFORM_WINDOWS=1"
>>> /d "NDEBUG=1"
>>> /d "UE_BUILD_DEVELOPMENT=1"
>>> /d "ORIGINAL_FILE_NAME="UE4Editor-MonoRuntime.dll""
>>> /d "MONORUNTIME_API=DLLEXPORT"
>>> /d "UE_ENABLE_ICU=1"
>>> /d "WITH_STEAMWORKS/=0"
>>> /d "WITH_VS_PERF_PROFILER=1"
>>
>> [The entire original message is not included.]
>
>
>
> --
> ~ https://mhut.ch
>



-- 
~ https://mhut.ch


More information about the Mono-ue mailing list