As you may know, I've been creating custom Debian Packages for Mono. Specifically, I've been packaging versions of Mono that I know to support Open Dental.
If anyone is interested, here is a short tutorial on how to use them on your own machine (target distribution is Ubuntu 7.04):
cd ~
mkdir repository
cd repository
wget ftp://opensuse.mirrors.skynet.be/mirror2/opensuse.org/opensuse/repositories/home:/fcarlier/xUbuntu_7.04/all/*.deb
wget ftp://opensuse.mirrors.skynet.be/mirror2/opensuse.org/opensuse/repositories/home:/fcarlier/xUbuntu_7.04/i386/*.deb
Unhandled Exception: System.MethodAccessException: Method `<>c__CompilerGenerated1:<InvalidateSettings>c__4 ()' is inaccessible from method `OpenDental.ContrDocs:InvalidateSettings (OpenDentBusiness.Imaging.ApplySettings,bool)'
at OpenDental.ContrDocs.PictureBox1_SizeChanged (System.Object sender, System.EventArgs e) [0x00000] in /usr/src/packages/BUILD/OpenDental/Main Modules/ContrDocs.cs:1905
at System.Windows.Forms.Control.OnSizeChanged (System.EventArgs e) [0x00029] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:6173
at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) [0x000ec] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4862
at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height) [0x00023] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4824
at System.Windows.Forms.Control.SetBoundsCore (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00122] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4704
at System.Windows.Forms.Control.SetBounds (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x000a8] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4128
at System.Windows.Forms.Control.set_Width (Int32 value) [0x00000] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:3270
at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Width (int)
at OpenDental.ContrDocs.ResizeAll () [0x00027] in /usr/src/packages/BUILD/OpenDental/Main Modules/ContrDocs.cs:601
at OpenDental.ContrDocs.ContrDocs_Resize (System.Object sender, System.EventArgs e) [0x00000] in /usr/src/packages/BUILD/OpenDental/Main Modules/ContrDocs.cs:595
at System.Windows.Forms.Control.OnResize (System.EventArgs e) [0x00028] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:6156
at System.Windows.Forms.UserControl.OnResize (System.EventArgs e) [0x00000] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/UserControl.cs:195
at System.Windows.Forms.Control.OnSizeChanged (System.EventArgs e) [0x00006] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:6170
at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) [0x000ec] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4862
at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height) [0x00023] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4824
at System.Windows.Forms.Control.SetBoundsCore (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00122] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4704
at System.Windows.Forms.Control.SetBounds (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x000a8] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4128
at System.Windows.Forms.Control.set_Size (Size value) [0x00000] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:3099
at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Size (System.Drawing.Size)
at OpenDental.FormOpenDental.InitializeComponent () [0x01a5e] in /usr/src/packages/BUILD/OpenDental/Main Modules/FormOpenDental.cs:937
at OpenDental.FormOpenDental..ctor () [0x0002d] in /usr/src/packages/BUILD/OpenDental/Main Modules/FormOpenDental.cs:175
at (wrapper remoting-invoke-with-check) OpenDental.FormOpenDental:.ctor ()
at OpenDental.FormOpenDental.Main () [0x0000a] in /usr/src/packages/BUILD/OpenDental/Main Modules/FormOpenDental.cs:1022
Unhandled Exception: System.MethodAccessException: Method `<>c__CompilerGenerated1:<InvalidateSettings>c__4 ()' is inaccessible from method `OpenDental.ContrDocs:InvalidateSettings (OpenDentBusiness.Imaging.ApplySettings,bool)'
at OpenDental.ContrDocs.PictureBox1_SizeChanged (System.Object sender, System.EventArgs e) [0x00000] in /usr/src/packages/BUILD/OpenDental/Main Modules/ContrDocs.cs:1905
at System.Windows.Forms.Control.OnSizeChanged (System.EventArgs e) [0x00029] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:6173
at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) [0x000ec] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4862
at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height) [0x00023] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4824
at System.Windows.Forms.Control.SetBoundsCore (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00122] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4704
at System.Windows.Forms.Control.SetBounds (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x000a8] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4128
at System.Windows.Forms.Control.set_Width (Int32 value) [0x00000] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:3270
at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Width (int)
at OpenDental.ContrDocs.ResizeAll () [0x00027] in /usr/src/packages/BUILD/OpenDental/Main Modules/ContrDocs.cs:601
at OpenDental.ContrDocs.ContrDocs_Resize (System.Object sender, System.EventArgs e) [0x00000] in /usr/src/packages/BUILD/OpenDental/Main Modules/ContrDocs.cs:595
at System.Windows.Forms.Control.OnResize (System.EventArgs e) [0x00028] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:6156
at System.Windows.Forms.UserControl.OnResize (System.EventArgs e) [0x00000] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/UserControl.cs:195
at System.Windows.Forms.Control.OnSizeChanged (System.EventArgs e) [0x00006] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:6170
at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) [0x000ec] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4862
at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height) [0x00023] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4824
at System.Windows.Forms.Control.SetBoundsCore (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00122] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4704
at System.Windows.Forms.Control.SetBounds (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x000a8] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:4128
at System.Windows.Forms.Control.set_Size (Size value) [0x00000] in /home/exam/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:3099
at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Size (System.Drawing.Size)
at OpenDental.FormOpenDental.InitializeComponent () [0x01a5e] in /usr/src/packages/BUILD/OpenDental/Main Modules/FormOpenDental.cs:937
at OpenDental.FormOpenDental..ctor () [0x0002d] in /usr/src/packages/BUILD/OpenDental/Main Modules/FormOpenDental.cs:175
at (wrapper remoting-invoke-with-check) OpenDental.FormOpenDental:.ctor ()
at OpenDental.FormOpenDental.Main () [0x0000a] in /usr/src/packages/BUILD/OpenDental/Main Modules/FormOpenDental.cs:1022
Following all the advice I've read here I'm trying to instal Ubuntu, and make it ready for Open-Dental. I'm new to Ubuntu (but not Linux), so I'm trying to understand DEB packages and apt-get, etc.
I've installed Ubuntu 7.10. It pre-installs mono 1.2.4 - though I need 1.2.5 for OD. BUT there's no deb package for 1.2.5.
Here's the question. Should I:
1. uninstall mono 1.2.4, then install 1.2.5 from source?
2. uninstall mono 1.2.4, then use alien to instal from a RPM package?
3. wait for a deb package of 1.2.5 (or get it from ? Somewhere else?)
4. do something else?
You can't use Mono 1.2.4 from the repositories as it won't work. You might as well uninstall all of that from Ubuntu.
So I'd recommend:
1) Wait for Frederik to finish the Debian installer packages. It'll be a lot easier
2) Compile Mono 1.2.5.1 from source as well as libgdiplus. There are some other dependencies that you'll need to mess with to get it all running.
You'll also need nant to compile. Get OpenDental, Mono, MCS and libgdiplus with subversion (as that'll make upgrading any of them a breeze later on as you can simply do sudo svn up mono mcs opendental libgdiplus from the commmand line)
For info on how to get OD from subversion, see here -->
Please note that as of last week there was still a bug that does not let OD compile on Linux quite yet.
Good luck, have fun!
It'll be awhile before OD on Linux is up and running smoothly and ready for a production environment. We're certainly here to help if you need it though
Cheers,
Bill Starck, DDS Big Idea Software, LLC
Developer, EASy(Electronic Anesthesia System) for Open Dental
817-807-1709
TX, USA
wjstarck wrote:I'd recommend:
1) Wait for Frederik to finish the Debian installer packages. It'll be a lot easier
Amen to that!
It'll be awhile before OD on Linux is up and running smoothly and ready for a production environment.
Thanks for the tips, and the offer of more help. I have just stumbled across your postings from when you first managed to get the Linux version running. Are you still running OD under Linux? What doesn't work - and is it critical, or just nuisance?
I would certainly like to see this on Linux eventually, but I may just cop out and go with the Windows version for now, at least to familiarise myself with the system. I suppose it's the line of least resistance (except for my reluctance to touch anything made by Micro$oft).
Just to be clear, there are several issues at hand.
It *is* possible to copy over an OD application directory from Windows to Linux and have it run on Mono. So you don't need to try to compile it on Linux and that will save you a lot of grief. OTOH, when you compile directly on Mono (or use Frederik's Debian installer), the program is optimized to run on Linux.
The last time I fooled with it, OD Linux had a nasty bug wherein the program would crash if you tried to double click on a progress note in the chart. I don't know if that has been fixed yet or not, as I have not had time to fool with it lately.
Cheers,
Bill Starck, DDS Big Idea Software, LLC
Developer, EASy(Electronic Anesthesia System) for Open Dental
817-807-1709
TX, USA
hi!
is there any progress yet with linux fixes? i'm trying to compile from the source on ubuntu 7.10, lots of errors -
error CS0246: The type or namespace name `PdfSharp' could not be found.
and similar about MigraDoc etc.