On 05/02/2018 02:13 AM, Russell Haley wrote:


On Wed, Apr 25, 2018 at 7:21 AM, Russell Haley <[email protected] <mailto:[email protected]>> 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: [email protected]
    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.
    _______________________________________________
    [email protected] <mailto:[email protected]> mailing list
    https://lists.freebsd.org/mailman/listinfo/freebsd-mono
    <https://lists.freebsd.org/mailman/listinfo/freebsd-mono>
    To unsubscribe, send any mail to
    "[email protected]
    <mailto:[email protected]>"



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
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-mono
To unsubscribe, send any mail to "[email protected]"

Reply via email to