Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] Mono ~arm64 gcc7 2017 profile fails to emerge
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on ARM
View previous topic :: View next topic  
Author Message
erm67
Apprentice
Apprentice


Joined: 01 Nov 2005
Posts: 231
Location: Where the black men cannot enter

PostPosted: Sat Jul 07, 2018 8:30 am    Post subject: [solved] Mono ~arm64 gcc7 2017 profile fails to emerge Reply with quote

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...
_________________
True ignorance is not the absence of knowledge, but the refusal to acquire it.
A posse ad esse non valet consequentia
Πάντα ῥεῖ


Last edited by erm67 on Sun Jul 15, 2018 8:45 pm; edited 2 times in total
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 41417
Location: 56N 3W

PostPosted: Sat Jul 07, 2018 10:22 am    Post subject: Reply with quote

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
View user's profile Send private message
erm67
Apprentice
Apprentice


Joined: 01 Nov 2005
Posts: 231
Location: Where the black men cannot enter

PostPosted: Sat Jul 07, 2018 10:41 am    Post subject: Reply with quote

The funny thing is that exactly the same version works fine on archlinux arm, maybe a different commit is checked out..
_________________
True ignorance is not the absence of knowledge, but the refusal to acquire it.
A posse ad esse non valet consequentia
Πάντα ῥεῖ
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 41417
Location: 56N 3W

PostPosted: Sat Jul 07, 2018 11:05 am    Post subject: Reply with quote

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
View user's profile Send private message
erm67
Apprentice
Apprentice


Joined: 01 Nov 2005
Posts: 231
Location: Where the black men cannot enter

PostPosted: Sat Jul 07, 2018 11:27 am    Post subject: Reply with quote

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.
_________________
True ignorance is not the absence of knowledge, but the refusal to acquire it.
A posse ad esse non valet consequentia
Πάντα ῥεῖ
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 41417
Location: 56N 3W

PostPosted: Sat Jul 07, 2018 1:05 pm    Post subject: Reply with quote

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
View user's profile Send private message
erm67
Apprentice
Apprentice


Joined: 01 Nov 2005
Posts: 231
Location: Where the black men cannot enter

PostPosted: Sat Jul 14, 2018 10:24 pm    Post subject: Reply with quote

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.
_________________
True ignorance is not the absence of knowledge, but the refusal to acquire it.
A posse ad esse non valet consequentia
Πάντα ῥεῖ
Back to top
View user's profile Send private message
erm67
Apprentice
Apprentice


Joined: 01 Nov 2005
Posts: 231
Location: Where the black men cannot enter

PostPosted: Sun Jul 15, 2018 4:24 pm    Post subject: Reply with quote

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
_________________
True ignorance is not the absence of knowledge, but the refusal to acquire it.
A posse ad esse non valet consequentia
Πάντα ῥεῖ
Back to top
View user's profile Send private message
erm67
Apprentice
Apprentice


Joined: 01 Nov 2005
Posts: 231
Location: Where the black men cannot enter

PostPosted: Sun Jul 15, 2018 7:08 pm    Post subject: Reply with quote

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

:lol: :lol: :lol:
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

_________________
True ignorance is not the absence of knowledge, but the refusal to acquire it.
A posse ad esse non valet consequentia
Πάντα ῥεῖ
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on ARM All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum