Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

So ... you want to try out the coreclr version of the compiler on windows #649

Closed
KevinRansom opened this issue Sep 29, 2015 · 17 comments
Closed

Comments

@KevinRansom
Copy link
Member

KevinRansom commented Sep 29, 2015

[ Edit: latest getting started docs now at https://docs.microsoft.com/en-us/dotnet/articles/fsharp/getting-started-netcore ]

This is probably the easiest way to go about this:

  1. I'm going to assume you are set to sync and build the tree:
  1. checkout coreclr
  2. in a vs2014 command window execute appveyor-build.cmd
    • This builds everything and runs the tests, etc.... it's good to know you are in a good place.
  3. Once appveyor-build has completed goto the directory containing the compiler and coreclr binaries
    • There are a ton of files in this directory ... we are still in early days no attempt has yet been made to prune them down to necessary files ... eventually it will come.
  4. You can run from this directory or copy it some place warm and sunny ... like c:\fs_coreclr
  5. ***** Super caveats *********
    a. The desktop compiler is kind of helpful and will go searching around for mscorlib, fsharp.core.dll etc. This functionality is not yet implemented ... on the desktop it was implemented using msbuild and some custom logic. In coreclr it will probably be done using a provider, with nuget being the default provider. There is no design except in my head. I mention this so you don't all hate on me for how awful the command line will be for a while :-)
    b. Existing TypeProviders all target the desktop .. The inbox TP's have not been ... and will probably not be ported to coreclr. Also we have not identified a binding mechanism for allowing tp's and the compiler to agree on type loading. Lots of that is going to be changed due to coreclr limitations.
    c. Environment.Exit() is not yet implemented on coreclr ... although it is coming real soon now. Exit is important to error logging and I've impmeneted it as an exception so errors appear as uncaught exceptions for now ... forgive the crappiness of it please, It will be back to normal shortly.
    d. Currently It requires the specification of default.manifest on the command line.
    e. There is no debugging symbols yet
    Okay lets compile something: I just used VS to make an F# console app and added hello, world to program.fs
// Learn more about F# at http://fsharp.org
// See the 'F# Tutorial' project for more help.

[<EntryPoint>]
let main argv = 
    printf "Hello, World! from F#"
    0 // return an integer exit code

copied the program.fs file into a sunny place too: [C:\fs_smoketest]
made this batch file, also in the sunny place:

This batch file builds program.fs to run on the coreclr

@echo off
C:\fs_coreclr\corerun.exe C:\fs_coreclr\fsc.exe --noframework --simpleresolution -r:"%ProgramFiles(x86)%\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.4.0.0\FSharp.Core.dll" -r::%Windir%\Microsoft.NET\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll -r::%Windir%\Microsoft.NET\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll -r:%Windir%\Microsoft.NET\assembly\GAC_MSIL\System.Net.Requests\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Net.Requests.dll --win32manifest:C:\fs_coreclr\default.win32manifest --target:exe --out:program.exe program.fs

When it runs you should see this:

C:\fs_smoketest>C:\fs_coreclr\corerun.exe C:\fs_coreclr\fsc.exe --noframework --simpleresolution -r:
"C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.4.0.0\FSharp.Core
.dll" -r:C:\WINDOWS\Microsoft.NET\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.d
ll -r:C:\WINDOWS\Microsoft.NET\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\Syst
em.Numerics.dll -r:C:\WINDOWS\Microsoft.NET\assembly\GAC_MSIL\System.Net.Requests\v4.0_4.0.0.0__b03f
5f7f11d50a3a\System.Net.Requests.dll --win32manifest:C:\fs_coreclr\default.win32manifest --target:ex
e --out:program.exe program.fs
Microsoft (R) F# Compiler version (private)
Copyright (c) Microsoft Corporation. All Rights Reserved.

C:\fs_smoketest>dir program.exe
 Volume in drive C is Windows
 Volume Serial Number is EC1E-3B88

 Directory of C:\fs_smoketest

09/29/2015  11:29 AM             4,608 program.exe
               1 File(s)          4,608 bytes
               0 Dir(s)  220,500,692,992 bytes free

C:\fs_smoketest>program.exe
Hello, World! from F#
C:\fs_smoketest>

To build it to run against coreclr is very similar: I made a batch file c.bat which contained:

@echo off
C:\fs_coreclr\corerun C:\fs_coreclr\fsc.exe --targetprofile:netcore --noframework --simpleresolution -r:"C:\fs_coreclr\FSharp.Core.dll" -r:"%ProgramFiles(x86)%\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\system.runtime.dll" -r:"%ProgramFiles(x86)%\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.IO.dll" --win32manifest:C:\fs_coreclr\default.win32manifest --target:exe --out:program.exe program.fs

When it is run you can see this:

C:\fs_smoketest>c
Microsoft (R) F# Compiler version (private)
Copyright (c) Microsoft Corporation. All Rights Reserved.

C:\fs_smoketest>..\fs_coreclr\CoreRun.exe program.exe
Hello, World! from F#
C:\fs_smoketest>

Let me know how you find it, feel free to raid bugs, make suggestions etc ...

For now my priority is to get it working on Linux ... and I am not even close to being a Linux aficionado, and so that is going to be fun for me.

Thanks for your interest

Kevin

@7sharp9
Copy link
Contributor

7sharp9 commented Sep 29, 2015

Nah, not windows, osx!

@isaacabraham
Copy link
Contributor

Tried... got the following error when calling appveyor.build: -

C:\Users\Isaac\Source\Repos\visualfsharp\packages\Microsoft.DotNet.BuildTools.1.0.25-prerelease-00085\lib\packageresolve.targets(34,5): error MSB3073: The command ""..\..\..\packages\dnx-coreclr-win-x86.1.0.0-beta6-12032/\bin\dnu.cmd" restore --packages "..\..\..\packages" -s:"https://www.myget.org /F/dotnet-core/" -s:"https://www.myget.org/F/dotnet-corefx/" -s:"https://www.myget.org/F/dotnet-buildtools" "C:\Users\Isaac\Source\Repos\visualfsharp\src\fsharp\FSharp.Core/project.json"" exited with code 1. [C:\Users\Isaac\Source\Repos\visualfsharp\src\fsharp\FSharp.Core\FSharp.Core.fsproj]

@panesofglass
Copy link
Contributor

My attempt to build the coreclr branch also failed. I got roughly the same thing trying to build master in the VS2015 console. I'm also running a Windows Server 2012 VM, not Windows 10. Here's the last bit of the output left in my window buffer:

  All packages listed in packages.config are already installed.
  .\.nuget\NuGet.exe restore .\tests\fsharp\project.json -PackagesDirectory pac
  kages -ConfigFile .\.nuget\NuGet.Config
  Restoring packages for C:\Users\ryan\Code\visualfsharp\tests\fsharp\project.j
  son...
  Restoring packages for DNXCore,Version=v5.0...
  Unable to resolve System.Security.SecureString (≥ 4.0.0-beta-23225) for DNXCo
  re,Version=v5.0.
CallFsSrGen:
  ..\..\..\lkg\FSharp-4.0.30319.1\bin\fssrgen.exe  C:\Users\ryan\Code\visualfsh
  arp\src\fsharp\FSComp.txt  obj\Proto\net40\FSComp.fs  obj\Proto\net40\FSComp.
  resx
CoreResGen:
  "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\res
  gen.exe" /useSourcePath /r:"C:\Program Files (x86)\MSBuild\..\Reference Assem
  blies\Microsoft\FSharp\.NETFramework\v4.0\4.3.1.0\FSharp.Core.dll" /r:"C:\Pro
  gram Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\
  ISymWrapper.dll" /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Fr
  amework\.NETFramework\v4.5\Microsoft.Build.dll" /r:"C:\Program Files (x86)\Re
  ference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Microsoft.Build.Eng
  ine.dll" /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\
  .NETFramework\v4.5\Microsoft.Build.Framework.dll" /r:"C:\Program Files (x86)\
  Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Microsoft.Build.T
  asks.v4.0.dll" /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Fram
  ework\.NETFramework\v4.5\Microsoft.Build.Utilities.v4.0.dll" /r:"C:\Program F
  iles (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorl
  ib.dll" /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.
  NETFramework\v4.5\System.Core.dll" /r:"C:\Program Files (x86)\Reference Assem
  blies\Microsoft\Framework\.NETFramework\v4.5\System.dll" /r:"C:\Program Files
   (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Dra
  wing.dll" /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework
  \.NETFramework\v4.5\System.Numerics.dll" /r:"C:\Program Files (x86)\Reference
   Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Runtime.Remoting.dl
  l" /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFr
  amework\v4.5\System.Windows.Forms.dll" /compile obj\Proto\net40\FSComp.resx,o
  bj\Proto\net40\FSComp.resources ..\FSStrings.resx,obj\Proto\net40\FSStrings.r
  esources
  Processing resource file "obj\Proto\net40\FSComp.resx" into "obj\Proto\net40\
  FSComp.resources".
  Processing resource file "..\FSStrings.resx" into "obj\Proto\net40\FSStrings.
  resources".
CallFsLex:
Building target "CallFsLex" partially, because some output files are out of dat
e with respect to their input files.
  ..\..\..\lkg\FSharp-4.0.30319.1\bin\fslex.exe --unicode -o lex.fs --lexlib In
  ternal.Utilities.Text.Lexing  ..\lex.fsl
CallFsYacc:
Building target "CallFsYacc" partially, because some output files are out of da
te with respect to their input files.
  ..\..\..\lkg\FSharp-4.0.30319.1\bin\fsyacc.exe --open Microsoft.FSharp.Compil
  er --module Microsoft.FSharp.Compiler.Parser -o pars.fs --internal --lexlib I
  nternal.Utilities.Text.Lexing --parslib Internal.Utilities.Text.Parsing  ..\p
  ars.fsy
GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output fi
les are up-to-date with respect to the input files.
CoreCompile:
  C:\Program Files (x86)\Microsoft SDKs\F#\3.1\Framework\v4.0\fsc.exe -o:obj\Pr
  oto\net40\FSharp.Compiler-proto.dll -g --noframework --define:DEBUG --define:
  NO_STRONG_NAMES --define:NO_STRONG_NAMES --define:NO_STRONG_NAMES --define:BU
  ILDING_PROTO --define:BUILDING_WITH_LKG --define:COMPILER --define:INCLUDE_ME
  TADATA_READER --define:INCLUDE_METADATA_WRITER --define:DEBUG --define:NO_STR
  ONG_NAMES --define:OPEN_BUILD --define:FSHARP_CORE_4_5 --define:FX_ATLEAST_40
   --define:FX_ATLEAST_35 --define:BE_SECURITY_TRANSPARENT --define:QUERIES_IN_
  FSLIB --define:PUT_TYPE_PROVIDERS_IN_FSCORE --define:FX_ATLEAST_LINQ --define
  :ENABLE_MONO_SUPPORT --define:FX_MSBUILDRESOLVER_RUNTIMELIKE --define:TYPE_PR
  OVIDER_SECURITY --define:FX_LCIDFROMCODEPAGE --define:FX_RESX_RESOURCE_READER
   --define:FX_RESIDENT_COMPILER --doc:..\..\..\Proto\net40\bin\FSharp.Compiler
  -proto.xml --optimize+ --resource:obj\Proto\net40\FSComp.resources --resource
  :obj\Proto\net40\FSStrings.resources -r:"C:\Program Files (x86)\MSBuild\..\Re
  ference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.1.0\FSharp.Core.dl
  l" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFr
  amework\v4.5\ISymWrapper.dll" -r:"C:\Program Files (x86)\Reference Assemblies
  \Microsoft\Framework\.NETFramework\v4.5\Microsoft.Build.dll" -r:"C:\Program F
  iles (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Micros
  oft.Build.Engine.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microso
  ft\Framework\.NETFramework\v4.5\Microsoft.Build.Framework.dll" -r:"C:\Program
   Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Micr
  osoft.Build.Tasks.v4.0.dll" -r:"C:\Program Files (x86)\Reference Assemblies\M
  icrosoft\Framework\.NETFramework\v4.5\Microsoft.Build.Utilities.v4.0.dll" -r:
  "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramewor
  k\v4.5\mscorlib.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsof
  t\Framework\.NETFramework\v4.5\System.Core.dll" -r:"C:\Program Files (x86)\Re
  ference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.dll" -r:"C:\
  Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4
  .5\System.Drawing.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Micros
  oft\Framework\.NETFramework\v4.5\System.Numerics.dll" -r:"C:\Program Files (x
  86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Runtim
  e.Remoting.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Fra
  mework\.NETFramework\v4.5\System.Windows.Forms.dll" --target:library --nowarn
  :69,65,54,61,75,35,44,62,9,60,86,47,1203 --warn:3 --warnaserror --warnaserror
  :76 --fullpaths --flaterrors --subsystemversion:6.00 --highentropyva+  --time
  s --warnon:1182 --version:4.4.0.9055 obj\Proto\net40\FSComp.fs "C:\Users\ryan
  \AppData\Local\Temp\.NETFramework,Version=v4.5.AssemblyAttributes.fs" ..\..\u
  tils\reshaped_reflection.fs ..\..\assemblyinfo\assemblyinfo.FSharp.Compiler.d
  ll.fs ..\..\utils\sformat.fsi ..\..\utils\sformat.fs ..\sr.fsi ..\sr.fs ..\..
  \utils\prim-lexing.fsi ..\..\utils\prim-lexing.fs ..\..\utils\prim-parsing.fs
  i ..\..\utils\prim-parsing.fs ..\..\utils\resizearray.fsi ..\..\utils\resizea
  rray.fs ..\..\utils\HashMultiMap.fsi ..\..\utils\HashMultiMap.fs ..\..\utils\
  TaggedCollections.fsi ..\..\utils\TaggedCollections.fs ..\FlatList.fs ..\..\a
  bsil\illib.fs ..\..\utils\filename.fsi ..\..\utils\filename.fs ..\..\absil\zm
  ap.fsi ..\..\absil\zmap.fs ..\..\absil\zset.fsi ..\..\absil\zset.fs ..\..\abs
  il\bytes.fsi ..\..\absil\bytes.fs ..\..\absil\ildiag.fsi ..\..\absil\ildiag.f
  s ..\ReferenceResolution.fs ..\..\absil\il.fsi ..\..\absil\il.fs ..\..\absil\
  ilx.fsi ..\..\absil\ilx.fs ..\..\absil\ilascii.fsi ..\..\absil\ilascii.fs ..\
  ..\absil\ilprint.fsi ..\..\absil\ilprint.fs ..\..\absil\ilmorph.fsi ..\..\abs
  il\ilmorph.fs ..\..\absil\ilsupp.fsi ..\..\absil\ilsupp.fs ilpars.fs illex.fs
   ..\..\absil\ilbinary.fsi ..\..\absil\ilbinary.fs ..\lib.fs ..\range.fsi ..\r
  ange.fs ..\rational.fsi ..\rational.fs ..\ErrorLogger.fs ..\InternalCollectio
  ns.fsi ..\InternalCollections.fs ..\..\absil\ilread.fsi ..\..\absil\ilread.fs
   ..\..\absil\ilwrite.fsi ..\..\absil\ilwrite.fs ..\..\absil\ilreflect.fs ..\.
  .\utils\CompilerLocationUtils.fs ..\PrettyNaming.fs ..\..\ilx\ilxsettings.fs
  ..\..\ilx\pubclo.fsi ..\..\ilx\pubclo.fs ..\..\ilx\cu_erase.fs ..\InternalFil
  eSystemUtils.fsi ..\InternalFileSystemUtils.fs ..\unilex.fsi ..\unilex.fs ..\
  layout.fsi ..\layout.fs ..\ast.fs pppars.fs pars.fs ..\lexhelp.fsi ..\lexhelp
  .fs pplex.fs lex.fs ..\sreflect.fsi ..\sreflect.fs ..\QueueList.fs ..\tast.fs
   ..\env.fs ..\tastops.fsi ..\tastops.fs ..\pickle.fsi ..\pickle.fs ..\lexfilt
  er.fs ..\import.fsi ..\import.fs ..\infos.fs ..\NicePrint.fs ..\augment.fsi .
  .\augment.fs ..\outcome.fsi ..\outcome.fs ..\nameres.fsi ..\nameres.fs ..\typ
  relns.fs ..\patcompile.fsi ..\patcompile.fs ..\csolve.fsi ..\csolve.fs ..\for
  mats.fsi ..\formats.fs ..\unsolved.fs ..\creflect.fsi ..\creflect.fs ..\check
  .fsi ..\check.fs ..\tc.fsi ..\tc.fs ..\opt.fsi ..\autobox.fs ..\opt.fs ..\det
  uple.fsi ..\detuple.fs ..\tlr.fsi ..\tlr.fs ..\lowertop.fs ..\ilxgen.fsi ..\i
  lxgen.fs ..\TraceCall.fsi ..\TraceCall.fs ..\build.fsi ..\build.fs ..\fscopts
  .fsi ..\fscopts.fs ..\vs\IncrementalBuild.fsi ..\vs\IncrementalBuild.fs ..\fs
  c.fs
CustomCopyLocalFiles:
Skipping target "CustomCopyLocalFiles" because it has no outputs.
CopyFilesToOutputDirectory:
  Copying file from "obj\Proto\net40\FSharp.Compiler-proto.dll" to "..\..\..\Pr
  oto\net40\bin\FSharp.Compiler-proto.dll".
  FSharp.Compiler-proto -> C:\Users\ryan\Code\visualfsharp\Proto\net40\bin\FSha
  rp.Compiler-proto.dll
  Copying file from "obj\Proto\net40\FSharp.Compiler-proto.pdb" to "..\..\..\Pr
  oto\net40\bin\FSharp.Compiler-proto.pdb".
Done Building Project "C:\Users\ryan\Code\visualfsharp\src\fsharp\FSharp.Compil
er-proto\FSharp.Compiler-proto.fsproj" (Build target(s)).

The target "AfterGenerateAppxManifest" listed in an AfterTargets attribute at "
C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\Microsoft.Net.CoreRuntime.t
argets (68,11)" does not exist in the project, and will be ignored.
The target "_GeneratePrisForPortableLibraries" listed in a BeforeTargets attrib
ute at "C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\Microsoft.Net.CoreR
untime.targets (177,11)" does not exist in the project, and will be ignored.
The target "AfterGenerateAppxManifest" listed in an AfterTargets attribute at "
C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\Microsoft.NetNative.targets
 (126,11)" does not exist in the project, and will be ignored.
The target "AfterGenerateAppxManifest" listed in an AfterTargets attribute at "
C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\Microsoft.NetNative.targets
 (174,11)" does not exist in the project, and will be ignored.
The target "BeforeGenerateProjectPriFile" listed in a BeforeTargets attribute a
t "C:\Program Files (x86)\MSBuild\Microsoft\NuGet\Microsoft.NuGet.targets (149,
61)" does not exist in the project, and will be ignored.
Project "C:\Users\ryan\Code\visualfsharp\src\fsharp-proto-build.proj" (1) is bu
ilding "C:\Users\ryan\Code\visualfsharp\src\fsharp\Fsc-proto\Fsc-proto.fsproj"
(4) on node 1 (Build target(s)).
BeforeBuild:
  .\.nuget\NuGet.exe restore packages.config -PackagesDirectory packages -Confi
  gFile .\.nuget\NuGet.Config
  All packages listed in packages.config are already installed.
  .\.nuget\NuGet.exe restore .\tests\fsharp\project.json -PackagesDirectory pac
  kages -ConfigFile .\.nuget\NuGet.Config
  Restoring packages for C:\Users\ryan\Code\visualfsharp\tests\fsharp\project.j
  son...
  Restoring packages for DNXCore,Version=v5.0...
  Unable to resolve System.Security.SecureString (≥ 4.0.0-beta-23225) for DNXCo
  re,Version=v5.0.
GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output fi
les are up-to-date with respect to the input files.
CoreCompile:
  C:\Program Files (x86)\Microsoft SDKs\F#\3.1\Framework\v4.0\fsc.exe -o:obj\Pr
  oto\net40\fsc-proto.exe -g --noframework --define:DEBUG --define:NO_STRONG_NA
  MES --define:NO_STRONG_NAMES --define:NO_STRONG_NAMES --define:BUILDING_PROTO
   --define:BUILDING_WITH_LKG --define:COMPILER --define:DEBUG --define:NO_STRO
  NG_NAMES --define:OPEN_BUILD --define:FSHARP_CORE_4_5 --define:FX_ATLEAST_40
  --define:FX_ATLEAST_35 --define:BE_SECURITY_TRANSPARENT --define:QUERIES_IN_F
  SLIB --define:PUT_TYPE_PROVIDERS_IN_FSCORE --define:FX_ATLEAST_LINQ --define:
  ENABLE_MONO_SUPPORT --define:FX_MSBUILDRESOLVER_RUNTIMELIKE --define:TYPE_PRO
  VIDER_SECURITY --define:FX_LCIDFROMCODEPAGE --define:FX_RESX_RESOURCE_READER
  --define:FX_RESIDENT_COMPILER --doc:..\..\..\Proto\net40\bin\fsc-proto.xml --
  optimize+ --platform:x86 -r:C:\Users\ryan\Code\visualfsharp\Proto\net40\bin\F
  Sharp.Compiler-proto.dll -r:"C:\Program Files (x86)\MSBuild\..\Reference Asse
  mblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.1.0\FSharp.Core.dll" -r:"C:\Pr
  ogram Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
  \mscorlib.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Fram
  ework\.NETFramework\v4.5\System.Core.dll" -r:"C:\Program Files (x86)\Referenc
  e Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.dll" -r:"C:\Progra
  m Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Sys
  tem.Numerics.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\F
  ramework\.NETFramework\v4.5\System.Runtime.Remoting.dll" -r:"C:\Program Files
   (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Win
  dows.Forms.dll" --target:exe --nowarn:69,65,54,61,75,62 --warn:3 --warnaserro
  r --warnaserror:76 --fullpaths --flaterrors --subsystemversion:6.00 --highent
  ropyva+  --times --stackReserveSize:4096000 --version:4.4.0.9055 "C:\Users\ry
  an\AppData\Local\Temp\.NETFramework,Version=v4.5.AssemblyAttributes.fs" ..\fs
  cmain.fs
CustomCopyLocalFiles:
Skipping target "CustomCopyLocalFiles" because it has no outputs.
_CopyOutOfDateSourceItemsToOutputDirectory:
Skipping target "_CopyOutOfDateSourceItemsToOutputDirectory" because all output
 files are up-to-date with respect to the input files.
CopyFilesToOutputDirectory:
  Copying file from "obj\Proto\net40\fsc-proto.exe" to "..\..\..\Proto\net40\bi
  n\fsc-proto.exe".
  Fsc-proto -> C:\Users\ryan\Code\visualfsharp\Proto\net40\bin\fsc-proto.exe
  Copying file from "obj\Proto\net40\fsc-proto.pdb" to "..\..\..\Proto\net40\bi
  n\fsc-proto.pdb".
Done Building Project "C:\Users\ryan\Code\visualfsharp\src\fsharp\Fsc-proto\Fsc
-proto.fsproj" (Build target(s)).

Done Building Project "C:\Users\ryan\Code\visualfsharp\src\fsharp-proto-build.p
roj" (default targets).


Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:01:47.73

C:\Users\ryan\Code\visualfsharp>"C:\Windows\Microsoft.NET\Framework\v4.0.30319\n
gen.exe" install Proto\net40\bin\fsc-proto.exe
Microsoft (R) CLR Native Image Generator - Version 4.6.81.0
Copyright (c) Microsoft Corporation.  All rights reserved.
1>    Compiling assembly C:\Users\ryan\Code\visualfsharp\Proto\net40\bin\fsc-pro
to.exe (CLR v4.0.30319) ...
2>    Compiling assembly FSharp.Compiler-proto, Version=4.4.0.9055, Culture=neut
ral, PublicKeyToken=null (CLR v4.0.30319) ...
1>WARNING: Cannot hardbind to FSharp.Compiler because it is not loaded

C:\Users\ryan\Code\visualfsharp>"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild
.exe" src/fsharp-library-build.proj /p:Configuration=Release
Microsoft (R) Build Engine version 14.0.23107.0
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 10/4/2015 11:12:53 AM.
The target "AfterGenerateAppxManifest" listed in an AfterTargets attribute at "
C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\Microsoft.Net.CoreRuntime.t
argets (68,11)" does not exist in the project, and will be ignored.
The target "_GeneratePrisForPortableLibraries" listed in a BeforeTargets attrib
ute at "C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\Microsoft.Net.CoreR
untime.targets (177,11)" does not exist in the project, and will be ignored.
The target "AfterGenerateAppxManifest" listed in an AfterTargets attribute at "
C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\Microsoft.NetNative.targets
 (126,11)" does not exist in the project, and will be ignored.
The target "AfterGenerateAppxManifest" listed in an AfterTargets attribute at "
C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\Microsoft.NetNative.targets
 (174,11)" does not exist in the project, and will be ignored.
The target "BeforeGenerateProjectPriFile" listed in a BeforeTargets attribute a
t "C:\Program Files (x86)\MSBuild\Microsoft\NuGet\Microsoft.NuGet.targets (149,
61)" does not exist in the project, and will be ignored.
Project "C:\Users\ryan\Code\visualfsharp\src\fsharp-library-build.proj" on node
 1 (default targets).
Project "C:\Users\ryan\Code\visualfsharp\src\fsharp-library-build.proj" (1) is
building "C:\Users\ryan\Code\visualfsharp\src\fsharp\FSharp.Core\FSharp.Core.fs
proj" (2) on node 1 (Build target(s)).
BeforeBuild:
  .\.nuget\NuGet.exe restore packages.config -PackagesDirectory packages -Confi
  gFile .\.nuget\NuGet.Config
  All packages listed in packages.config are already installed.
  .\.nuget\NuGet.exe restore .\tests\fsharp\project.json -PackagesDirectory pac
  kages -ConfigFile .\.nuget\NuGet.Config
  Restoring packages for C:\Users\ryan\Code\visualfsharp\tests\fsharp\project.j
  son...
  Restoring packages for DNXCore,Version=v5.0...
  Unable to resolve System.Security.SecureString (≥ 4.0.0-beta-23225) for DNXCo
  re,Version=v5.0.
C:\Program Files (x86)\MSBuild\Microsoft\NuGet\Microsoft.NuGet.targets(83,5): e
rror : Couldn't find the required information in the lock file. Make sure you h
ave .NETFramework,Version=v4.5 mentioned in your targets. [C:\Users\ryan\Code\v
isualfsharp\src\fsharp\FSharp.Core\FSharp.Core.fsproj]
Done Building Project "C:\Users\ryan\Code\visualfsharp\src\fsharp\FSharp.Core\F
Sharp.Core.fsproj" (Build target(s)) -- FAILED.

Done Building Project "C:\Users\ryan\Code\visualfsharp\src\fsharp-library-build
.proj" (default targets) -- FAILED.


Build FAILED.

"C:\Users\ryan\Code\visualfsharp\src\fsharp-library-build.proj" (default target
) (1) ->
"C:\Users\ryan\Code\visualfsharp\src\fsharp\FSharp.Core\FSharp.Core.fsproj" (Bu
ild target) (2) ->
(ResolveNuGetPackageAssets target) ->
  C:\Program Files (x86)\MSBuild\Microsoft\NuGet\Microsoft.NuGet.targets(83,5):
 error : Couldn't find the required information in the lock file. Make sure you
 have .NETFramework,Version=v4.5 mentioned in your targets. [C:\Users\ryan\Code
\visualfsharp\src\fsharp\FSharp.Core\FSharp.Core.fsproj]

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:01.14
Error: library build failed

C:\Users\ryan\Code\visualfsharp>exit /b 1

@OnurGumus
Copy link
Contributor

Will this make F# with .net native available or that is irrelevant to CoreCLR support ?

@KevinRansom
Copy link
Member Author

Damn I am getting this build error from the appveyor server, it doesn't repo on any of my machines.

@dsyme
Copy link
Contributor

dsyme commented Nov 19, 2015

Hi @KevinRansom - people are asking for FSharp.Compiler.Service to be brought up on CoreCLR, see fsharp/fsharp-compiler-docs#465 (comment).

Do you think the core compiler changes CoreCLR branch are now stable enough that it is worth integrating them across to a matching coreclr branch in the FSHarp.Compiler.Service project, and then publishing a prelim nuget package for the compiler service as a CoreCLR-ready component? I think the branch probably is stable enough?

@enricosada
Copy link
Contributor

instead of push visualfsharp/coreclr to a branch inside FCS repo, if coreclr is stable (not done, stable = build script in place and run green) pls merge visualfsharp/coreclr inside visualfsharp/master.

Less branch to sync ( master+coreclr on visualfsharp, master+coreclr on openfsharp (xplat right?), master+coreclr on fcs ), really, let's use a build parameters, and is done.
So after we can use smaller pr.
Some stuff (portablepdb,upgrade nunit,emit to stream, emit reference assembly) is not something needed only by coreclr, but usefull also to master code (cleanup speedup development and less friction to contribute)

If you have fear of breaking, we can use a stabilization branch before update2 ( @KevinRansom or that is the vs2015 branch? )

@CumpsD
Copy link

CumpsD commented Feb 4, 2016

The dependency FSharp.Compiler.Service 1.4.0.6 in project X does not support framework DNXCore,Version=v5.0
The dependency FSharp.Compiler.Service 2.0.0.3 in project X does not support framework DNXCore,Version=v5.0

Is there a version of FCS which supports it already? If so, is it on a feed somewhere?

@KevinRansom
Copy link
Member Author

The fcs does not yet support coreclr.

@vors
Copy link

vors commented Feb 18, 2016

@KevinRansom if you still have problems with AppVeyor, you can rdp to a worker machine to troubleshot the problem: https://www.appveyor.com/docs/how-to/rdp-to-build-worker

@dwmkerr
Copy link

dwmkerr commented Mar 31, 2016

@KevinRansom Hi Kevin I'd be really interested in getting involved in contributing to the F# project, particularly WRT the CoreCLR. I've noticed there's a very good page here:

https://github.com/Microsoft/visualfsharp/wiki/F%23-for-CoreCLR---Status

What would be the best way for someone who is new to this community (but an experienced windows/unix developer) to get started contributing in a meaningful way?

Thanks, and sorry for hijacking this discussion a bit, if there's a more appropriate place to talk (slack or whatever) please let me know!

@KevinRansom
Copy link
Member Author

Hey,

Thanks for the mail … I just completed support for portable pdbs, and I am currently in the process of checking in the coreclr changes into master both of which are kind of cool. Where we are currently very weak is cross-platform build, whilst the F# compiler runs on linux and mac, and has done so for a long time. We can’t yet build the product there, which still makes me sad. The other area we are hugely weak is cross platform testing, we have some tests that run using nunit on coreclr which is very excellent, it would be nice if we could expand that.

@enricosada has been driving forward our dotnet cli integration.

The bit that scares me most though is testing, I would really love if we could get a grip on our testing and make sure that as much as feasible can run on the coreclr.

We are open to pretty much whatever interests you, open an issue, have a discussion about what you wish to do, mainly to make sure it doesn’t overlap someone else’s interests. And then get to work.

Kevin

From: Dave Kerr [mailto:notifications@github.com]
Sent: Wednesday, March 30, 2016 6:36 PM
To: Microsoft/visualfsharp visualfsharp@noreply.github.com
Cc: Kevin Ransom Kevin.Ransom@microsoft.com
Subject: Re: [Microsoft/visualfsharp] So ... you want to try out the coreclr version of the compiler on windows (#649)

@KevinRansomhttps://github.com/KevinRansom Hi Kevin I'd be really interested in getting involved in contributing to the F# project, particularly WRT the CoreCLR. I've noticed there's a very good page here:

https://github.com/Microsoft/visualfsharp/wiki/F%23-for-CoreCLR---Status

What would be the best way for someone who is new to this community (but an experienced windows/unix developer) to get started contributing in a meaningful way?

Thanks, and sorry for hijacking this discussion a bit, if there's a more appropriate place to talk (slack or whatever) please let me know!


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHubhttps://github.com//issues/649#issuecomment-203709836

@dwmkerr
Copy link

dwmkerr commented Apr 6, 2016

Thanks @KevinRansom appreciate the info! What about chat/communication, is there an IRC or something for the people who are currently working on the project, or is most communication handled on issues themselves?

@dsyme
Copy link
Contributor

dsyme commented Jul 11, 2016

The latest getting started docs are here: https://docs.microsoft.com/en-us/dotnet/articles/fsharp/getting-started-netcore

I think we can close this discussion?

@dsyme dsyme closed this as completed Jul 11, 2016
@CumpsD
Copy link

CumpsD commented Jul 11, 2016

Strange, cant find back this issue?
#649

On Mon, Jul 11, 2016 at 8:23 PM, Don Syme notifications@github.com wrote:

Closed #649 #649.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#649 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/ABJV7BocAwfoaKE5eCjBZyLeThIPo8Hjks5qUoongaJpZM4GF9IC
.

@pr-yemibedu
Copy link

@dsyme the link you provided is currently down. May you please provide the update version or the new replacement. Thank you. Good day.

@cartermp
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests