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

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Apr 25, 2018 at 7:21 AM, Russell Haley <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. =E2=
=80=8EHere
> 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 succes=
s.
>
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 messag=
e
> 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=E2=80=99m an undergraduate at the Federal Univers=
ity of
> Rio Grande do Norte, in Natal, Brazil, studying Computer Engineering. I=
=E2=80=99m
> 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=E2=80=99m expecting to interact quite a bit with you guys here on this =
list so,
> just introducing myself. Also, I=E2=80=99m happy to receive suggestions f=
rom you
> all, if you have any.
>
> Best regards,
>
> Mateus Rodrigues de Morais.
> _______________________________________________
> freebsd-mono@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-mono
> To unsubscribe, send any mail to "freebsd-mono-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABx9NuQd_AEvU6vx93nhLKCmBKe_dyJBjj=8Ob1%2BiTabHva6Wg>