View previous topic :: View next topic |
Author |
Message |
erm67 l33t


Joined: 01 Nov 2005 Posts: 653 Location: EU
|
Posted: Sat Jul 07, 2018 8:30 am Post subject: [solved] Mono ~arm64 gcc7 2017 profile fails to emerge |
|
|
I have some trouble emerging it, there's a binary package somewhere to bootstrap it?
I think the monomini runtime required to bootstrap it without an installed runtime does't work... _________________ Ok boomer
True ignorance is not the absence of knowledge, but the refusal to acquire it.
Ab esse ad posse valet, a posse ad esse non valet consequentia
My fediverse account: @erm67@erm67.dynu.net
Last edited by erm67 on Sun Jul 15, 2018 8:45 pm; edited 2 times in total |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 55239 Location: 56N 3W
|
Posted: Sat Jul 07, 2018 10:22 am Post subject: |
|
|
erm67,
Code: | arm64-build ~ # gcc-config -l
[1] aarch64-unknown-linux-gnu-6.4.0
[2] aarch64-unknown-linux-gnu-7.3.0
[3] aarch64-unknown-linux-gnu-8.1.0 *
arm64-build ~ # binutils-config -l
[1] aarch64-unknown-linux-gnu-2.29.1
[2] aarch64-unknown-linux-gnu-2.30 *
arm64-build ~ # emerge -1av =mono-4.8.0.524 | builds and installs on native arm64 hardware.
Its in my binhost
I'm trying 5.4.1.6 now
As you say, I can configm that 5.12.0.226 can't execute mono.
-- edit --
mono-5.4.1.6 also fails with Code: | Microsoft (R) Visual C# Compiler version 2.6.0.62309 (d3f6b8e7)
Copyright (C) Microsoft Corporation. All rights reserved.
CSC [basic] mscorlib.dll
/var/tmp/portage/dev-lang/mono-5.12.0.226/work/mono-5.12.0.226-.arm64/mcs/class/referencesource/mscorlib/system/missingmethodexception.cs(25,43): error CS0246: The type or namespace name 'MissingMemberException' could not be found (are you missing a using directive or an assembly reference?)
/var/tmp/portage/dev-lang/mono-5.12.0.226/work/mono-5.12.0.226-.arm64/mcs/class/referencesource/mscorlib/system/missingmethodexception.cs(44,32): error CS0115: 'MissingMethodException.Message': no suitable method found to override
/var/tmp/portage/dev-lang/mono-5.12.0.226/work/mono-5.12.0.226-.arm64/mcs/class/referencesource/mscorlib/system/missingmethodexception.cs(25,67): error CS0535: 'MissingMethodException' does not implement interface member 'ISerializable.GetObjectData(SerializationInfo, StreamingContext)'
/var/tmp/portage/dev-lang/mono-5.12.0.226/work/mono-5.12.0.226-.arm64/mcs/class/referencesource/mscorlib/system/globalization/compareinfo.cs(1001,47): error CS0246: The type or namespace name 'String' could not be found (are you missing a using directive or an assembly reference?)
make[8]: *** [../../build/library.make:342: ../../class/lib/basic/mscorlib.dll] Error 1
|
_________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
erm67 l33t


Joined: 01 Nov 2005 Posts: 653 Location: EU
|
Posted: Sat Jul 07, 2018 10:41 am Post subject: |
|
|
The funny thing is that exactly the same version works fine on archlinux arm, maybe a different commit is checked out.. _________________ Ok boomer
True ignorance is not the absence of knowledge, but the refusal to acquire it.
Ab esse ad posse valet, a posse ad esse non valet consequentia
My fediverse account: @erm67@erm67.dynu.net |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 55239 Location: 56N 3W
|
Posted: Sat Jul 07, 2018 11:05 am Post subject: |
|
|
erm67,
mono-5.12.0.226 cross compiles for arm64.
That took me by surprise since I was expecting it to attempt to run arm64 C# code on the build host. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
erm67 l33t


Joined: 01 Nov 2005 Posts: 653 Location: EU
|
Posted: Sat Jul 07, 2018 11:27 am Post subject: |
|
|
Maybe it is caused by pie used by default in profile 17, i think i will go to the beach and try later something else ????????
I think there something related to pie either in the official or the overlay relatwd yo pie that is commented out. _________________ Ok boomer
True ignorance is not the absence of knowledge, but the refusal to acquire it.
Ab esse ad posse valet, a posse ad esse non valet consequentia
My fediverse account: @erm67@erm67.dynu.net |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 55239 Location: 56N 3W
|
Posted: Sat Jul 07, 2018 1:05 pm Post subject: |
|
|
erm67,
I think the build system for newer mono is broken an arm64.
As some versions build and some don't and cross compiling works, all on systems with pie as a default, I don't think the problem is pie _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
erm67 l33t


Joined: 01 Nov 2005 Posts: 653 Location: EU
|
Posted: Sat Jul 14, 2018 10:24 pm Post subject: |
|
|
Too bad, mono <5.12 doesn't work with ncurses >5.9 ...............
https://github.com/mono/mono/issues/6752
downgrading ncurses mono works perfecly but still cannot emerge the 5.12.
Apparently fedora 28 ships mono 4.8 and ncurses 6.1 so they must have backported the patches. _________________ Ok boomer
True ignorance is not the absence of knowledge, but the refusal to acquire it.
Ab esse ad posse valet, a posse ad esse non valet consequentia
My fediverse account: @erm67@erm67.dynu.net |
|
Back to top |
|
 |
erm67 l33t


Joined: 01 Nov 2005 Posts: 653 Location: EU
|
Posted: Sun Jul 15, 2018 4:24 pm Post subject: |
|
|
Ok mono 4.8.0 is not usable because the version shipped by gentoo do not supports terminfo2 and apparently profile 17 requires ncurses-6.1 (I could not downgrade it at least)
The good news is that the bug on aarch64 is known and there is a workaround:
https://github.com/mono/mono/issues/7017
mono developers wrote: | The best way to workaround that is to pass --with-csc=mcs to autogen.sh so it uses mcs instead of Roslyn. |
I tested and mono 5.12 successfully compiles and works on aarch64 passing --with-csc=mcs, the mono sources shipped by gentoo are already patched for terminfo2, so that is not a problem, maybe I will try to patch the ebuild and submit a bug report.
BTW mono 4.8.0 should be masked or patched if profile 17 requires ncurses >= 6 _________________ Ok boomer
True ignorance is not the absence of knowledge, but the refusal to acquire it.
Ab esse ad posse valet, a posse ad esse non valet consequentia
My fediverse account: @erm67@erm67.dynu.net |
|
Back to top |
|
 |
erm67 l33t


Joined: 01 Nov 2005 Posts: 653 Location: EU
|
Posted: Sun Jul 15, 2018 7:08 pm Post subject: |
|
|
Just in case someone needs mono on arm64:
patch the ebuild with:
Code: | --- mono-5.12.0.226.ebuild 2018-07-15 20:51:37.020404938 +0200
+++ mono-5.12.0.226.ebuild.new 2018-07-15 20:53:14.260404984 +0200
@@ -85,6 +85,9 @@
$(use_with xen xen_opt)
--without-ikvm-native
--disable-dtrace
+ # mono build system fails on arm64 see https://github.com/mono/mono/issues/7017
+ # remove once upstream bug is resolved
+ $(use_with arm64 csc=mcs)
$(use_with doc mcs-docs)
$(use_enable nls)
)
|
ebuild /usr/portage/dev-lang/mono/mono-5.12.0.226.ebuild digest
emerge mono
Emby works perfectly
Code: | erm67 /arch/home/alarm/emby # mono MediaBrowser.Server.Mono.exe
Info Main: Emby
Command line: /arch/home/alarm/emby/MediaBrowser.Server.Mono.exe
Operating system: Unix 3.14.29.0
64-Bit OS: True
64-Bit Process: True
User Interactive: False
Mono: 5.12.0.226 (tarball Sun Jul 15 20:06:02 CEST 2018)
Processor count: 8
Program data path: /arch/home/alarm/emby/ProgramData-Server
Application directory: /arch/home/alarm/emby
|
_________________ Ok boomer
True ignorance is not the absence of knowledge, but the refusal to acquire it.
Ab esse ad posse valet, a posse ad esse non valet consequentia
My fediverse account: @erm67@erm67.dynu.net |
|
Back to top |
|
 |
|