Problem building mono 5.8.0.127 with Odroid XU4

This forum is for topics dealing with problems with software specifically in the ARMv7h repo.

Problem building mono 5.8.0.127 with Odroid XU4

Postby picklegun » Wed Feb 14, 2018 1:31 am

I have had some issues with mono 5.4.1.7-2 and Jackett. The developer suggested I try with mono 5.8.x to see if the issue has been fixed in a later version. Jackett works with mono 5.0.0.100-2. I have been trying unsuccessfully to build 5.8.0.127 using the default PKGBUILD (changing _gitcommit and the version number). The error log follows:
$this->bbcode_second_pass_code('', 'if test -w /home/alarm/aur/mono/src/mono/mcs; then :; else chmod -R +w /home/alarm/aur/mono/src/mono/mcs; fi
cd /home/alarm/aur/mono/src/mono/mcs && make --no-print-directory -s NO_DIR_CHECK=1 PROFILES='binary_reference_assemblies
net_4_x xbuild_12 xbuild_14 ' CC='gcc' all-profiles
Microsoft (R) Visual C# Compiler version 2.3.2.61928 (ec1cde8b)
Copyright (C) Microsoft Corporation. All rights reserved.

CSC [basic] mscorlib.dll
CSC [basic] Mono.Security.dll
CSC [bare/basic] System.Xml.dll
mkdir -p -- ../../class/lib/basic/secxml/
CSC [secxml/basic] System.dll
Makefile:26: warning: overriding recipe for target 'test-local'
../../build/library.make:202: warning: ignoring old recipe for target 'test-local'
Makefile:26: warning: overriding recipe for target 'test-local'
../../build/library.make:202: warning: ignoring old recipe for target 'test-local'
CSC [basic] System.Security.dll
CSC [basic] System.Configuration.dll

Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object
at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser.FetchCurrentToken () [0x0001c] in
<7d426da853d34de7a55bb212e649ca89>:0
at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser.get_CurrentToken () [0x0000a] in
<7d426da853d34de7a55bb212e649ca89>:0
at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser.EatToken (Microsoft.CodeAnalysis.CSharp.SyntaxKind
kind) [0x00000] in <7d426da853d34de7a55bb212e649ca89>:0
at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseAccessorList (System.Boolean isEvent)
[0x00000] in <7d426da853d34de7a55bb212e649ca89>:0
at System.Threading.Tasks.Task.FinishStageTwo () [0x00000] in <09e02dbedac243edb3014e35f4e0d1ad>:0
at System.Threading.Tasks.Task.Finish (System.Boolean bUserDelegateExecuted) [0x00036] in
<09e02dbedac243edb3014e35f4e0d1ad>:0
at System.Threading.Tasks.Task.ExecuteWithThreadLocal (System.Threading.Tasks.Task& currentTaskSlot) [0x00067] in
<09e02dbedac243edb3014e35f4e0d1ad>:0
at System.Threading.Tasks.Task.ExecuteEntry (System.Boolean bPreventDoubleExecution) [0x00058] in
<09e02dbedac243edb3014e35f4e0d1ad>:0
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00000] in
<09e02dbedac243edb3014e35f4e0d1ad>:0
at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00074] in <09e02dbedac243edb3014e35f4e0d1ad>:0
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in <09e02dbedac243edb3014e35f4e0d1ad>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser.FetchCurrentToken () [0x0001c] in
<7d426da853d34de7a55bb212e649ca89>:0
at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser.get_CurrentToken () [0x0000a] in
<7d426da853d34de7a55bb212e649ca89>:0
at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser.EatToken (Microsoft.CodeAnalysis.CSharp.SyntaxKind
kind) [0x00000] in <7d426da853d34de7a55bb212e649ca89>:0
at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseAccessorList (System.Boolean isEvent)
[0x00000] in <7d426da853d34de7a55bb212e649ca89>:0
at System.Threading.Tasks.Task.FinishStageTwo () [0x00000] in <09e02dbedac243edb3014e35f4e0d1ad>:0
at System.Threading.Tasks.Task.Finish (System.Boolean bUserDelegateExecuted) [0x00036] in
<09e02dbedac243edb3014e35f4e0d1ad>:0
at System.Threading.Tasks.Task.ExecuteWithThreadLocal (System.Threading.Tasks.Task& currentTaskSlot) [0x00067] in
<09e02dbedac243edb3014e35f4e0d1ad>:0
at System.Threading.Tasks.Task.ExecuteEntry (System.Boolean bPreventDoubleExecution) [0x00058] in
<09e02dbedac243edb3014e35f4e0d1ad>:0
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00000] in
<09e02dbedac243edb3014e35f4e0d1ad>:0
at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00074] in <09e02dbedac243edb3014e35f4e0d1ad>:0
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in <09e02dbedac243edb3014e35f4e0d1ad>:0
make[10]: *** [../../build/library.make:328: ../../class/lib/basic/System.Configuration.dll] Error 255
make[9]: *** [Makefile:93: ../../class/lib/basic/System.Configuration.dll] Error 2
make[8]: *** [Makefile:167: ../../class/lib/basic/System.Xml.dll] Error 2
make[7]: *** [../../build/rules.make:203: do-all] Error 2
make[6]: *** [../build/rules.make:224: all-recursive] Error 1
make[5]: *** [build/rules.make:224: all-recursive] Error 1
make[4]: *** [Makefile:53: profile-do--basic--all] Error 2
make[3]: *** [Makefile:49: profiles-do--all] Error 2
make[2]: *** [Makefile:604: all-local] Error 2
make[2]: Leaving directory '/home/alarm/aur/mono/src/mono/runtime'
make[1]: *** [Makefile:549: all-recursive] Error 1
make[1]: Leaving directory '/home/alarm/aur/mono/src/mono'
make: *** [Makefile:479: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...')
Any help will be appreciated.

Thanks!
picklegun
 
Posts: 11
Joined: Sun Aug 21, 2016 3:10 pm

Re: Problem building mono 5.8.0.127 with Odroid XU4

Postby picklegun » Fri Mar 02, 2018 4:22 pm

What finally worked for me was to build the mono-stable AUR package (now 5.10.0.140 - I just updated the hashes/version numbers accordingly) on the XU4 (armv7h machine) by passing
$this->bbcode_second_pass_code('', '--with-csc=mcs')
to configure in the PKGBUILD file. This built successfully, but unfortunately did not produce a stable mono package. What worked was to build the same package on an x86_64 machine, but without the extra argument to PKGBUILD, i.e. use the same file but comment it out:
$this->bbcode_second_pass_code('', '#--with-csc=mcs')
Sorry if that's too obvious but maybe my language is confusing. Anyway, when I installed both packages, I used rsync to copy the files from the x86_64 installation to the XU4. I used this command for that (from the XU4):
$this->bbcode_second_pass_code('', 'sudo rsync -raol user@x86host:/usr/lib/mono/* /usr/lib/mono')
There must be a better way to do this. I read on the Mono ARM page that the .DLLs should be built on an x86_64 machine and that was the reason I did it this way. I could have added the files (once compiled) into the build directory I suppose.

What's the best way to do this?
picklegun
 
Posts: 11
Joined: Sun Aug 21, 2016 3:10 pm


Return to ARMv7h

Who is online

Users browsing this forum: No registered users and 8 guests