Trizbort on Linux?

Hi everyone,

This weekend I tried to make Trizbort run on Linux, with a bit of help form aschultz, but no dice :frowning:

I tried to grab the Trizbort.exe from 1.5.9.7 and run it with Mono, but no luck. I then tried to build it from source; version 1.5.9.5 can be built (with a bit of tweaking; higher versions cannot be built yet due to usage of a construct that the mono compiler for linux doesnt support yet), but it gives me the same error.

Specifically, I get a “SystemEntryPointNotFoundException: CreateDC” error when trying to run using Mono, and some “System.NullReferenceException” with Wine.
This is with the latest version of Mono (and monodevelop), of Wine, and with “winetricks gdiplus”.

Any C#/mono wizards out here who can help? Or point me to the general direction? Thanks in advance :slight_smile:

(Console output:)

[spoiler][code]
$ mono Trizbort.exe

Unhandled Exception:
System.EntryPointNotFoundException: CreateDC
at (wrapper managed-to-native) DevComponents.DotNetBar.ࡠ:CreateDC (string,int,int,int)
at DevComponents.DotNetBar.ࡠ.ࣶ () [0x00000] in <4a2d1cbd5d404f4c8c4d4abeb15236ec>:0
at DevComponents.DotNetBar.Bar…ctor () [0x00184] in <4a2d1cbd5d404f4c8c4d4abeb15236ec>:0
at (wrapper remoting-invoke-with-check) DevComponents.DotNetBar.Bar:.ctor ()
at Trizbort.UI.MainForm.InitializeComponent () [0x00543] in :0
at Trizbort.UI.MainForm…ctor () [0x00006] in :0
at (wrapper remoting-invoke-with-check) Trizbort.UI.MainForm:.ctor ()
at Trizbort.Program.Main (System.String[] args) [0x0000b] in :0
[ERROR] FATAL UNHANDLED EXCEPTION: System.EntryPointNotFoundException: CreateDC
at (wrapper managed-to-native) DevComponents.DotNetBar.ࡠ:CreateDC (string,int,int,int)
at DevComponents.DotNetBar.ࡠ.ࣶ () [0x00000] in <4a2d1cbd5d404f4c8c4d4abeb15236ec>:0
at DevComponents.DotNetBar.Bar…ctor () [0x00184] in <4a2d1cbd5d404f4c8c4d4abeb15236ec>:0
at (wrapper remoting-invoke-with-check) DevComponents.DotNetBar.Bar:.ctor ()
at Trizbort.UI.MainForm.InitializeComponent () [0x00543] in :0
at Trizbort.UI.MainForm…ctor () [0x00006] in :0
at (wrapper remoting-invoke-with-check) Trizbort.UI.MainForm:.ctor ()
at Trizbort.Program.Main (System.String[] args) [0x0000b] in :0

$ wine Trizbort.exe
fixme:mscoree:ConfigFileHandler_startElement Unknown element L"configSections" in state 1
fixme:mscoree:ConfigFileHandler_startElement Unknown element L"sectionGroup" in state 3
fixme:mscoree:ConfigFileHandler_startElement Unknown element L"section" in state 3
fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.5.1" not implemented
fixme:mscoree:ConfigFileHandler_startElement Unknown element L"userSettings" in state 1
fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Trizbort.Properties.Settings" in state 3
fixme:mscoree:ConfigFileHandler_startElement Unknown element L"setting" in state 3
fixme:mscoree:ConfigFileHandler_startElement Unknown element L"value" in state 3
fixme:mscoree:CLRMetaHost_GetRuntime Unrecognized version L"v4.0"
fixme:win:EnumDisplayDevicesW ((null),0,0x32e154,0x00000000), stub!
System.NullReferenceException: Object reference not set to an instance of an object
at System.Windows.Forms.Control.Invalidate (System.Drawing.Region region, Boolean invalidateChildren) [0x00000] in :0
at DevComponents.DotNetBar.Bar.RecalcLayout () [0x00000] in :0
at DevComponents.DotNetBar.Bar.OnResize (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.OnSizeChanged (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) [0x00000] in :0
at System.Windows.Forms.Control.UpdateBounds () [0x00000] in :0
at System.Windows.Forms.Control.WmWindowPosChanged (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at DevComponents.DotNetBar.Bar.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in :0
System.NullReferenceException: Object reference not set to an instance of an object
at System.Windows.Forms.Control.Invalidate (System.Drawing.Region region, Boolean invalidateChildren) [0x00000] in :0
at DevComponents.DotNetBar.Bar.RecalcLayout () [0x00000] in :0
at DevComponents.DotNetBar.Bar.OnResize (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.OnSizeChanged (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) [0x00000] in :0
at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height) [0x00000] in :0
at System.Windows.Forms.Control.SetBoundsCoreInternal (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in :0
at System.Windows.Forms.Control.SetBoundsCore (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in :0
at System.Windows.Forms.Control.SetBoundsInternal (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in :0
at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:SetBoundsInternal (int,int,int,int,System.Windows.Forms.BoundsSpecified)
at System.Windows.Forms.Layout.DefaultLayout.LayoutDockedChildren (System.Windows.Forms.Control parent, System.Windows.Forms.Control[] controls) [0x00000] in :0
at System.Windows.Forms.Layout.DefaultLayout.Layout (System.Object container, System.Windows.Forms.LayoutEventArgs args) [0x00000] in :0
at System.Windows.Forms.Control.OnLayout (System.Windows.Forms.LayoutEventArgs levent) [0x00000] in :0
at System.Windows.Forms.ScrollableControl.OnLayout (System.Windows.Forms.LayoutEventArgs levent) [0x00000] in :0
at System.Windows.Forms.ContainerControl.OnLayout (System.Windows.Forms.LayoutEventArgs e) [0x00000] in :0
at System.Windows.Forms.Form.OnLayout (System.Windows.Forms.LayoutEventArgs levent) [0x00000] in :0
at System.Windows.Forms.Control.PerformLayout (System.Windows.Forms.Control affectedControl, System.String affectedProperty) [0x00000] in :0
at System.Windows.Forms.Control.OnResizeInternal (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.OnResize (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Form.OnResize (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.OnSizeChanged (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) [0x00000] in :0
at System.Windows.Forms.Control.UpdateBounds () [0x00000] in :0
at System.Windows.Forms.Control.WmWindowPosChanged (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.ContainerControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Form.WmWindowPosChanged (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Form.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in :0
System.NullReferenceException: Object reference not set to an instance of an object
at System.Windows.Forms.Control.Invalidate (System.Drawing.Region region, Boolean invalidateChildren) [0x00000] in :0
at DevComponents.DotNetBar.Bar.RecalcLayout () [0x00000] in :0
at DevComponents.DotNetBar.Bar.OnVisibleChanged (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.OnParentVisibleChanged (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.OnVisibleChanged (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.ScrollableControl.OnVisibleChanged (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Form.OnVisibleChanged (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.WmShowWindow (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.ContainerControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Form.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in :0
^Cfixme:console:CONSOLE_DefaultHandler Terminating process 2c on event 0
err:mscoree:expect_no_runtimes Process exited with a Mono runtime loaded.

[/code][/spoiler]

I suspect that this will not build. It’s currently using a 3rd party component that I suspect will be windows only (the DevComponents.DotNetBar mentioned in the error). I’m trying to remove these kind of dependencies, but have been slow going on that due to lack of time.

Ah I see, that would certainly explain the errors! I thought Mono would be able to handle that. That’s too bad!
Thanks!