[GSoC'18] Porting Microsoft's CoreCLR, CoreFX, and PowerShell to FreeBSD
Russell Haley
russ.haley at gmail.com
Wed May 2 05:13:16 UTC 2018
On Wed, Apr 25, 2018 at 7:21 AM, Russell Haley <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
>
> 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 mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-mono
> To unsubscribe, send any mail to "freebsd-mono-unsubscribe at freebsd.org"
>
More information about the freebsd-mono
mailing list