Jump to content

You're browsing the 2004-2023 VATSIM Forums archive. All content is preserved in a read-only fashion.
For the latest forum posts, please visit https://forum.vatsim.net.

Need to find something? Use the Google search below.

Ninject and GeoVR issues launching AFV on Linux via Wine


Cian Ormond
 Share

Recommended Posts

Cian Ormond
Posted
Posted

I'm trying to install AFV on Linux (of course VRC works perfectly) using the AFV User Guide tutorial (modified using wine from apt instead of brew and a different path) and it's giving me the errors shown in this log once I run it:

Quote

Unhandled Exception:
System.TypeLoadException: Invalid type GeoVR.Client.UserClient for instance field GeoVR.VATSIM.VATSIMClient.WinForms.MainForm:GeoUserClient
  at (wrapper managed-to-native) System.RuntimeType.GetConstructors_native(System.RuntimeType,System.Reflection.BindingFlags)
  at System.RuntimeType.GetConstructors_internal (System.Reflection.BindingFlags bindingAttr, System.RuntimeType reflectedType) [0x00008] in <7713cb95b33244ed9608bf0b23fbdce9>:0
  at System.RuntimeType.GetConstructorCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Reflection.CallingConventions callConv, System.Type[] types, System.Boolean allowPrefixLookup) [0x00047] in <7713cb95b33244ed9608bf0b23fbdce9>:0
  at System.RuntimeType.GetConstructors (System.Reflection.BindingFlags bindingAttr) [0x00000] in <7713cb95b33244ed9608bf0b23fbdce9>:0
  at Ninject.Selection.Selector.SelectConstructorsForInjection (System.Type type) [0x00026] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Planning.Strategies.ConstructorReflectionStrategy.Execute (Ninject.Planning.IPlan plan) [0x00017] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Planning.Planner+<>c__DisplayClass9_0.<CreateNewPlan>b__0 (Ninject.Planning.Strategies.IPlanningStrategy s) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map[T] (System.Collections.Generic.IEnumerable`1[T] series, System.Action`1[T] action) [0x00010] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Planning.Planner.CreateNewPlan (System.Type type) [0x00053] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Planning.Planner.GetPlan (System.Type type) [0x00026] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Activation.Providers.StandardProvider.Create (Ninject.Activation.IContext context) [0x00053] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Activation.Context.ResolveInternal (System.Object scope) [0x00034] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Activation.Context.Resolve () [0x0008b] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request, System.Boolean handleMissingBindings) [0x00282] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request, System.Boolean handleMissingBindings) [0x00192] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.ResolutionExtensions.GetResolutionIterator (Ninject.Syntax.IResolutionRoot root, System.Type service, System.Func`2[T,TResult] constraint, System.Collections.Generic.IEnumerable`1[T] parameters, System.Boolean isOptional, System.Boolean isUnique) [0x0002f] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.ResolutionExtensions.Get[T] (Ninject.Syntax.IResolutionRoot root, Ninject.Parameters.IParameter[] parameters) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at GeoVR.VATSIM.VATSIMClient.WinForms.Program.Main () [0x00092] in <a906ff30dc024fed818c4f2cd432ebef>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Invalid type GeoVR.Client.UserClient for instance field GeoVR.VATSIM.VATSIMClient.WinForms.MainForm:GeoUserClient
  at (wrapper managed-to-native) System.RuntimeType.GetConstructors_native(System.RuntimeType,System.Reflection.BindingFlags)
  at System.RuntimeType.GetConstructors_internal (System.Reflection.BindingFlags bindingAttr, System.RuntimeType reflectedType) [0x00008] in <7713cb95b33244ed9608bf0b23fbdce9>:0
  at System.RuntimeType.GetConstructorCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Reflection.CallingConventions callConv, System.Type[] types, System.Boolean allowPrefixLookup) [0x00047] in <7713cb95b33244ed9608bf0b23fbdce9>:0
  at System.RuntimeType.GetConstructors (System.Reflection.BindingFlags bindingAttr) [0x00000] in <7713cb95b33244ed9608bf0b23fbdce9>:0
  at Ninject.Selection.Selector.SelectConstructorsForInjection (System.Type type) [0x00026] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Planning.Strategies.ConstructorReflectionStrategy.Execute (Ninject.Planning.IPlan plan) [0x00017] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Planning.Planner+<>c__DisplayClass9_0.<CreateNewPlan>b__0 (Ninject.Planning.Strategies.IPlanningStrategy s) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map[T] (System.Collections.Generic.IEnumerable`1[T] series, System.Action`1[T] action) [0x00010] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Planning.Planner.CreateNewPlan (System.Type type) [0x00053] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Planning.Planner.GetPlan (System.Type type) [0x00026] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Activation.Providers.StandardProvider.Create (Ninject.Activation.IContext context) [0x00053] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Activation.Context.ResolveInternal (System.Object scope) [0x00034] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.Activation.Context.Resolve () [0x0008b] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request, System.Boolean handleMissingBindings) [0x00282] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request, System.Boolean handleMissingBindings) [0x00192] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.ResolutionExtensions.GetResolutionIterator (Ninject.Syntax.IResolutionRoot root, System.Type service, System.Func`2[T,TResult] constraint, System.Collections.Generic.IEnumerable`1[T] parameters, System.Boolean isOptional, System.Boolean isUnique) [0x0002f] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at Ninject.ResolutionExtensions.Get[T] (Ninject.Syntax.IResolutionRoot root, Ninject.Parameters.IParameter[] parameters) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0
  at GeoVR.VATSIM.VATSIMClient.WinForms.Program.Main () [0x00092] in <a906ff30dc024fed818c4f2cd432ebef>:0 Cannot load assembly mscorlib
0009:err:mscoree:RuntimeHost_ExitProcess Process should have exited
0009:err:mscoree:expect_no_runtimes Process exited with a Mono runtime loaded.

It appears to be a .NET issue, but I've no idea. Any help would be appreciated!

  • Like 1
Link to comment
Share on other sites

  • 3 months later...
Adam Tazul
Posted
Posted
On 11/11/2020 at 7:54 AM, Cian Ormond said:

I'm trying to install AFV on Linux (of course VRC works perfectly) using the AFV User Guide tutorial (modified using wine from apt instead of brew and a different path) and it's giving me the errors shown in this log once I run it:

It appears to be a .NET issue, but I've no idea. Any help would be appreciated!

Bump on this one, EuroScope works perfectly for me with full functionality of the UK Controller Pack but the AFV standalone client gives a near carbon copy of this error when run through the terminal. Am using Arch Linux . Here is the output of a neofetch on my system:

Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
[23:29:40] adam@Adam-Arch /home/adam  
> neofetch
             __                       adam@Adam-Arch 
         _=(SDGJT=_                   -------------- 
       _GTDJHGGFCVS)                  OS: Arch Linux x86_64 
      ,GTDJGGDTDFBGX0                 Host: 20M50013UK ThinkPad L380 
     JDJDIJHRORVFSBSVL-=+=,_          Kernel: Linux 5.12.0-rc2-1-mainline 
    IJFDUFHJNXIXCDXDSV,  "DEBL        Uptime: 36 mins 
   [LKDSDJTDU=OUSCSBFLD.   '?ZWX,     Packages: 1661 (pacman) 
  ,LMDSDSWH'     `DCBOSI     DRDS],   Shell: /usr/bin/fish 3.2.0-46-ga7df92e18 
  SDDFDFH'         !YEWD,   )HDROD    Resolution: 1920x1080 @ 60.02Hz 
 !KMDOCG            &GSU|\_GFHRGO\'   DE: Plasma 5.21.2 
 HKLSGP'           __\TKM0\GHRBV)'    WM: KWin 
JSNRVW'       __+MNAEC\IOI,\BN'       WM Theme: Breeze 
HELK['    __,=OFFXCBGHC\FD)           Theme: Breeze Dark [Plasma] 
?KGHE \_-#DASDFLSV='    'EF           Icons: breeze-dark [Plasma] 
'EHTI                    !H           Font: Ubuntu 0 11 [Plasma] 
 `0F'                    '!           Terminal: konsole 
                                      CPU: Intel i5-8250U (4) @ 3.400GHz [71.0°C] 
                                      CPU Usage: 26% 
                                      GPU: Intel UHD Graphics 620 
                                      Memory: 2.75GiB / 31.12GiB (8%) 
                                      Disk (/): 29G / 290G (11%) 
                                      Battery0: 52% [Discharging] 

                                                              
                                                              


[23:29:44] adam@Adam-Arch /home/adam  
> wine --version
wine-6.3 (Staging)
[23:29:47] adam@Adam-Arch /home/adam  
> 

The error:
 

Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
[23:31:38] adam@Adam-Arch /home/adam/.wine/dosdevices/c:/AudioForVATSIM  
> wine ./AudioForVATSIM.exe
002c:fixme:winediag:LdrInitializeThunk wine-staging 6.3 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0024:fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.7.2" not implemented
0024:fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.7.2" not implemented
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION

Unhandled Exception:
System.TypeLoadException: Invalid type GeoVR.Client.UserClient for instance field GeoVR.VATSIM.VATSIMClient.WinForms.MainForm:GeoUserClient
  at (wrapper managed-to-native) System.RuntimeType.GetConstructors_native(System.RuntimeType,System.Reflection.BindingFlags)
  at System.RuntimeType.GetConstructors_internal (System.Reflection.BindingFlags bindingAttr, System.RuntimeType reflectedType) [0x00008] in <3d7a9349295c42b6abb3487b4473a6b8>:0 
  at System.RuntimeType.GetConstructorCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Reflection.CallingConventions callConv, System.Type[] types, System.Boolean allowPrefixLookup) [0x00047] in <3d7a9349295c42b6abb3487b4473a6b8>:0 
  at System.RuntimeType.GetConstructors (System.Reflection.BindingFlags bindingAttr) [0x00000] in <3d7a9349295c42b6abb3487b4473a6b8>:0 
  at Ninject.Selection.Selector.SelectConstructorsForInjection (System.Type type) [0x00026] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Strategies.ConstructorReflectionStrategy.Execute (Ninject.Planning.IPlan plan) [0x00017] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Planner+<>c__DisplayClass9_0.<CreateNewPlan>b__0 (Ninject.Planning.Strategies.IPlanningStrategy s) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map[T] (System.Collections.Generic.IEnumerable`1[T] series, System.Action`1[T] action) [0x00010] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Planner.CreateNewPlan (System.Type type) [0x00053] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Planner.GetPlan (System.Type type) [0x00026] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Activation.Providers.StandardProvider.Create (Ninject.Activation.IContext context) [0x00053] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Activation.Context.ResolveInternal (System.Object scope) [0x00034] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Activation.Context.Resolve () [0x0008b] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request, System.Boolean handleMissingBindings) [0x00282] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request, System.Boolean handleMissingBindings) [0x00192] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.ResolutionExtensions.GetResolutionIterator (Ninject.Syntax.IResolutionRoot root, System.Type service, System.Func`2[T,TResult] constraint, System.Collections.Generic.IEnumerable`1[T] parameters, System.Boolean isOptional, System.Boolean isUnique) [0x0002f] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.ResolutionExtensions.Get[T] (Ninject.Syntax.IResolutionRoot root, Ninject.Parameters.IParameter[] parameters) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at GeoVR.VATSIM.VATSIMClient.WinForms.Program.Main () [0x00092] in <a906ff30dc024fed818c4f2cd432ebef>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Invalid type GeoVR.Client.UserClient for instance field GeoVR.VATSIM.VATSIMClient.WinForms.MainForm:GeoUserClient
  at (wrapper managed-to-native) System.RuntimeType.GetConstructors_native(System.RuntimeType,System.Reflection.BindingFlags)
  at System.RuntimeType.GetConstructors_internal (System.Reflection.BindingFlags bindingAttr, System.RuntimeType reflectedType) [0x00008] in <3d7a9349295c42b6abb3487b4473a6b8>:0 
  at System.RuntimeType.GetConstructorCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Reflection.CallingConventions callConv, System.Type[] types, System.Boolean allowPrefixLookup) [0x00047] in <3d7a9349295c42b6abb3487b4473a6b8>:0 
  at System.RuntimeType.GetConstructors (System.Reflection.BindingFlags bindingAttr) [0x00000] in <3d7a9349295c42b6abb3487b4473a6b8>:0 
  at Ninject.Selection.Selector.SelectConstructorsForInjection (System.Type type) [0x00026] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Strategies.ConstructorReflectionStrategy.Execute (Ninject.Planning.IPlan plan) [0x00017] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Planner+<>c__DisplayClass9_0.<CreateNewPlan>b__0 (Ninject.Planning.Strategies.IPlanningStrategy s) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map[T] (System.Collections.Generic.IEnumerable`1[T] series, System.Action`1[T] action) [0x00010] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Planner.CreateNewPlan (System.Type type) [0x00053] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Planner.GetPlan (System.Type type) [0x00026] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Activation.Providers.StandardProvider.Create (Ninject.Activation.IContext context) [0x00053] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Activation.Context.ResolveInternal (System.Object scope) [0x00034] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Activation.Context.Resolve () [0x0008b] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request, System.Boolean handleMissingBindings) [0x00282] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request, System.Boolean handleMissingBindings) [0x00192] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.ResolutionExtensions.GetResolutionIterator (Ninject.Syntax.IResolutionRoot root, System.Type service, System.Func`2[T,TResult] constraint, System.Collections.Generic.IEnumerable`1[T] parameters, System.Boolean isOptional, System.Boolean isUnique) [0x0002f] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.ResolutionExtensions.Get[T] (Ninject.Syntax.IResolutionRoot root, Ninject.Parameters.IParameter[] parameters) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0 
[23:31:44] adam@Adam-Ar

I have .net 4.7.2 installed.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
Owen Wang
Posted
Posted
On 11/11/2020 at 2:54 AM, Cian Ormond said:

It appears to be a .NET issue, but I've no idea. Any help would be appreciated!

It is indeed a .NET issue! Make sure to install the .NET framework (4.7.X or later; I tested with 4.8) from Microsoft for via Winetricks and it should work!

Link to comment
Share on other sites

Adam Tazul
Posted
Posted
22 hours ago, Owen Wang said:

It is indeed a .NET issue! Make sure to install the .NET framework (4.7.X or later; I tested with 4.8) from Microsoft for via Winetricks and it should work!

For me, I already have the latest .net framework and winetricks installed. It still spits the same error.

Link to comment
Share on other sites

Owen Wang
Posted
Posted
16 hours ago, Adam Tazul said:

For me, I already have the latest .net framework and winetricks installed. It still spits the same error.

Hmm... that is weird. What version of wine are you using? (And is it staging?) Also, what version of .NET did you install?

Link to comment
Share on other sites

Adam Tazul
Posted
Posted
6 hours ago, Owen Wang said:

Hmm... that is weird. What version of wine are you using? (And is it staging?) Also, what version of .NET did you install?

I am using Wine 6.3 staging with .net 4.8

Link to comment
Share on other sites

Cian Ormond
Posted
Posted

I forgot I even posted this.

 

1 hour ago, Adam Tazul said:

.net 4.8

I got it working with Mono. Have you tried this?

Link to comment
Share on other sites

Adam Tazul
Posted
Posted
54 minutes ago, Cian Ormond said:

I got it working with Mono. Have you tried this?

What is Mono?

Link to comment
Share on other sites

Adam Tazul
Posted
Posted
17 hours ago, Cian Ormond said:

Oh i thought that winetricks was Wine's native Linux .NET thing... I already have wine-mono installed (since it is an optional dependency for wine). How can I launch AFV with wine-mono?

Link to comment
Share on other sites

  • 3 weeks later...
Cian Ormond
Posted
Posted
On 4/15/2021 at 8:17 AM, Adam Tazul said:

Oh i thought that winetricks was Wine's native Linux .NET thing... I already have wine-mono installed (since it is an optional dependency for wine). How can I launch AFV with wine-mono?

Sorry for the late response. I don't think you need to specifically launch it separately, I have it installed and whenever I install a .NET program I just open the installer with "wine (executable)" and launch it once installed from the shortcut it installs with.

Link to comment
Share on other sites

  • 11 months later...
Adam Tazul
Posted
Posted
On 5/3/2021 at 2:39 AM, Cian Ormond said:

Sorry for the late response. I don't think you need to specifically launch it separately, I have it installed and whenever I install a .NET program I just open the installer with "wine (executable)" and launch it once installed from the shortcut it installs with.

Sorry for the even later response (it's been almost a year, I know...). Just thought to let you know that I found a way to get AFV fully working on Linux. It seems using the winetricks version of .Net 4 was a bad idea. Fixed it by using the Microsoft-provided .Net 4.0 redist and then installing the .net 4.7.2 redist on top of that. Works for me on Artix OpenRC.

Link to comment
Share on other sites

 Share