Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 May 2018 14:41:01 -0300
From:      Mateus Rodrigues de Morais <mateus@mateus.tech>
To:        Russell Haley <russ.haley@gmail.com>, mono@freebsd.org
Subject:   Re: [GSoC'18] Porting Microsoft's CoreCLR, CoreFX, and PowerShell to FreeBSD
Message-ID:  <8053a33c-619f-1039-a1b1-e1932a8697b7@mateus.tech>
In-Reply-To: <CABx9NuQd_AEvU6vx93nhLKCmBKe_dyJBjj=8Ob1%2BiTabHva6Wg@mail.gmail.com>
References:  <CP2P152MB1124E94F77504D261583B41DCE880@CP2P152MB1124.LAMP152.PROD.OUTLOOK.COM> <20180425142141.7192660.44401.46097@gmail.com> <CABx9NuQd_AEvU6vx93nhLKCmBKe_dyJBjj=8Ob1%2BiTabHva6Wg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 05/02/2018 02:13 AM, Russell Haley wrote:
> 
> 
> On Wed, Apr 25, 2018 at 7:21 AM, Russell Haley <russ.haley@gmail.com 
> <mailto:russ.haley@gmail.com>> wrote:
> 
>     Hi!
> 
>     Sorry for the top post. I'm really glad to see someone pick this up
>     as I have dropped the ball. I'll try to send you some information
>     later. ‎Here is a description of the current status of where the
>     porting is at:
>     https://github.com/dotnet/corefx/issues/1626#issuecomment-378627311
>     <https://github.com/dotnet/corefx/issues/1626#issuecomment-378627311>;
> 
>     I am helping another person with his SGOC on RTEMS so I will not be
>     able to give my full attention to you  but will help where I can. It
>     will be important to push the Linux ports of dotnetcore 1 forward
>     for your success.
> 
> Hello Mateus,
> 
> So I'm not sure how much you know yet about the state of DotNet Core on 
> FreeBSD. In order to build dotnet you need to create two "parts" of the 
> each of the two Libraries CoreFX and CoreCLR. The first part is the 
> native components that interact with the operating system, and the 
> second half are the "managed" dotnet parts that interact with the native 
> components (as well as the rest of the framework).   The problem with 
> FreeBSD is support was never kept up in the original port of DotNet Core 
> 1. The managed components for DotNet Core 2 can only be built using a 
> compiler written in one of the three DotNet variants (.Net framework, 
> DotNet Core 1 or DotNet Core 2). There was at one point support for 
> building DotNet in Mono, but Microsoft isn't divulging any of that 
> information and is not interested in following that path.
> 
> SO, a Microsoft Developer named Tomas Wienfrut took the project on and 
> was able to get DotNet Core 2 building for FreeBSD.Tomas, was able to 
> cross-build both portions on Linux.  I have been able to build the 
> Native parts on FreeBSD without issue. I was almost successful building 
> the Managed components Windows (for FreeBSD) but ran out of steam and I 
> haven't used .Net for about a year now so my focus is learning new 
> things. The problem with the above build methods is they are slow and 
> messy and required copying things back to FreeBSD from another OS. It 
> wasn't very manageable.
> 
> In comes David Naylor - who is pretty much single handedley propping up 
> Mono on FreeBSD - with a binary Linux port of Dot Net Core 1 and all the 
> build components that we need for DotNet Core 2!
> 
> The important parts that you will need are still only patches. Someone 
> needs to build and verify his patches so he can commit them. He has 
> created a tracking ticket in the phabricator review tool here: 
> https://reviews.freebsd.org/D12440
> 
> The important patches for you are here:
> https://reviews.freebsd.org/D14135 - msbuild
> 
> https://reviews.freebsd.org/D13870 - linux binary dotnet core 1
> 
> I have patched a ports tree and run the linux dotnet core 1 binary, but 
> have not completed the process of verifying it works. I just gave it 
> another shot and there is still a missing package (I commented on the 
> D13870 ticket).
> 
> SO, should you choose to move forward with porting DotNet Core 2, you 
> have two choices: 1) continue Davids work to get the Linux DotNet 
> binaries working, or 2) investigate building with Mono - which is a path 
> untaken so far.
> 
> If you wish to continue with the Linux binaries, someone should probably 
> test the patches that David has provided so we can get the 
> pre-requisites in the ports tree. After that, the following build 
> instructions should still be relevant minus any -skipcrossgen flags:
> 
> https://github.com/dotnet/corefx/wiki/Building-.NET-Core--2.x-on-FreeBSD
> 
> And that should be it right? ha ha. No. You have a long road of testing 
> ahead of you.
> 
> I am thrilled to see this work move forward. If I can provide any 
> further assistance, please let me know. I can't wait to see PowerShell 
> running on FreeBSD! Although I am rather fond of fish on GhostBSD now.
> 
> Cheers!
> Russ
> 
> 
> 
>     I will write back soon with more details but didn't want your last
>     message to go unanswered.
> 
>     Cheers
>     Russ
> 
>     Sent from my BlackBerry 10 smartphone on the Virgin Mobile network.
>        Original Message
>     From: Mateus Rodrigues de Morais
>     Sent: Tuesday, April 24, 2018 4:20 PM
>     To: mono@FreeBSD.org
>     Subject: [GSoC'18] Porting Microsoft's CoreCLR, CoreFX, and
>     PowerShell to FreeBSD
> 
>     Hello all,
> 
>     My name is Mateus and I’m an undergraduate at the Federal University
>     of Rio Grande do Norte, in Natal, Brazil, studying Computer
>     Engineering. I’m currently participating in the 2018 Google Summer
>     of Code and my project is to port the CoreCLR, CoreFX and,
>     ultimately, PowerShell, to the FreeBSD platform.
> 
>     I’m expecting to interact quite a bit with you guys here on this
>     list so, just introducing myself. Also, I’m happy to receive
>     suggestions from you all, if you have any.
> 
>     Best regards,
> 
>     Mateus Rodrigues de Morais.
>     _______________________________________________
>     freebsd-mono@freebsd.org <mailto:freebsd-mono@freebsd.org> mailing list
>     https://lists.freebsd.org/mailman/listinfo/freebsd-mono
>     <https://lists.freebsd.org/mailman/listinfo/freebsd-mono>;
>     To unsubscribe, send any mail to
>     "freebsd-mono-unsubscribe@freebsd.org
>     <mailto:freebsd-mono-unsubscribe@freebsd.org>"
> 
> 

Hi Russell,

Thank you for updating me on the current progress of this effort. It 
sure is a challenge, from what I can see.

Right now, I managed to build CoreCLR on FreeBSD - resulting in a 
'corerun' executable - and am now on the process of building the native 
parts of CoreFX on FreeBSD, but still getting compile errors along the 
process. I had not seen the Wiki page you authored and linked here, I'll 
check if it helps me succeed in building FX. However, I did manage to 
build them on Linux targeting FreeBSD, but haven't yet tested whether 
they work. I'm working on the source out of the release/2.0 branch.

Anyway, I'll read through everything you sent again and try moving the 
needle on this one.

Best regards,

-- 
Mateus Rodrigues de Morais
mateus.tech



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8053a33c-619f-1039-a1b1-e1932a8697b7>