[GSoC'18] Porting Microsoft's CoreCLR, CoreFX, and PowerShell to FreeBSD
Mateus Rodrigues de Morais
mateus at mateus.tech
Wed May 2 17:40:44 UTC 2018
On 05/02/2018 02:13 AM, Russell Haley wrote:
>
>
> On Wed, Apr 25, 2018 at 7:21 AM, Russell Haley <russ.haley at gmail.com
> <mailto:russ.haley at 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 at 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 at freebsd.org <mailto:freebsd-mono at 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 at freebsd.org
> <mailto:freebsd-mono-unsubscribe at 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
More information about the freebsd-mono
mailing list