[Mono-ue] Mono for UE build issues

Kei Nakazawa muo at muo.jp
Sat Nov 1 00:08:46 UTC 2014


Michael,

great work! I confirmed everything went fine on OSX with preview 2. Also,
thank you for your explanation about library path. It corrected my
understanding.

Regards, Kei.

2014-11-01 7:59 GMT+09:00 Michael Hutchinson <m.j.hutchinson at gmail.com>:

> The install_name_tool command changes the identity of
> libmonosgen-2.0.dylib to be relative instead of absolute so that it can be
> used in any machine.
>
> We've actually uploaded preview 2 of the package which should fix this and
> the earlier issue of missing files.
>
> However, the MonoRuntime module will need to be rebuilt against the
> updated libmono dylib.
>
> You can force that module to rebuild by touching some of its files e.g.
> with this command (IIRC, on my phone right now):
>
> touch Engine/Plugins/XamarinUE4/MonoRuntime/Source/MonoRuntime/Private/*.h
>
> - m
> On Oct 31, 2014 6:03 PM, "Kei Nakazawa" <muo at muo.jp> wrote:
>
>> Michael,
>>
>> thanks for posting workaround. I tried this way:
>> First, removed the copy of libmonosgen-2.0.dylib and its symlink:
>> $ rm /usr/local/lib/libmonosgen-2.0.*
>>
>> Then:
>> $ pwd
>> /Users/keinakazawa/Documents/workspace/UnrealEngine
>> $ install_name_tool -id '@rpath/libmonosgen-2.0.dylib'
>> Engine/Binaries/ThirdParty/EMono/bin/Mac/libmonosgen-2.0.dylib
>> $ cp Engine/Binaries/ThirdParty/EMono/bin/Mac/libmonosgen-2.0.dylib
>> Engine/Plugins/XamarinUE4/MonoRuntime/Source/ThirdParty/mono/lib/Mac/libmonosgen-2.0.dylib
>>
>> And I switched back to Xcode and performed Cmd+R. But start-up sequence
>> failed with the same error I got previously:
>> dyld: can't resolve symbol _mono_set_signal_chaining in
>> /Users/keinakazawa/Documents/workspace/UnrealEngine/Engine/Plugins/XamarinUE4/MonoRuntime/Binaries/Mac/UE4Editor-MonoRuntime-Mac-Debug.dylib
>> because dependent dylib #10 could not be loaded
>>
>> I did a quick survey to know what's going on and to find out quick fix.
>>
>> $ otool -L
>> Engine/Plugins/XamarinUE4/MonoRuntime/Binaries/Mac/UE4Editor-MonoRuntime-Mac-Debug.dylib
>> | grep libmono
>>     /Users/michael/Mono/mono/../build/lib/libmonosgen-2.0.1.dylib
>> (compatibility version 2.0.0, current version 2.0.0)
>>
>> So, it seems that changing hard coded libpath inside
>> UE4Editor-MonoRuntime-Mac-Debug.dylib would just be a workaround.
>> $ install_name_tool -change
>> "/Users/michael/Mono/mono/../build/lib/libmonosgen-2.0.1.dylib"
>> "@rpath/libmonosgen-2.0.dylib"
>> Engine/Plugins/XamarinUE4/MonoRuntime/Binaries/Mac/UE4Editor-MonoRuntime-Mac-Debug.dylib
>> $ cp Engine/Binaries/ThirdParty/EMono/bin/Mac/libmonosgen-2.0.dylib
>> Engine/Plugins/XamarinUE4/MonoRuntime/Binaries/Mac/
>>
>> After performing this tweak, It's working on my Mac. I still suspect
>> UE4Editor-MonoRuntime-Mac-Debug.dylib will be replace every time I build,
>> but putting `install_name_tool` on post-build script doesn't seem to be a
>> reasonable option..
>>
>> Or am I missing something? i.e. Do I need to clean & rebuild after
>> `install_name_tool -id ...` command?
>>
>> Regards, Kei.
>>
>>
>> 2014-11-01 5:39 GMT+09:00 Michael Hutchinson <m.j.hutchinson at gmail.com>:
>>
>>> As a workaround, try this:
>>>
>>> install_name_tool -id '@rpath/libmonosgen-2.0.dylib'
>>> Engine/Binaries/ThirdParty/EMono/bin/Mac/libmonosgen-2.0.dylib
>>> cp Engine/Binaries/ThirdParty/EMono/bin/Mac/libmonosgen-2.0.dylib
>>>
>>> Engine/Plugins/XamarinUE4/MonoRuntime/Source/ThirdParty/mono/lib/Mac/libmonosgen-2.0.dylib
>>>
>>> On 31 October 2014 16:22, Michael Hutchinson <m.j.hutchinson at gmail.com>
>>> wrote:
>>> > Looking into this right now, it looks like some local paths got baked
>>> > into the Mono dylibs we're shipping in the zip file.
>>> >
>>> > On 31 October 2014 16:14, Kei Nakazawa <muo at muo.jp> wrote:
>>> >> Hi,
>>> >>
>>> >> with UnrealAgent.cs & UnrealAgentConnection.cs, building UE 4 Editor
>>> >> finished w/o errors. Great forward step.
>>> >>
>>> >> But I ran into the error below once I perform Product -> Run (Cmd+R)
>>> and got
>>> >> UE4 splash screen (not reached to Unreal Project Browser).
>>> >>
>>> >> [2014.10.31-19.56.36:569][  0]BlueprintLog: New page: Editor Load
>>> >> dyld: lazy symbol binding failed: Symbol not found:
>>> >> _mono_trace_set_log_handler
>>> >>   Referenced from:
>>> >>
>>> /Users/keinakazawa/Documents/workspace/UnrealEngine/Engine/Plugins/XamarinUE4/MonoRuntime/Binaries/Mac/UE4Editor-MonoRuntime-Mac-Debug.dylib
>>> >>   Expected in: /usr/local/lib/libmonosgen-2.0.1.dylib
>>> >>
>>> >> dyld: Symbol not found: _mono_trace_set_log_handler
>>> >>   Referenced from:
>>> >>
>>> /Users/keinakazawa/Documents/workspace/UnrealEngine/Engine/Plugins/XamarinUE4/MonoRuntime/Binaries/Mac/UE4Editor-MonoRuntime-Mac-Debug.dylib
>>> >>   Expected in: /usr/local/lib/libmonosgen-2.0.1.dylib
>>> >>
>>> >>
>>> >> I have Mono 3.4.0 installed on /usr/local/Cellar/mono/3.4.0 and
>>> symlinked to
>>> >> /usr/local/lib/libmonosgen-2.0.1.dylib.
>>> >>
>>> >> I just temporarily unlinked this binary (because I won't get any
>>> troubles
>>> >> w/o this because I also have installed Mono by installer binary).
>>> >> $ brew unlink mono
>>> >>
>>> >> I performed Cmd+R again and got:
>>> >>
>>> >> dyld: lazy symbol binding failed: can't resolve symbol
>>> >> _mono_set_signal_chaining in
>>> >>
>>> /Users/keinakazawa/Documents/workspace/UnrealEngine/Engine/Plugins/XamarinUE4/MonoRuntime/Binaries/Mac/UE4Editor-MonoRuntime-Mac-Debug.dylib
>>> >> because dependent dylib #10 could not be loaded
>>> >> dyld: can't resolve symbol _mono_set_signal_chaining in
>>> >>
>>> /Users/keinakazawa/Documents/workspace/UnrealEngine/Engine/Plugins/XamarinUE4/MonoRuntime/Binaries/Mac/UE4Editor-MonoRuntime-Mac-Debug.dylib
>>> >> because dependent dylib #10 could not be loaded
>>> >>
>>> >> it seems UE4 Editor simply can't find Mono runtime lib (which is
>>> placed at
>>> >>
>>> Engine/Plugins/XamarinUE4/MonoRuntime/Source/ThirdParty/mono/lib/Mac/libmonosgen-2.0.dylib)
>>> >> this time.
>>> >>
>>> >> So I copied Mono for UE bundled libmonosgen-2.0.dylib to lib dir:
>>> >> $ cp
>>> ./MonoRuntime/Source/ThirdParty/mono/lib/Mac/libmonosgen-2.0.dylib
>>> >> /usr/local/lib/
>>> >> and symlinked as 2.0.1
>>> >> $ ln -s /usr/local/lib/libmonosgen-2.0.dylib
>>> >> /usr/local/lib/libmonosgen-2.0.1.dylib
>>> >> then performing Cmd+R to finally get to "Unreal Project Browser"
>>> screen.
>>> >>
>>> >> Hope it helps somebody and maybe improve build process :)
>>> >>
>>> >> Regards, Kei.
>>> >>
>>> >> 2014-11-01 1:00 GMT+09:00 Kei Nakazawa <muo at muo.jp>:
>>> >>>
>>> >>> Michael,
>>> >>> thanks for uploading gist.
>>> >>>
>>> >>> I changed
>>> >>>
>>> >>>
>>> Engine/Plugins/XamarinUE4/MonoMainDomain/UnrealEngine.MainDomain.csproj:
>>> >>> >  57     <Compile
>>> >>> >
>>> Include="..\XamarinStudio\XamarinStudio.Unreal\Projects\UnrealAgentConnection.cs">
>>> >>> >  67     <Compile
>>> >>> >
>>> Include="..\XamarinStudio\XamarinStudio.Unreal\Projects\UnrealAgent.cs">
>>> >>> to
>>> >>> >  57     <Compile Include="UnrealAgentConnection.cs">
>>> >>> >  67     <Compile Include="UnrealAgent.cs">
>>> >>> then put the files on
>>> https://gist.github.com/mhutch/8513c1893c8b61eb4d24
>>> >>> into the same directory and it seems build process continued (not yet
>>> >>> finished, but no error so far).
>>> >>>
>>> >>> Regards, Kei.
>>> >>>
>>> >>>
>>> >>> 2014-11-01 0:48 GMT+09:00 Michael Hutchinson <
>>> m.j.hutchinson at gmail.com>:
>>> >>>>
>>> >>>> In the meantime, here are the two missing files:
>>> >>>>
>>> >>>> https://gist.github.com/mhutch/8513c1893c8b61eb4d24
>>> >>>>
>>> >>>> On 31 October 2014 11:35, Michael Hutchinson <
>>> m.j.hutchinson at gmail.com>
>>> >>>> wrote:
>>> >>>> > Sorry, looks like we accidentally omitted a file. Working on a new
>>> >>>> > package right now.
>>> >>>> >
>>> >>>> > On 31 October 2014 11:21, Peter Petermann <ppetermann80 at gmail.com
>>> >
>>> >>>> > wrote:
>>> >>>> >> Alright, so i tried to follow the installation guide at
>>> >>>> >> http://mono-ue.github.io/installation.html
>>> >>>> >>
>>> >>>> >> and when i come to rebuilding with the patches applied, i get the
>>> >>>> >> error:
>>> >>>> >> Error 1 error : Expected C# dependency
>>> >>>> >>
>>> >>>> >>
>>> E:\dev\unreal\UnrealEngine\Engine\Intermediate\Build\Win64\Mono\..\..\..\..\Plugins\XamarinUE4\MonoMainDomain\..\XamarinStudio\XamarinStudio.Unreal\Projects\UnrealAgentConnection.cs
>>> >>>> >> to exist.
>>> >>>> >>
>>> >>>> >> looking closer at that path, that whole path doesn't exist
>>> >>>> >>
>>> >>>> >> It will find the
>>> \dev\unreal\UnrealEngine\Engine\Plugins\XamarinUE4
>>> >>>> >> path,
>>> >>>> >> but within that there is no subdirectory named XamarinStudio,
>>> thus no
>>> >>>> >> further subdirectories and no UnrealAgentConnections.cs
>>> >>>> >>
>>> >>>> >> i had a look at the zip that i could download after last nights
>>> mail,
>>> >>>> >> and it
>>> >>>> >> doesnt contain that folder either.
>>> >>>> >>
>>> >>>> >> best regards,
>>> >>>> >> PP
>>> >>>> >>
>>> >>>> >> 2014-10-31 16:19 GMT+01:00 Miguel de Icaza <miguel at xamarin.com>:
>>> >>>> >>>
>>> >>>> >>> Please do post the error messages.
>>> >>>> >>>
>>> >>>> >>> On Fri, Oct 31, 2014 at 7:26 AM, Peter Petermann
>>> >>>> >>> <ppetermann80 at gmail.com>
>>> >>>> >>> wrote:
>>> >>>> >>>>
>>> >>>> >>>> Hi,
>>> >>>> >>>>
>>> >>>> >>>> I'm having a build issue on windows (it seems there are files
>>> >>>> >>>> missing),
>>> >>>> >>>> can i post the error message here?
>>> >>>> >>>>
>>> >>>> >>>> regards,
>>> >>>> >>>> PP
>>> >>>> >>>>
>>> >>>> >>>> 2014-10-31 11:40 GMT+01:00 Kei Nakazawa <muo at muo.jp>:
>>> >>>> >>>>>
>>> >>>> >>>>> Hi,
>>> >>>> >>>>>
>>> >>>> >>>>> like many of you subscribed here, I received a download link
>>> of
>>> >>>> >>>>> preview
>>> >>>> >>>>> today. Then I gave a shot of building and see certain build
>>> error
>>> >>>> >>>>> on OSX.
>>> >>>> >>>>>
>>> >>>> >>>>> I just wanted to paste the error lines on this list but I
>>> stopped:
>>> >>>> >>>>>
>>> >>>> >>>>> I'm wondering about NDA I agreed for downloading the preview
>>> >>>> >>>>> package. It
>>> >>>> >>>>> prevents us from disclosing internal information publicly
>>> (because
>>> >>>> >>>>> of
>>> >>>> >>>>> course, it's a NDA). This list (mono-ue at lists.ximian.com )
>>> is an
>>> >>>> >>>>> open one
>>> >>>> >>>>> and anybody w/o NDA can access archives. So, if we strictly
>>> follow
>>> >>>> >>>>> the NDA,
>>> >>>> >>>>> we shouldn't post details about build errors here. Instead, we
>>> >>>> >>>>> should post
>>> >>>> >>>>> error reports to some bugzilla or mailing lists privately.
>>> >>>> >>>>>
>>> >>>> >>>>> Do you have some guidelines?
>>> >>>> >>>>>
>>> >>>> >>>>> Regards, Kei.
>>> >>>> >>>>>
>>> >>>> >>>>> _______________________________________________
>>> >>>> >>>>> Mono-ue mailing list
>>> >>>> >>>>> Mono-ue at lists.ximian.com
>>> >>>> >>>>> http://lists.ximian.com/mailman/listinfo/mono-ue
>>> >>>> >>>>>
>>> >>>> >>>>
>>> >>>> >>>>
>>> >>>> >>>>
>>> >>>> >>>> --
>>> >>>> >>>> Peter Petermann
>>> >>>> >>>> Email: ppetermann80 at gmail.com - get my public PGP key from SKS
>>> >>>> >>>> Keyservers
>>> >>>> >>>> PGP Key:
>>> >>>> >>>>
>>> >>>> >>>>
>>> http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0x0E6DBD675836A5C7
>>> >>>> >>>>
>>> >>>> >>>>
>>> >>>> >>>>
>>> >>>> >>>> --
>>> >>>> >>>> Peter Petermann
>>> >>>> >>>> Email: ppetermann80 at gmail.com - get my public PGP key from SKS
>>> >>>> >>>> Keyservers
>>> >>>> >>>> PGP Key:
>>> >>>> >>>>
>>> >>>> >>>>
>>> http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0x0E6DBD675836A5C7
>>> >>>> >>>>
>>> >>>> >>>> 2014-10-31 11:40 GMT+01:00 Kei Nakazawa <muo at muo.jp>:
>>> >>>> >>>>>
>>> >>>> >>>>> Hi,
>>> >>>> >>>>>
>>> >>>> >>>>> like many of you subscribed here, I received a download link
>>> of
>>> >>>> >>>>> preview
>>> >>>> >>>>> today. Then I gave a shot of building and see certain build
>>> error
>>> >>>> >>>>> on OSX.
>>> >>>> >>>>>
>>> >>>> >>>>> I just wanted to paste the error lines on this list but I
>>> stopped:
>>> >>>> >>>>>
>>> >>>> >>>>> I'm wondering about NDA I agreed for downloading the preview
>>> >>>> >>>>> package. It
>>> >>>> >>>>> prevents us from disclosing internal information publicly
>>> (because
>>> >>>> >>>>> of
>>> >>>> >>>>> course, it's a NDA). This list (mono-ue at lists.ximian.com )
>>> is an
>>> >>>> >>>>> open one
>>> >>>> >>>>> and anybody w/o NDA can access archives. So, if we strictly
>>> follow
>>> >>>> >>>>> the NDA,
>>> >>>> >>>>> we shouldn't post details about build errors here. Instead, we
>>> >>>> >>>>> should post
>>> >>>> >>>>> error reports to some bugzilla or mailing lists privately.
>>> >>>> >>>>>
>>> >>>> >>>>> Do you have some guidelines?
>>> >>>> >>>>>
>>> >>>> >>>>> Regards, Kei.
>>> >>>> >>>>>
>>> >>>> >>>>> _______________________________________________
>>> >>>> >>>>> Mono-ue mailing list
>>> >>>> >>>>> Mono-ue at lists.ximian.com
>>> >>>> >>>>> http://lists.ximian.com/mailman/listinfo/mono-ue
>>> >>>> >>>>>
>>> >>>> >>>>
>>> >>>> >>>>
>>> >>>> >>>>
>>> >>>> >>>> --
>>> >>>> >>>> Peter Petermann
>>> >>>> >>>> Email: ppetermann80 at gmail.com - get my public PGP key from SKS
>>> >>>> >>>> Keyservers
>>> >>>> >>>> PGP Key:
>>> >>>> >>>>
>>> >>>> >>>>
>>> http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0x0E6DBD675836A5C7
>>> >>>> >>>>
>>> >>>> >>>> _______________________________________________
>>> >>>> >>>> Mono-ue mailing list
>>> >>>> >>>> Mono-ue at lists.ximian.com
>>> >>>> >>>> http://lists.ximian.com/mailman/listinfo/mono-ue
>>> >>>> >>>>
>>> >>>> >>>
>>> >>>> >>
>>> >>>> >>
>>> >>>> >>
>>> >>>> >> --
>>> >>>> >> Peter Petermann
>>> >>>> >> Email: ppetermann80 at gmail.com - get my public PGP key from SKS
>>> >>>> >> Keyservers
>>> >>>> >> PGP Key:
>>> >>>> >>
>>> >>>> >>
>>> http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0x0E6DBD675836A5C7
>>> >>>> >>
>>> >>>> >> _______________________________________________
>>> >>>> >> Mono-ue mailing list
>>> >>>> >> Mono-ue at lists.ximian.com
>>> >>>> >> http://lists.ximian.com/mailman/listinfo/mono-ue
>>> >>>> >>
>>> >>>> >
>>> >>>> >
>>> >>>> >
>>> >>>> > --
>>> >>>> > Michael Hutchinson ~ https://mhut.ch
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> --
>>> >>>> Michael Hutchinson ~ https://mhut.ch
>>> >>>> _______________________________________________
>>> >>>> Mono-ue mailing list
>>> >>>> Mono-ue at lists.ximian.com
>>> >>>> http://lists.ximian.com/mailman/listinfo/mono-ue
>>> >>>
>>> >>>
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > Michael Hutchinson ~ https://mhut.ch
>>>
>>>
>>>
>>> --
>>> Michael Hutchinson ~ https://mhut.ch
>>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-ue/attachments/20141101/ee368f47/attachment-0001.html>


More information about the Mono-ue mailing list