Fsharp: On trying to compile on osx the resulting compiler exe is broken

Created on 31 Mar 2017  路  6Comments  路  Source: dotnet/fsharp

Please provide a succinct description of the issue.

Repro steps

Provide the steps required to reproduce the problem

  1. ./build.sh
  2. mono fsc.exe from output folder

Expected behavior

program runs

Actual behavior

program fails:

Unhandled Exception:
System.Resources.MissingManifestResourceException: Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "FSComp.resources" was correctly embedded or linked into assembly "FSharp.Compiler" at compile time, or that all the satellite assemblies required are loadable and fully signed.
  at System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing (System.String fileName) [0x000ca] in <f712f98eb8e445c8918edaf595bbe465>:0
  at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet (System.Globalization.CultureInfo culture, System.Collections.Generic.Dictionary`2[TKey,TValue] localResourceSets, System.Boolean tryParents, System.Boolean createIfNotExists, System.Threading.StackCrawlMark& stackMark) [0x00110] in <f712f98eb8e445c8918edaf595bbe465>:0
  at System.Resources.ResourceManager.InternalGetResourceSet (System.Globalization.CultureInfo requestedCulture, System.Boolean createIfNotExists, System.Boolean tryParents, System.Threading.StackCrawlMark& stackMark) [0x000ad] in <f712f98eb8e445c8918edaf595bbe465>:0
  at System.Resources.ResourceManager.InternalGetResourceSet (System.Globalization.CultureInfo culture, System.Boolean createIfNotExists, System.Boolean tryParents) [0x00002] in <f712f98eb8e445c8918edaf595bbe465>:0
  at System.Resources.ResourceManager.GetString (System.String name, System.Globalization.CultureInfo culture) [0x0006a] in <f712f98eb8e445c8918edaf595bbe465>:0
  at FSComp.SR.GetString (System.String name) [0x00025] in <58de29bd7f81fe20a7450383bd29de58>:0
  at FSComp.SR.GetStringFunc[T] (System.String messageID, Microsoft.FSharp.Core.PrintfFormat`4[TPrinter,TState,TResidue,TResult] fmt) [0x0002b] in <58de29bd7f81fe20a7450383bd29de58>:0
  at <StartupCode$FSharp-Compiler>[email protected] (System.Tuple`2[T1,T2] tupledArg) [0x00010] in <58de29bd7f81fe20a7450383bd29de58>:0
  at Microsoft.FSharp.Core.FSharpFunc`2[T,TResult].InvokeFast[V] (Microsoft.FSharp.Core.FSharpFunc`2[T,TResult] func, T arg1, TResult arg2) [0x00018] in <58de2961dff9fae1a74503836129de58>:0
  at FSComp.SR.buildProductName (System.String a0) [0x0001a] in <58de29bd7f81fe20a7450383bd29de58>:0
  at Microsoft.FSharp.Compiler.CompileOps+TcConfigBuilder.CreateNew (Microsoft.FSharp.Compiler.ReferenceResolver+Resolver referenceResolver, System.String defaultFSharpBinariesDir, System.Boolean optimizeForMemory, System.String implicitIncludeDir, System.Boolean isInteractive, System.Boolean isInvalidationSupported) [0x000e8] in <58de29bd7f81fe20a7450383bd29de58>:0
  at Microsoft.FSharp.Compiler.Driver.main0[a] (a ctok, System.String[] argv, Microsoft.FSharp.Compiler.ReferenceResolver+Resolver referenceResolver, System.Boolean bannerAlreadyPrinted, Microsoft.FSharp.Compiler.ErrorLogger+Exiter exiter, Microsoft.FSharp.Compiler.Driver+ErrorLoggerProvider errorLoggerProvider, Microsoft.FSharp.Compiler.Driver+DisposablesTracker disposables) [0x0009c] in <58de29bd7f81fe20a7450383bd29de58>:0
  at Microsoft.FSharp.Compiler.Driver.typecheckAndCompile (System.String[] argv, Microsoft.FSharp.Compiler.ReferenceResolver+Resolver referenceResolver, System.Boolean bannerAlreadyPrinted, Microsoft.FSharp.Compiler.ErrorLogger+Exiter exiter, Microsoft.FSharp.Compiler.Driver+ErrorLoggerProvider loggerProvider) [0x0000f] in <58de29bd7f81fe20a7450383bd29de58>:0
  at Microsoft.FSharp.Compiler.Driver.mainCompile (System.String[] argv, Microsoft.FSharp.Compiler.ReferenceResolver+Resolver referenceResolver, System.Boolean bannerAlreadyPrinted, Microsoft.FSharp.Compiler.ErrorLogger+Exiter exiter) [0x0000a] in <58de29bd7f81fe20a7450383bd29de58>:0
  at Microsoft.FSharp.Compiler.CommandLineMain+Driver.main (System.String[] argv) [0x0002e] in <58de29d1c960099ba7450383d129de58>:0
  at Microsoft.FSharp.Compiler.CommandLineMain.main (System.String[] argv) [0x00042] in <58de29d1c960099ba7450383d129de58>:0
  at Microsoft.FSharp.Compiler.ErrorLogger+ErrorLoggerExtensions.ReraiseIfWatsonable (System.Exception exn) [0x00040] in <58de29bd7f81fe20a7450383bd29de58>:0
  at Microsoft.FSharp.Compiler.ErrorLogger+ErrorLoggerExtensions.ErrorLogger.ErrorRecovery (Microsoft.FSharp.Compiler.ErrorLogger+ErrorLogger x, System.Exception exn, Microsoft.FSharp.Compiler.Range+range m) [0x00087] in <58de29bd7f81fe20a7450383bd29de58>:0

Related information

OS osx
Mono 4.8

Most helpful comment

We've fixed this in fsharp/fsharp, I'll merge the changes back

All 6 comments

Same on CentOS 7:

[vaskir@46 visualfsharp]$ mono release/net40/bin/fsi.exe
Exception by fsi.exe:
System.Resources.MissingManifestResourceException: Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "FSComp.resources" was correctly embedded or linked into assembly "FSharp.Compiler" at compile time, or that all the satellite assemblies required are loadable and fully signed.
  at System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing (System.String fileName) [0x000ca] in <f712f98eb8e445c8918edaf595bbe465>:0
  at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet (System.Globalization.CultureInfo culture, System.Collections.Generic.Dictionary`2[TKey,TValue] localResourceSets, System.Boolean tryParents, System.Boolean createIfNotExists, System.Threading.StackCrawlMark& stackMark) [0x00110] in <f712f98eb8e445c8918edaf595bbe465>:0
  at System.Resources.ResourceManager.InternalGetResourceSet (System.Globalization.CultureInfo requestedCulture, System.Boolean createIfNotExists, System.Boolean tryParents, System.Threading.StackCrawlMark& stackMark) [0x000ad] in <f712f98eb8e445c8918edaf595bbe465>:0
  at System.Resources.ResourceManager.InternalGetResourceSet (System.Globalization.CultureInfo culture, System.Boolean createIfNotExists, System.Boolean tryParents) [0x00002] in <f712f98eb8e445c8918edaf595bbe465>:0
  at System.Resources.ResourceManager.GetString (System.String name, System.Globalization.CultureInfo culture) [0x0006a] in <f712f98eb8e445c8918edaf595bbe465>:0
  at FSComp.SR.GetString (System.String name) [0x00025] in <58de2e637f81fe20a7450383632ede58>:0
  at FSComp.SR.GetStringFunc[T] (System.String messageID, Microsoft.FSharp.Core.PrintfFormat`4[TPrinter,TState,TResidue,TResult] fmt) [0x0002b] in <58de2e637f81fe20a7450383632ede58>:0
  at <StartupCode$FSharp-Compiler>[email protected] (System.Tuple`2[T1,T2] tupledArg) [0x00010] in <58de2e637f81fe20a7450383632ede58>:0
  at Microsoft.FSharp.Core.FSharpFunc`2[T,TResult].InvokeFast[V] (Microsoft.FSharp.Core.FSharpFunc`2[T,TResult] func, T arg1, TResult arg2) [0x00018] in <58de2dffdff9fae1a7450383ff2dde58>:0
  at FSComp.SR.buildProductName (System.String a0) [0x0001a] in <58de2e637f81fe20a7450383632ede58>:0
  at Microsoft.FSharp.Compiler.CompileOps+TcConfigBuilder.CreateNew (Microsoft.FSharp.Compiler.ReferenceResolver+Resolver referenceResolver, System.String defaultFSharpBinariesDir, System.Boolean optimizeForMemory, System.String implicitIncludeDir, System.Boolean isInteractive, System.Boolean isInvalidationSupported) [0x000e8] in <58de2e637f81fe20a7450383632ede58>:0
  at Microsoft.FSharp.Compiler.Interactive.Shell+FsiEvaluationSession..ctor (Microsoft.FSharp.Compiler.Interactive.Shell+FsiEvaluationSessionHostConfig fsi, System.String[] argv, System.IO.TextReader inReader, System.IO.TextWriter outWriter, System.IO.TextWriter errorWriter) [0x000e5] in <58de2e82046a099ca7450383822ede58>:0
  at Microsoft.FSharp.Compiler.Interactive.Shell.evaluateSession@2892 (System.String[] argv, Microsoft.FSharp.Core.Unit unitVar0) [0x0010d] in <58de2e82046a099ca7450383822ede58>:0

We've fixed this in fsharp/fsharp, I'll merge the changes back

I guess somewhere in here: https://github.com/fsharp/fsharp/pull/655#issuecomment-274781520

@7sharp9 Could you link to a complete build log please? We don't have OSX CI in this repo so can't see build logs.

@7sharp9 Note that after https://github.com/Microsoft/visualfsharp/pull/2840 the fsharp/fsharp and Microsoft/visualfsharp repos are very much aligned codewise. We should be able to get this sorted out.

@7sharp9 This should all be fixed now

Was this page helpful?
0 / 5 - 0 ratings