[Mono-ue] Mono for UE build issues

Michael Hutchinson m.j.hutchinson at gmail.com
Sat Nov 1 00:11:44 UTC 2014


Great, glad you got it working! Sorry about the issues in the initial
release. Please let us know how the rest of your experience with the plugin
goes :)

- m
On Oct 31, 2014 8:09 PM, "Kei Nakazawa" <muo at muo.jp> wrote:

> 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/20141031/5f3aa7ca/attachment-0001.html>


More information about the Mono-ue mailing list