dotnet / fsharp

The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
https://dotnet.microsoft.com/languages/fsharp
MIT License
3.94k stars 788 forks source link

Latest Master does not build #1100

Closed isaacabraham closed 8 years ago

isaacabraham commented 8 years ago

Repro steps

  1. Downloaded the repo on Master.
  2. Ran build.cmd
  3. Waited for a while as it proceeded to download the internet.
  4. Eventually the window closed.
  5. Open up the Visual FSharp solution in VS2015.
  6. Build it.

    Expected behavior

The solution should build?

Actual behavior

Got a load of errors: -

Restoring NuGet packages...
To prevent NuGet from restoring packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages during build.'
Microsoft.DiaSymReader.PortablePdb 1.0.0-rc-60301 is not compatible with .NETStandard,Version=v1.5.
Microsoft.DiaSymReader 1.0.7 is not compatible with .NETStandard,Version=v1.5.
Some packages are not compatible with .NETStandard,Version=v1.5.
Microsoft.DiaSymReader.PortablePdb 1.0.0-rc-60301 is not compatible with .NETStandard,Version=v1.5.
Microsoft.DiaSymReader 1.0.7 is not compatible with .NETStandard,Version=v1.5.
Some packages are not compatible with .NETStandard,Version=v1.5.
1>------ Build started: Project: FSharp.Core, Configuration: Debug Any CPU ------
2>------ Build started: Project: ConsoleProject, Configuration: Debug Any CPU ------
3>------ Build started: Project: LibraryProject, Configuration: Debug Any CPU ------
4>------ Build started: Project: NetCore78Project, Configuration: Debug Any CPU ------
5>------ Build started: Project: NetCore259Project, Configuration: Debug Any CPU ------
6>------ Build started: Project: NetCoreProject, Configuration: Debug Any CPU ------
7>------ Build started: Project: PortableLibraryProject, Configuration: Debug Any CPU ------
8>------ Build started: Project: SilverlightProject, Configuration: Debug Any CPU ------
9>------ Build started: Project: TutorialProject, Configuration: Debug Any CPU ------
10>------ Build started: Project: AppConfig, Configuration: Debug Any CPU ------
11>------ Build started: Project: CodeFile, Configuration: Debug Any CPU ------
12>------ Build started: Project: ScriptFile, Configuration: Debug Any CPU ------
13>------ Build started: Project: SignatureFile, Configuration: Debug Any CPU ------
14>------ Build started: Project: TextFile, Configuration: Debug Any CPU ------
15>------ Build started: Project: XMLFile, Configuration: Debug Any CPU ------
16>------ Build started: Project: VsProDeployTemplates, Configuration: Debug Any CPU ------
17>------ Build started: Project: VWDExpressDeployTemplates, Configuration: Debug Any CPU ------
18>------ Build started: Project: WDExpressDeployTemplates, Configuration: Debug Any CPU ------
19>------ Build started: Project: FSharp.Compiler, Configuration: Debug Any CPU ------
20>------ Build started: Project: FSharp.Compiler.Server.Shared, Configuration: Debug Any CPU ------
21>------ Build started: Project: FSharp.LanguageService.Compiler, Configuration: Debug Any CPU ------
22>------ Build started: Project: FSharp.Build, Configuration: Debug Any CPU ------
23>------ Build started: Project: FSharp.Compiler.Interactive.Settings, Configuration: Debug Any CPU ------
24>------ Build started: Project: XmlDocAttributeWithNullComment, Configuration: Debug Any CPU ------
25>------ Build started: Project: EditorHideMethodsAttribute, Configuration: Debug Any CPU ------
26>------ Build started: Project: FSharp.Tests, Configuration: Debug Any CPU ------
27>------ Build started: Project: FSharp.Core.Unittests, Configuration: Debug Any CPU ------
24>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3962,5): warning MSB3026: Could not copy "C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.Core.dll" to "..\..\..\..\..\src\..\Debug\net40\bin\UnitTestsResources\MockTypeProviders\FSharp.Core.dll". Beginning retry 1 in 1000ms. The process cannot access the file '..\..\..\..\..\src\..\Debug\net40\bin\UnitTestsResources\MockTypeProviders\FSharp.Core.dll' because it is being used by another process.
28>------ Build started: Project: DefinitionLocationAttribute, Configuration: Debug Any CPU ------
29>------ Build started: Project: DefinitionLocationAttributeFileDoesnotExist, Configuration: Debug Any CPU ------
30>------ Build started: Project: DefinitionLocationAttributeLineDoesnotExist, Configuration: Debug Any CPU ------
31>------ Build started: Project: DefinitionLocationAttributeWithSpaceInTheType, Configuration: Debug Any CPU ------
32>------ Build started: Project: DummyProviderForLanguageServiceTesting, Configuration: Debug Any CPU ------
33>------ Build started: Project: EmptyAssembly, Configuration: Debug Any CPU ------
34>------ Build started: Project: XmlDocAttributeWithAdequateComment, Configuration: Debug Any CPU ------
35>------ Build started: Project: XmlDocAttributeWithEmptyComment, Configuration: Debug Any CPU ------
36>------ Build started: Project: XmlDocAttributeWithLocalizedComment, Configuration: Debug Any CPU ------
37>------ Build started: Project: XmlDocAttributeWithLongComment, Configuration: Debug Any CPU ------
38>------ Build started: Project: FSharp.VS.FSI, Configuration: Debug Any CPU ------
39>------ Build started: Project: FsiAnyCPU, Configuration: Debug x86 ------
40>------ Build started: Project: Fsi, Configuration: Debug Any CPU ------
41>------ Build started: Project: Fsc, Configuration: Debug Any CPU ------
42>------ Build started: Project: FSharp.Compiler.Unittests, Configuration: Debug Any CPU ------
43>------ Build started: Project: FSharp.LanguageService.Base, Configuration: Debug Any CPU ------
44>------ Build started: Project: ProjectSystem.Base, Configuration: Debug Any CPU ------
45>------ Build started: Project: FSharp.LanguageService, Configuration: Debug Any CPU ------
46>------ Build started: Project: FSharp.PropertiesPages, Configuration: Debug Any CPU ------
45>FSC: error FS1225: File 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core
45>FSC: error FS0229: Error opening binary file 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.dll': File 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core
45>FSC: error FS3160: Problem reading assembly 'FSharp.LanguageService.Compiler, Version=14.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a': Error opening binary file 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.dll': File 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core
47>------ Build started: Project: FSharp.Editor, Configuration: Debug Any CPU ------
48>------ Build started: Project: ProjectSystem, Configuration: Debug Any CPU ------
48>C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\src\FSharp.ProjectSystem.FSharp\ProjectSystem.fsproj(146,5): error MSB3073: The command ""C:\Program Files (x86)\Windows Kits\8.1\bin\x86\rc.exe" /fo obj\Debug\net40\ProjectResources.rc.res ProjectResources.rc" exited with code 9009.
49>------ Build started: Project: VisualFSharp.Salsa, Configuration: Debug Any CPU ------
47>FSC: error FS1225: File 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core
47>FSC: error FS0229: Error opening binary file 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.dll': File 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core
47>FSC: error FS3160: Problem reading assembly 'FSharp.LanguageService.Compiler, Version=14.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a': Error opening binary file 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.dll': File 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core
47>FSC: error FS0084: Assembly reference 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.dll' was not found or is invalid
50>------ Build started: Project: EnableOpenSource, Configuration: Debug Any CPU ------
50>CSC : error CS0006: Metadata file 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.Editor.dll' could not be found
49>FSC: error FS1225: File 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core
49>FSC: error FS0229: Error opening binary file 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.dll': File 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core
49>FSC: error FS3160: Problem reading assembly 'FSharp.LanguageService.Compiler, Version=14.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a': Error opening binary file 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.dll': File 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core
49>FSC: error FS0084: Assembly reference 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.dll' was not found or is invalid
49>FSC: error FS0084: Assembly reference 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.ProjectSystem.FSharp.dll' was not found or is invalid
51>------ Build started: Project: VisualFSharp.Unittests, Configuration: Debug Any CPU ------
51>FSC: error FS1225: File 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core
51>FSC: error FS0229: Error opening binary file 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.dll': File 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core
51>FSC: error FS3160: Problem reading assembly 'FSharp.LanguageService.Compiler, Version=14.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a': Error opening binary file 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.dll': File 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core
51>FSC: error FS0084: Assembly reference 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.LanguageService.dll' was not found or is invalid
51>FSC: error FS0084: Assembly reference 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\FSharp.ProjectSystem.FSharp.dll' was not found or is invalid
51>FSC: error FS0084: Assembly reference 'C:\Users\Isaac\Source\Repos\visualfsharp\Debug\net40\bin\VisualFSharp.Salsa.dll' was not found or is invalid
========== Build: 45 succeeded, 6 failed, 0 up-to-date, 0 skipped ==========

I imagine I'm doing something wrong but don't know what.

dsyme commented 8 years ago

@isaacabraham I just built master on my machine (sync + delete "Proto" and "Release" and "Debug" + "packages" + build), but it's possible I still have something cached. Could you try again please?

Re download size - I see 70MB under "packages" and 180MB under "Tools". There's also a related discussion here: https://github.com/Microsoft/visualfsharp/pull/1053#issuecomment-207890208.

isaacabraham commented 8 years ago

Just done a pull. Ran build.cmd in admin console: -

Build FAILED.

       "C:\Users\Isaac\Source\Repos\visualfsharp\build-everything.proj" (default target) (1) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\fsharp-vsintegration-src-build.proj" (Build target) (5) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\src\FSharp.Editor\FSharp.Editor.fsproj" (Build target) (11) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\src\FSharp.LanguageService.Base\FSharp.LanguageService.Base.csproj" (default target) (14) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\src\FSharp.VS.FSI\FSharp.VS.FSI.fsproj" (default target) (15) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\src\fsharp\FSharp.Compiler\FSharp.Compiler.fsproj" (default target) (21) ->
       (ResolveAssemblyReferences target) ->
         C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.DiaSymReader". Check to make sure the assembly exists on disk. If this reference is required by your code, yo
       u may get compilation errors. [C:\Users\Isaac\Source\Repos\visualfsharp\src\fsharp\FSharp.Compiler\FSharp.Compiler.fsproj]

       "C:\Users\Isaac\Source\Repos\visualfsharp\build-everything.proj" (default target) (1) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\fsharp-vsintegration-src-build.proj" (Build target) (5) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\src\FSharp.Editor\FSharp.Editor.fsproj" (Build target) (11) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\src\fsharp\FSharp.LanguageService.Compiler\FSharp.LanguageService.Compiler.fsproj" (default target) (33) ->
         C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.DiaSymReader". Check to make sure the assembly exists on disk. If this reference is required by your code, yo
       u may get compilation errors. [C:\Users\Isaac\Source\Repos\visualfsharp\src\fsharp\FSharp.LanguageService.Compiler\FSharp.LanguageService.Compiler.fsproj]

       "C:\Users\Isaac\Source\Repos\visualfsharp\build-everything.proj" (default target) (1) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\fsharp-vsintegration-deployment-build.proj" (Build target) (9) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\deployment\EnableOpenSource\EnableOpenSource.csproj" (Build target) (23) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\src\FSharp.ProjectSystem.FSharp\ProjectSystem.fsproj" (default target) (39) ->
       (BeforeBuild target) ->
         C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\src\FSharp.ProjectSystem.FSharp\ProjectSystem.fsproj(146,5): error MSB3073: The command ""C:\Program Files (x86)\Windows Kits\8.1\bin\x86\rc.exe" /fo obj\release\net40\ProjectResources.rc.res ProjectResources.rc" exited with code 9009.

       "C:\Users\Isaac\Source\Repos\visualfsharp\build-everything.proj" (default target) (1) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\fsharp-vsintegration-src-build.proj" (Build target) (5) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\src\FSharp.Editor\FSharp.Editor.fsproj" (Build target) (11) ->
       "C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\src\FSharp.LanguageService\FSharp.LanguageService.fsproj" (default target) (13) ->
       (CoreCompile target) ->
         FSC : error FS1225: File 'C:\Users\Isaac\Source\Repos\visualfsharp\release\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core [C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\src\FSharp.LanguageService\FSharp.LanguageService.fsproj]
         FSC : error FS0229: Error opening binary file 'C:\Users\Isaac\Source\Repos\visualfsharp\release\net40\bin\FSharp.LanguageService.Compiler.dll': File 'C:\Users\Isaac\Source\Repos\visualfsharp\release\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core [C:\User
       s\Isaac\Source\Repos\visualfsharp\vsintegration\src\FSharp.LanguageService\FSharp.LanguageService.fsproj]
         FSC : error FS3160: Problem reading assembly 'FSharp.LanguageService.Compiler, Version=14.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a': Error opening binary file 'C:\Users\Isaac\Source\Repos\visualfsharp\release\net40\bin\FSharp.LanguageService.Compiler.dll': File 'C:\Users\Isa
       ac\Source\Repos\visualfsharp\release\net40\bin\FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core [C:\Users\Isaac\Source\Repos\visualfsharp\vsintegration\src\FSharp.LanguageService\FSharp.LanguageService.fsproj]

    2 Warning(s)
    4 Error(s)
dsyme commented 8 years ago

Ugh. Maybe I have the DiaSymReader package cached.

forki commented 8 years ago

I see the package being download during build.

@isaacabraham please try the following: run git clean -xdf. make sure your nuget cache is empty (run paket clear-cache to force that). check in the very beginning of the build if nuget is retrieving the package

enricosada commented 8 years ago

i fixed the harmless warnings with #1124 but the errors (optdata) dunno, locally works for me.

pls @isaacabraham can you try latest master?

the "Eventually the window closed" is strange

slang25 commented 8 years ago

@enricosada I have just pulled down latest master and have the same error as @isaacabraham

The command ""C:\Program Files (x86)\Windows Kits\8.1\bin\x86\rc.exe" /fo obj\lease\net40\ProjectResources.rc.res ProjectResources.rc" exited with code 9009

I'll try to figure out what is happening, let me know if there's anything you think I should check.

slang25 commented 8 years ago

Wait a minute, I've not got the Windows SDK installed. I'll let you know if that fixes it (pretty sure it will, as it's a prereq)

Update: Yes, all sorted now :smile:

taylorwood commented 8 years ago

I just pulled master and also got the ... FSharp.LanguageService.Compiler.optdata' not found alongside FSharp.Core build error from build.cmd. I worked around it by manually copying those .optdata and .sigdata files from src\fsharp\FSharp.LanguageService.Compiler\obj\release\net40 to release\net40\bin.

I didn't have any errors related to Microsoft.DiaSymReader package.

dsyme commented 8 years ago

@taylorwood Were you cloning clean, or had you built previously? If the latter then you may need to rebuild proto

taylorwood commented 8 years ago

@dsyme it was a first-time clone, hadn't built before.

dsyme commented 8 years ago

@taylorwood Any chance you have a full build log for that? It feels like either the LKG is out of date, or your installed F# compiler is being used instead of the LKG or Proto.

dsyme commented 8 years ago

@taylorwood In particular I'd like to know which fsc.exe or fsc-proto.exe is being invoked when you get that failure. Any compiler freshly built from the source code in the repo should work ok. (We removed a hardwired hack in the compiler which means that you need to use a freshly-built compiler when compiling anything that references the internal FSharp.Compiler.LanguageService.dll. But since that component is internal that should not be a problem)

taylorwood commented 8 years ago

@dsyme I think this might be the path you're interested in ..\..\..\src\..\Proto\net40\bin\fsc-proto.exe. Full log: build.txt

dsyme commented 8 years ago

Could you send me a log of

 build proto

please? I don't understand why the proto compiler wasn't built fresh (if this was a clean clone)

taylorwood commented 8 years ago

build proto.txt

@dsyme I ran build again after build proto and it worked.

dsyme commented 8 years ago

Could you do a totally clean clone again and show me the log of your first build (without doing a build proto) please?

In that scenario, the intent is that build does indeed build the proto if it doesn't exist, but it seems that may not be happening.

Thanks don

taylorwood commented 8 years ago

@dsyme it just built successfully with a fresh clone. I must've fudged something when I was building before, but maybe this issue can be closed now. Fresh build log anyway: build.txt

AviAvni commented 8 years ago

I have the same issue build proto solved it but now the error is that FSharp.ProjectSystem.FSharp.pkgdef not created with the latest source

dsyme commented 8 years ago

I believe this is fixed