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

Improve/Fix Paket system installation docs -> No local build required #3625

Open
WibbletheDuck opened this issue Jul 26, 2019 · 7 comments
Open

Comments

@WibbletheDuck
Copy link

Description

System-wide Paket install fails with error FS0192: internal error: null: convTypeRefAux .

mono 6.0.0.313
msbuild 16.0.0.0
fsharpc 10.2.3 for F# 4.5

Repro steps

Please see https://nextjournal.com/mpd/paketmono-install for my minimalized attempt.

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | \
  tee /etc/apt/sources.list.d/mono-official-stable.list
  
apt-get -qq update
DEBIAN_FRONTEND=noninteractive apt-get install \
  mono-devel mono-complete libunwind-dev libssl1.0-dev \
  fsharp

git clone https:/fsprojects/Paket
cd Paket
./build.sh

Expected behavior

A working system-wide Paket installation is created.

Actual behavior

FsiEvaluationException:

Error: 
	
	error FS0192: internal error: null: convTypeRefAux
	

Output: [Loading /Paket/paket-files/build/fsharp/FAKE/modules/Octokit/Octokit.fsx
	 Loading /Paket/build.fsx]
	

Input: /Paket/build.fsx
\Arguments: 
  C:\fsi.exe
  --define:MONO

Exception: Yaaf.FSharp.Scripting.FsiEvaluationException: Error while compiling or executing fsharp snippet. ---> System.Exception: Operation failed. The error text has been printed in the error stream. To return the corresponding FSharpErrorInfo use the EvalInteractionNonThrowing, EvalScriptNonThrowing or EvalExpressionNonThrowing
  at Microsoft.FSharp.Compiler.Interactive.Shell+FsiEvaluationSession.commitResult[a,b] (Microsoft.FSharp.Core.FSharpChoice`2[T1,T2] res) [0x00030] in <58ebd1c7ddab8ea7a7450383c7d1eb58>:0 
  at Microsoft.FSharp.Compiler.Interactive.Shell+FsiEvaluationSession.EvalScript (System.String filePath) [0x00017] in <58ebd1c7ddab8ea7a7450383c7d1eb58>:0 
  at [email protected] (System.String arg00) [0x00000] in <5c90a2e0ccf1c534a7450383e0a2905c>:0 
  at Yaaf.FSharp.Scripting.Helper+save_@1276-2[a].Invoke (Microsoft.FSharp.Core.Unit unitVar0) [0x00000] in <5c90a2e0ccf1c534a7450383e0a2905c>:0 
  at Yaaf.FSharp.Scripting.Helper.consoleCapture[a] (System.IO.TextWriter out, System.IO.TextWriter err, Microsoft.FSharp.Core.FSharpFunc`2[T,TResult] f) [0x00019] in <5c90a2e0ccf1c534a7450383e0a2905c>:0 
  at Yaaf.FSharp.Scripting.Helper.redirectOut@1247[a] (System.Boolean preventStdOut, Yaaf.FSharp.Scripting.Helper+OutStreamHelper out, Yaaf.FSharp.Scripting.Helper+OutStreamHelper err, Microsoft.FSharp.Core.FSharpFunc`2[T,TResult] f) [0x0006c] in <5c90a2e0ccf1c534a7450383e0a2905c>:0 
  at Yaaf.FSharp.Scripting.Helper+save_@1275-1[a].Invoke (System.String text) [0x0002a] in <5c90a2e0ccf1c534a7450383e0a2905c>:0 
   --- End of inner exception stack trace ---
  at Yaaf.FSharp.Scripting.Helper+save_@1275-1[a].Invoke (System.String text) [0x0009c] in <5c90a2e0ccf1c534a7450383e0a2905c>:0 
  at Yaaf.FSharp.Scripting.Helper+session@1306.Yaaf-FSharp-Scripting-IFsiSession-EvalScriptWithOutput (System.String path) [0x00000] in <5c90a2e0ccf1c534a7450383e0a2905c>:0 
  at Fake.FSIHelper.runScriptUncached (System.Boolean useCache, System.String scriptPath, System.Collections.Generic.IEnumerable`1[T] fsiOptions, System.Boolean printDetails, Fake.FSIHelper+CacheInfo cacheInfo, System.IO.TextWriter out, System.IO.TextWriter err) [0x00195] in <5c90a2e0ccf1c534a7450383e0a2905c>:0 
error FS0192: internal error: null: convTypeRefAux

CACHING ERROR - please open a issue on FAKE and /cc @matthid

Error: System.NotSupportedException: Type 'FSI_0005.Build' was not completed.
  at System.Reflection.Emit.ModuleBuilder.Save () [0x00048] in <81342d83acda4c5590ec19c7afdf26b9>:0 
  at System.Reflection.Emit.AssemblyBuilder.Save (System.String assemblyFileName, System.Reflection.PortableExecutableKinds portableExecutableKind, System.Reflection.ImageFileMachine imageFileMachine) [0x0022b] in <81342d83acda4c5590ec19c7afdf26b9>:0 
  at System.Reflection.Emit.AssemblyBuilder.Save (System.String assemblyFileName) [0x00000] in <81342d83acda4c5590ec19c7afdf26b9>:0 
  at Fake.FSIHelper.handleCaching[a] (System.Boolean printDetails, Yaaf.FSharp.Scripting.IFsiSession session, a fsiErrorOutput, System.IO.DirectoryInfo cacheDir, Fake.FSIHelper+CacheInfo cacheInfo) [0x00044] in <5c90a2e0ccf1c534a7450383e0a2905c>:0 

I'm completely new to this whole ecosystem, so I may be confused as to what I'm supposed to be installing, but this seemed like it should work.

@inosik
Copy link
Contributor

inosik commented Jul 31, 2019

This is rather a problem with FAKE.

A working system-wide Paket installation is created.

Note that it's not common in the .NET space to install software like that. We don't use the configure, make, make install workflow.

@WibbletheDuck
Copy link
Author

@inosik

Note that it's not common in the .NET space to install software like that. We don't use the configure, make, make install workflow.

Alright? I'm not grasping how that applies to this. I'm just trying to follow the directions here: https://fsprojects.github.io/Paket/installation.html

I'll file an Issue on FAKE.

@forki
Copy link
Member

forki commented Jul 31, 2019 via email

@inosik
Copy link
Contributor

inosik commented Jul 31, 2019

Sorry, I didn‘t realize that we indeed have an installation script.

Looks like the script downloads Paket from NuGet, though. So it’s not required to run the build.

@matthid
Copy link
Member

matthid commented Jul 31, 2019

Obviously, we still use the old FAKE runner here, we should do the upgrade which would solve this issue.

@matthid
Copy link
Member

matthid commented Aug 7, 2019

@WibbletheDuck Indeed @inosik is correct on this. The documentation is rather strange (sorry for the late reply). All you need is the install.sh and run it to get a system installation. Running the build is not required.

Anyway its a bit unfortunate that the build didn't work for you. Thanks for reporting. I guess I'll update this issue to reflect the documentation change as the build error is tracked in FAKE (even though it is unlikely to be fixed). I guess this will be fixed automatically by any future FCS update.

@matthid matthid changed the title Paket install gives error FS0192 Improve/Fix Paket system installation docs -> No local build required Aug 7, 2019
@WibbletheDuck
Copy link
Author

Thanks, just running install.sh did work.

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

4 participants