fslaborg / RProvider

Access R packages from F#
http://fslab.org/RProvider/
Other
235 stars 69 forks source link

Support dotnet core (update to latest TPSDK) #188

Closed mateuszlewko closed 3 years ago

mateuszlewko commented 6 years ago

Is there any support planned for .net core (2.0)?

Currently when I do dotnet build, I get:

/opt/dotnet/sdk/2.0.0/FSharp/Microsoft.FSharp.Targets(224,9): error MSB6006: "RunFsc.sh" exited with code 134. [\<path to fsproj>]

Maybe it's relatively easy to fix this issue (I have no idea what it means)?

dsyme commented 6 years ago

@mateuszlewko See https://github.com/Microsoft/visualfsharp/issues/3303.

@tpetricek This type provider may also need to be updated to use the latest Type Provider SDK (i.e. updating ProvidedTypes.fs etc)

mateuszlewko commented 6 years ago

Thanks for the link, however it seems it's not working for me. When I do dotnet build I get this error:

error FS3053 : The type provider 'RProvider.RProvider' reported an error : The type provider constructor has thrown an exception: Connection refused Build FAILED.

I have another (mono) project on same machine which builds fine. Also I can see this error while building and in vs code:

RProvider.dll has assembly level attribute 'Microsoft.FSharp.Core.CompilerServices.TypeProviderAssemblyAttribute' but no public type provider classes were found

Type provider error in vs code:

The type provider 'RProvider.RProvider' reported an error: The type provider constructor has thrown an exception: Unix transport error.

@dsyme Do you know what could cause Unix transport error? Is it something with RProvider + dotnet core or is just my machine setup?

rj-xy commented 6 years ago

+1

daz10000 commented 5 years ago

Is there anything I can do to help with this? I just showed Rprovider to a new F# user and we are using dotnet core for everything at this point. Building hello world fails with this error. I am guessing that updating to latest SDK and compiling against netstandard2.0 would fix this. We have recently had good outcomes with our postgres type provider and dotnet core. Thoughts?

Darren

error FS3053 : The type provider 'RProvider.RProvider' reported an error : The type provider constructor has thrown an exception: Exception has been thrown by the target of an invocation. [C:\extproj\Rexample\Rexample.fsproj]
FSC : warning FS3005: Referenced assembly 'C:\Users\user\.nuget\packages\rprovider\1.1.21\lib\net40\RProvider.dll' has assembly level attribute 'Microsoft.FSharp.Core.CompilerServices.TypeProviderAssemblyAttribute' but no public type provider classes were found [C:\extproj\Rexample\Rexample.fsproj]

My hello world Program.fs is just from the example

open System
open FSharp.Data
open RProvider
open RProvider.``base``
open RProvider.graphics

[<EntryPoint>]
let main argv =

    let data = [ for x in 0.0  .. 0.1 .. 10.0 -> x * cos x]
    R.plot data
    0 // return an integer exit code

Project file is just

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="Program.fs" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Rprovider" Version="1.1.21" />
  </ItemGroup>

</Project>
dsyme commented 5 years ago

The problem is R.NET which needs to be moved to .NET Standard. However the project hasn't had a commit for a year. I've raised the issue of sustainable project maintenance for R.NET.

daz10000 commented 5 years ago

Ah, the rabbit hole is deep in this one. provider on top of R.Net on top of C library mixed in with some optimization opportunities and a corporate / open source angle. Seems like a quick fix ;) - happy to be helpful in any way

jmp75 commented 5 years ago

I've explored on a branch of my fork migrating RProvider to prerelease packages for R.NET that now target netstandard2.0. I am confused by paket and have not yet found a way to compile RProvider - help wanted.

toburger commented 4 years ago

Any progress regarding this issue?

AndrewIOM commented 3 years ago

Closing as .net 5 support merged in #210