Debian Packages for Mono

For complex topics that regular users would not be interested in. For power users and database administrators.
Post Reply
fcarlier
Posts: 75
Joined: Tue Jun 19, 2007 3:12 am
Location: Ghent, Belgium

Debian Packages for Mono

Post by fcarlier » Sun Sep 16, 2007 10:42 am

Hi,

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):

1. Download the packages.

Code: Select all

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
2. Create a repository

Code: Select all

cd ..
dpkg-scanpackages repository/ /dev/null | gzip > repository/Packages.gz
3. Update your apt sources list

Code: Select all

sudo nano /etc/apt/sources.list
and add this line:

Code: Select all

deb file:/home/<username> repository/
Important:: replace <username> with your own user name!

4. Install mono

Code: Select all

sudo apt-get update
sudo apt-get install mono
5. Test

Code: Select all

mono --version
.

You could even try out Open Dental 4.7 (a newer version is in the pipeline, but the Suse Build Service is having trouble right now):

Code: Select all

sudo apt-get install opendental
mono /share/opendental/bin/OpenDental.exe
.

You may need to install the package libmono-orcale2.0-cli.

Have fun!
Frederik Carlier

fcarlier
Posts: 75
Joined: Tue Jun 19, 2007 3:12 am
Location: Ghent, Belgium

Post by fcarlier » Mon Sep 17, 2007 12:23 pm

I'm happy to announce that it is now possible to use my open dental repository for installing Open Dental on Ubuntu Feisty. Proceed as follows:

1. Edit your /etc/apt.sources list. Add the following line:

Code: Select all

deb http://opendental.carlier-online.be/apt/ feisty main
2. Install the GPG key

Code: Select all

wget http://opendental.carlier-online.be/apt/key.gpg
cat key.gpg | sudo apt-key add -
3. Update apt

Code: Select all

sudo apt-get update
sudo apt-get upgrade
4. Install opendental

Code: Select all

sudo apt-get install libmono-oracle2.0-cil opendental
5. Launch opendental

Code: Select all

mono --debug /share/opendental/bin/OpenDental.exe
There you go. Let me know if it works!
Frederik Carlier

User avatar
wjstarck
Posts: 936
Joined: Tue Jul 31, 2007 7:18 am
Location: Keller, TX
Contact:

Post by wjstarck » Mon Sep 17, 2007 12:50 pm

Nice, thanks.

Hmm, I get:

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

fcarlier
Posts: 75
Joined: Tue Jun 19, 2007 3:12 am
Location: Ghent, Belgium

Post by fcarlier » Mon Sep 17, 2007 1:10 pm

I'll investigate. It can take a couple of days.
Frederik Carlier

fcarlier
Posts: 75
Joined: Tue Jun 19, 2007 3:12 am
Location: Ghent, Belgium

Post by fcarlier » Wed Sep 19, 2007 1:05 pm

If time permits, you can try using the latest version (not in my repository yet, but for download at http://download.opensuse.org/repositori ... 1_i386.deb)

Code: Select all

sudo dpgk -r opendental
wget http://download.opensuse.org/repositories/home:/fcarlier/xUbuntu_7.04/i386/opendental_5.2-0opendental1_i386.deb
sudo dpkg -i opendental_5.2-0opendental1_i386.deb
mono --debug /share/opendental/bin/OpenDental.exe
Be aware: you need to connect to a database that is already up to date!
Frederik Carlier

User avatar
wjstarck
Posts: 936
Joined: Tue Jul 31, 2007 7:18 am
Location: Keller, TX
Contact:

Post by wjstarck » Wed Sep 19, 2007 3:32 pm

Thanks Frederik.

I'll give that the ol' college try...

Cheers,

Bill Starck, DDS

User avatar
wjstarck
Posts: 936
Joined: Tue Jul 31, 2007 7:18 am
Location: Keller, TX
Contact:

Post by wjstarck » Fri Sep 21, 2007 12:55 pm

Hmmm...still dying:

exam@exam:~$ sudo mono --debug /share/opendental/bin/OpenDental.exe

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


Cheers,

Bill Starck, DDS

grantd
Posts: 4
Joined: Fri Nov 23, 2007 5:55 am

Mono 1.2.5 on Ubuntu - help please?

Post by grantd » Fri Nov 23, 2007 6:07 am

Hi

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?

Help would be MUCH appreciated....

User avatar
wjstarck
Posts: 936
Joined: Tue Jul 31, 2007 7:18 am
Location: Keller, TX
Contact:

Post by wjstarck » Fri Nov 23, 2007 1:51 pm

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 -->

http://www.open-dent.com/manual/downloads.html

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 :P
Cheers,

Bill Starck, DDS
Big Idea Software, LLC
Developer, EASy(Electronic Anesthesia System) for Open Dental
817-807-1709
TX, USA

grantd
Posts: 4
Joined: Fri Nov 23, 2007 5:55 am

Post by grantd » Mon Nov 26, 2007 9:22 am

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).

User avatar
wjstarck
Posts: 936
Joined: Tue Jul 31, 2007 7:18 am
Location: Keller, TX
Contact:

Post by wjstarck » Mon Nov 26, 2007 3:46 pm

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

et7007
Posts: 1
Joined: Fri Jan 04, 2008 6:57 am

Post by et7007 » Fri Jan 04, 2008 7:16 am

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.

are these errors related to the same problem?

thanks!

User avatar
jordansparks
Site Admin
Posts: 5744
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Post by jordansparks » Sat Jan 05, 2008 6:48 am

It will run on Linux/Mono now. At least if you compile it in Windows first. I couldn't tell you about those errors.
Jordan Sparks, DMD
http://www.opendental.com

Post Reply