Problem installing native Linux version
Problem installing native Linux version
Hello-
I am trying to install the native Linux version of 4.7 as per the instructions detailed here:
http://opendental.carlier-online.be/ubuntu.htm
Mono installs OK, but when I try to install OD, I get
E: /var/cache/apt/archives/libgdiplus_1.2.3.50-0opendental1_i386.deb: trying to overwrite `/usr/lib/libmono-profiler-aot.so.0.0.0', which is also in package libmono0
???
Cheers,
Bill Starck, DDS
I am trying to install the native Linux version of 4.7 as per the instructions detailed here:
http://opendental.carlier-online.be/ubuntu.htm
Mono installs OK, but when I try to install OD, I get
E: /var/cache/apt/archives/libgdiplus_1.2.3.50-0opendental1_i386.deb: trying to overwrite `/usr/lib/libmono-profiler-aot.so.0.0.0', which is also in package libmono0
???
Cheers,
Bill Starck, DDS
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
Just keep updating your mono daily tarball and the delete your od source and recheckout with subversion to download the newest version of od, compile it on VS2005, and one day mono will be able to execute the mono, rather it be a new feature of mono, or a bugfix in od. Patience.. I waited for 2-3 years just to get to run Open Dental on linux, and though it was for a short time, in reality I understand that mono has a long way to go to keep up with the bastards at microsoft. But you cant hold it against jordan for wanting to use new functions in .net that arent in mono yet. It makes open dental better, and since 99% of the people who use it, run with windows, I would rather see more functionality with the software itself, instead of having to hold back features and code just because mono doesnt support it yet. One day mono will, and well, lets just hope we dont see any .net 3.0 code in open dental anytime soon...
Just being honest here... but I am just a user, not the author.
![Cool 8)](./images/smilies/icon_cool.gif)
The current development version of Mono (which is soon to be released as Mono 1.2.5), is able of running Open Dental on Linux.
However, there exist no Ubuntu packages for this version of Mono (expect it in Ubuntu 8.04). That's why installing Open Dental using Ubuntu packages doesn't quite work yet.
A way of installing Open Dental on any Linux machine is doing the following (you'll need some advanced skills).
First, you'll need to bootstrap Mono from a released package:
Then, you can get the latest version of Mono:
Compile it:
Next, you'll need to install nant:
Finally, you can compile Open Dental:
After that, you'll need to install mysql on your local computer, and execute this script: http://www.open-dent.com/opendental.sql.
Obviously, this is all just for testing purposes. Don't try this on your main computer! The goal of the Ubuntu packages is to simplify this process to:
but that's a work in progress.
Good luck!
However, there exist no Ubuntu packages for this version of Mono (expect it in Ubuntu 8.04). That's why installing Open Dental using Ubuntu packages doesn't quite work yet.
A way of installing Open Dental on any Linux machine is doing the following (you'll need some advanced skills).
First, you'll need to bootstrap Mono from a released package:
Code: Select all
wget http://go-mono.com/sources/mono/mono-1.2.4.tar.bz2
tar -xvjf mono-1.2.4.tar.bz2
cd mono-1.2.4.tar.bz
./configure
make
sudo make install
cd..
Code: Select all
svn co svn://anonsvn.mono-project.com/source/libgdiplus
svn co svn://anonsvn.mono-project.com/source/mono
svn co svn://anonsvn.mono-project.com/source/mcs
Code: Select all
cd libgdiplus
./autogen.sh
make
sudo make install
cd ..
cd mono
make
sudo make install
cd ..
Code: Select all
cvs -d :pserver:anonymous@nant.cvs.sf.net:/cvsroot/nant co nant
cd nant
make
sudo make install
cd ..
Code: Select all
svn co https://70.90.133.65:23793/svn/opendental/head/ opendental
cd opendental
make
sudo make install
Obviously, this is all just for testing purposes. Don't try this on your main computer! The goal of the Ubuntu packages is to simplify this process to:
Code: Select all
apt-get install opendental
Good luck!
Frederik Carlier
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
Cool!
fcarlier wrote:The current development version of Mono (which is soon to be released as Mono 1.2.5), is able of running Open Dental on Linux.
However, there exist no Ubuntu packages for this version of Mono (expect it in Ubuntu 8.04). That's why installing Open Dental using Ubuntu packages doesn't quite work yet.
A way of installing Open Dental on any Linux machine is doing the following (you'll need some advanced skills).
First, you'll need to bootstrap Mono from a released package:Then, you can get the latest version of Mono:Code: Select all
wget http://go-mono.com/sources/mono/mono-1.2.4.tar.bz2 tar -xvjf mono-1.2.4.tar.bz2 cd mono-1.2.4.tar.bz ./configure make sudo make install cd..
Compile it:Code: Select all
svn co svn://anonsvn.mono-project.com/source/libgdiplus svn co svn://anonsvn.mono-project.com/source/mono svn co svn://anonsvn.mono-project.com/source/mcs
Next, you'll need to install nant:Code: Select all
cd libgdiplus ./autogen.sh make sudo make install cd .. cd mono make sudo make install cd ..
Finally, you can compile Open Dental:Code: Select all
cvs -d :pserver:anonymous@nant.cvs.sf.net:/cvsroot/nant co nant cd nant make sudo make install cd ..
After that, you'll need to install mysql on your local computer, and execute this script: http://www.open-dent.com/opendental.sql.Code: Select all
svn co https://70.90.133.65:23793/svn/opendental/head/ opendental cd opendental make sudo make install
Obviously, this is all just for testing purposes. Don't try this on your main computer! The goal of the Ubuntu packages is to simplify this process to:but that's a work in progress.Code: Select all
apt-get install opendental
Good luck!
Trying mono 1.2.5 preview5 and opendental latest revision tonight!
Hmmm....
I still get
[nant] /home/wjs/opendental/ODR/ODR.build build
Buildfile: file:///home/wjs/opendental/ODR/ODR.build
Target framework: Mono 2.0 Profile
Target(s) specified: build
build:
[csc] Compiling 16 files to '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin/ODR.dll'.
[resgen] Error: Invalid ResX input.
[resgen] Inner exception: A null reference or invalid value was found [GDI+ status: InvalidParameter] Line 116, position 5.
BUILD FAILED
External Program Failed: /tmp/tmp32210956.tmp/resgen.exe (return code was 1)
Total time: 6.4 seconds.
BUILD FAILED
Nested build failed. Refer to build log for exact reason.
Total time: 21 seconds.
make: *** [all] Error 1
when I try to build open dental
???
Bill Starck, DDS
I still get
[nant] /home/wjs/opendental/ODR/ODR.build build
Buildfile: file:///home/wjs/opendental/ODR/ODR.build
Target framework: Mono 2.0 Profile
Target(s) specified: build
build:
[csc] Compiling 16 files to '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin/ODR.dll'.
[resgen] Error: Invalid ResX input.
[resgen] Inner exception: A null reference or invalid value was found [GDI+ status: InvalidParameter] Line 116, position 5.
BUILD FAILED
External Program Failed: /tmp/tmp32210956.tmp/resgen.exe (return code was 1)
Total time: 6.4 seconds.
BUILD FAILED
Nested build failed. Refer to build log for exact reason.
Total time: 21 seconds.
make: *** [all] Error 1
when I try to build open dental
???
Bill Starck, DDS
- jordansparks
- Site Admin
- Posts: 5746
- Joined: Sun Jun 17, 2007 3:59 pm
- Location: Salem, Oregon
- Contact:
I'm not quite sure why people are even trying to build on Linux. It's so much easier just to copy your whole Open Dental folder from a working Windows machine over to your Linux machine. But that's just me.
Jordan Sparks, DMD
http://www.opendental.com
http://www.opendental.com
Sure:
$nant -v
NAnt 0.86 (Build 0.86.2792.0; dev; 8/24/2007)
Copyright (C) 2001-2007 Gerry Shaw
http://nant.sourceforge.net
Buildfile: file:///home/wjs/opendental/opendental.build
Target framework: Mono 2.0 Profile
Base Directory: /home/wjs/opendental.
Target(s) specified: build
[tstamp] Saturday, August 25, 2007 5:27:03 PM.
[tstamp] build.date = 2007-08-25.
init:
debug:
set-framework-configuration:
set-mono-2.0-framework-configuration:
build:
[echo] Build Directory is /home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug
[nant] /home/wjs/opendental/CodeBase/CodeBase.build build
Buildfile: file:///home/wjs/opendental/CodeBase/CodeBase.build
Target framework: Mono 2.0 Profile
Base Directory: /home/wjs/opendental/CodeBase.
Target(s) specified: build
build:
[copy] Copying 0 files to '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin'.
BUILD SUCCEEDED
Total time: 0.2 seconds.
[nant] /home/wjs/opendental/OpenDentBusiness/OpenDentBusiness.build build
Buildfile: file:///home/wjs/opendental/OpenDentBusiness/OpenDentBusiness.build
Target framework: Mono 2.0 Profile
Base Directory: /home/wjs/opendental/OpenDentBusiness.
Target(s) specified: build
build:
[copy] Copying 0 files to '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin'.
BUILD SUCCEEDED
Total time: 0.3 seconds.
[nant] /home/wjs/opendental/ODR/ODR.build build
Buildfile: file:///home/wjs/opendental/ODR/ODR.build
Target framework: Mono 2.0 Profile
Base Directory: /home/wjs/opendental/ODR.
Target(s) specified: build
build:
[csc] Doc file '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin/ODR.xml' does not exist, recompiling.
[csc] Compiling 16 files to '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin/ODR.dll'.
[resgen] Output file '/home/wjs/opendental/ODR/ComboBoxMulti.resources' does not exist, rebuilding.
[resgen] Output file '/home/wjs/opendental/ODR/FormParameterInput.resources' does not exist, rebuilding.
[resgen] Output file '/home/wjs/opendental/ODR/ValidDate.resources' does not exist, rebuilding.
[resgen] Output file '/home/wjs/opendental/ODR/ValidDouble.resources' does not exist, rebuilding.
[resgen] Output file '/home/wjs/opendental/ODR/ValidNumber.resources' does not exist, rebuilding.
[copy] Copying 10 files to '/tmp/tmp39822716.tmp'.
[copy] Copying '/usr/local/lib/mono/2.0/System.Windows.Forms.dll' to '/tmp/tmp39822716.tmp/System.Windows.Forms.dll'.
[copy] Copying '/usr/local/lib/mono/2.0/System.Xml.dll' to '/tmp/tmp39822716.tmp/System.Xml.dll'.
[copy] Copying '/usr/local/lib/mono/2.0/System.Data.dll' to '/tmp/tmp39822716.tmp/System.Data.dll'.
[copy] Copying '/usr/local/lib/mono/2.0/System.Drawing.dll' to '/tmp/tmp39822716.tmp/System.Drawing.dll'.
[copy] Copying '/usr/local/lib/mono/2.0/resgen.exe.mdb' to '/tmp/tmp39822716.tmp/resgen.exe.mdb'.
[copy] Copying '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin/CodeBase.dll' to '/tmp/tmp39822716.tmp/CodeBase.dll'.
[copy] Copying '/home/wjs/opendental/Required dlls/MySql.Data.dll' to '/tmp/tmp39822716.tmp/MySql.Data.dll'.
[copy] Copying '/usr/local/lib/mono/2.0/resgen.exe' to '/tmp/tmp39822716.tmp/resgen.exe'.
[copy] Copying '/usr/local/lib/mono/2.0/System.dll' to '/tmp/tmp39822716.tmp/System.dll'.
[copy] Copying '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin/OpenDentBusiness.dll' to '/tmp/tmp39822716.tmp/OpenDentBusiness.dll'.
[resgen] Starting '/usr/local/bin/mono ("/tmp/tmp39822716.tmp/resgen.exe" /useSourcePath /compile "/home/wjs/opendental/ODR/ComboBoxMulti.resx,/home/wjs/opendental/ODR/ComboBoxMulti.resources" "/home/wjs/opendental/ODR/FormParameterInput.resx,/home/wjs/opendental/ODR/FormParameterInput.resources" "/home/wjs/opendental/ODR/ValidDate.resx,/home/wjs/opendental/ODR/ValidDate.resources" "/home/wjs/opendental/ODR/ValidDouble.resx,/home/wjs/opendental/ODR/ValidDouble.resources" "/home/wjs/opendental/ODR/ValidNumber.resx,/home/wjs/opendental/ODR/ValidNumber.resources" )' in '/tmp/tmp39822716.tmp'
[resgen] Error: Invalid ResX input.
[resgen] Inner exception: A null reference or invalid value was found [GDI+ status: InvalidParameter] Line 116, position 5.
BUILD FAILED
External Program Failed: /tmp/tmp39822716.tmp/resgen.exe (return code was 1):
NAnt.Core.BuildException: External Program Failed: /tmp/tmp39822716.tmp/resgen.exe (return code was 1)
at NAnt.Core.Tasks.ExternalProgramBase.ExecuteTask () [0x00000]
Total time: 4.1 seconds.
BUILD FAILED
Nested build failed. Refer to build log for exact reason.:
NAnt.Core.BuildException: Nested build failed. Refer to build log for exact reason.
at NAnt.Core.Tasks.NAntTask.RunBuild (System.IO.FileInfo buildFile) [0x00000]
at NAnt.Core.Tasks.NAntTask.ExecuteTask () [0x00000]
at NAnt.Core.Task.Execute () [0x00000]
Total time: 4.9 seconds.
Cheers,
Bill Starck, DDS
$nant -v
NAnt 0.86 (Build 0.86.2792.0; dev; 8/24/2007)
Copyright (C) 2001-2007 Gerry Shaw
http://nant.sourceforge.net
Buildfile: file:///home/wjs/opendental/opendental.build
Target framework: Mono 2.0 Profile
Base Directory: /home/wjs/opendental.
Target(s) specified: build
[tstamp] Saturday, August 25, 2007 5:27:03 PM.
[tstamp] build.date = 2007-08-25.
init:
debug:
set-framework-configuration:
set-mono-2.0-framework-configuration:
build:
[echo] Build Directory is /home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug
[nant] /home/wjs/opendental/CodeBase/CodeBase.build build
Buildfile: file:///home/wjs/opendental/CodeBase/CodeBase.build
Target framework: Mono 2.0 Profile
Base Directory: /home/wjs/opendental/CodeBase.
Target(s) specified: build
build:
[copy] Copying 0 files to '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin'.
BUILD SUCCEEDED
Total time: 0.2 seconds.
[nant] /home/wjs/opendental/OpenDentBusiness/OpenDentBusiness.build build
Buildfile: file:///home/wjs/opendental/OpenDentBusiness/OpenDentBusiness.build
Target framework: Mono 2.0 Profile
Base Directory: /home/wjs/opendental/OpenDentBusiness.
Target(s) specified: build
build:
[copy] Copying 0 files to '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin'.
BUILD SUCCEEDED
Total time: 0.3 seconds.
[nant] /home/wjs/opendental/ODR/ODR.build build
Buildfile: file:///home/wjs/opendental/ODR/ODR.build
Target framework: Mono 2.0 Profile
Base Directory: /home/wjs/opendental/ODR.
Target(s) specified: build
build:
[csc] Doc file '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin/ODR.xml' does not exist, recompiling.
[csc] Compiling 16 files to '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin/ODR.dll'.
[resgen] Output file '/home/wjs/opendental/ODR/ComboBoxMulti.resources' does not exist, rebuilding.
[resgen] Output file '/home/wjs/opendental/ODR/FormParameterInput.resources' does not exist, rebuilding.
[resgen] Output file '/home/wjs/opendental/ODR/ValidDate.resources' does not exist, rebuilding.
[resgen] Output file '/home/wjs/opendental/ODR/ValidDouble.resources' does not exist, rebuilding.
[resgen] Output file '/home/wjs/opendental/ODR/ValidNumber.resources' does not exist, rebuilding.
[copy] Copying 10 files to '/tmp/tmp39822716.tmp'.
[copy] Copying '/usr/local/lib/mono/2.0/System.Windows.Forms.dll' to '/tmp/tmp39822716.tmp/System.Windows.Forms.dll'.
[copy] Copying '/usr/local/lib/mono/2.0/System.Xml.dll' to '/tmp/tmp39822716.tmp/System.Xml.dll'.
[copy] Copying '/usr/local/lib/mono/2.0/System.Data.dll' to '/tmp/tmp39822716.tmp/System.Data.dll'.
[copy] Copying '/usr/local/lib/mono/2.0/System.Drawing.dll' to '/tmp/tmp39822716.tmp/System.Drawing.dll'.
[copy] Copying '/usr/local/lib/mono/2.0/resgen.exe.mdb' to '/tmp/tmp39822716.tmp/resgen.exe.mdb'.
[copy] Copying '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin/CodeBase.dll' to '/tmp/tmp39822716.tmp/CodeBase.dll'.
[copy] Copying '/home/wjs/opendental/Required dlls/MySql.Data.dll' to '/tmp/tmp39822716.tmp/MySql.Data.dll'.
[copy] Copying '/usr/local/lib/mono/2.0/resgen.exe' to '/tmp/tmp39822716.tmp/resgen.exe'.
[copy] Copying '/usr/local/lib/mono/2.0/System.dll' to '/tmp/tmp39822716.tmp/System.dll'.
[copy] Copying '/home/wjs/opendental/build/mono-2.0.unix/opendental-5.1-debug/bin/OpenDentBusiness.dll' to '/tmp/tmp39822716.tmp/OpenDentBusiness.dll'.
[resgen] Starting '/usr/local/bin/mono ("/tmp/tmp39822716.tmp/resgen.exe" /useSourcePath /compile "/home/wjs/opendental/ODR/ComboBoxMulti.resx,/home/wjs/opendental/ODR/ComboBoxMulti.resources" "/home/wjs/opendental/ODR/FormParameterInput.resx,/home/wjs/opendental/ODR/FormParameterInput.resources" "/home/wjs/opendental/ODR/ValidDate.resx,/home/wjs/opendental/ODR/ValidDate.resources" "/home/wjs/opendental/ODR/ValidDouble.resx,/home/wjs/opendental/ODR/ValidDouble.resources" "/home/wjs/opendental/ODR/ValidNumber.resx,/home/wjs/opendental/ODR/ValidNumber.resources" )' in '/tmp/tmp39822716.tmp'
[resgen] Error: Invalid ResX input.
[resgen] Inner exception: A null reference or invalid value was found [GDI+ status: InvalidParameter] Line 116, position 5.
BUILD FAILED
External Program Failed: /tmp/tmp39822716.tmp/resgen.exe (return code was 1):
NAnt.Core.BuildException: External Program Failed: /tmp/tmp39822716.tmp/resgen.exe (return code was 1)
at NAnt.Core.Tasks.ExternalProgramBase.ExecuteTask () [0x00000]
Total time: 4.1 seconds.
BUILD FAILED
Nested build failed. Refer to build log for exact reason.:
NAnt.Core.BuildException: Nested build failed. Refer to build log for exact reason.
at NAnt.Core.Tasks.NAntTask.RunBuild (System.IO.FileInfo buildFile) [0x00000]
at NAnt.Core.Tasks.NAntTask.ExecuteTask () [0x00000]
at NAnt.Core.Task.Execute () [0x00000]
Total time: 4.9 seconds.
Cheers,
Bill Starck, DDS
- jordansparks
- Site Admin
- Posts: 5746
- Joined: Sun Jun 17, 2007 3:59 pm
- Location: Salem, Oregon
- Contact:
Based on your last post, I committed a possible fix just now.
Jordan Sparks, DMD
http://www.opendental.com
http://www.opendental.com
Jordan: was that build 688? If so, it fails the same way. ![Sad :(](./images/smilies/icon_sad.gif)
Frederik: Linux is Ubunto 7.04, nant is from CVS
I googled and ran across this:
http://www.mail-archive.com/nant-develo ... 07305.html
Thanks guys,
Bill Starck, DDS
![Sad :(](./images/smilies/icon_sad.gif)
Frederik: Linux is Ubunto 7.04, nant is from CVS
I googled and ran across this:
http://www.mail-archive.com/nant-develo ... 07305.html
Thanks guys,
Bill Starck, DDS
Try running
and repeat that for each file you get the error message on. The error is because resgen fails, but it is know to be rather sparse on details when it fails. If you try it file-by-file, you should be able to pin-point the issue to one particular file. That should make it easier to reproduce (and fix) the issue.
Good luck.
Code: Select all
resgen /useSourcePath /compile "/home/wjs/opendental/ODR/ComboBoxMulti.resx"
Good luck.
Frederik Carlier
If I run that command on ComboBoxMulti.resx, I get the same error:
wjs@ubu:~/opendental$ resgen2 -usesourcepath -compile /home/wjs/opendental/ODR/ComboBoxMulti.resx
Error: Invalid ResX input.
Inner exception: A null reference or invalid value was found [GDI+ status: InvalidParameter] Line 116, position 5.
Cheers,
Bill Starck, DDS
wjs@ubu:~/opendental$ resgen2 -usesourcepath -compile /home/wjs/opendental/ODR/ComboBoxMulti.resx
Error: Invalid ResX input.
Inner exception: A null reference or invalid value was found [GDI+ status: InvalidParameter] Line 116, position 5.
Cheers,
Bill Starck, DDS
You are getting an error compiling a resource file. Line 116 is where a System.Drawing.Bitmap is being declared. Mono is trying to load this bitmap into memory. You get a libgdiplus exception.
This leads me to believe that you may have a missing codec on your system. Can you please try to run ./configure (or ./autogen.sh) in your libgdiplus source folder? Your output should be:
If not, you'll need to install the required -dev package from Ubuntu. These should be the required packages.
Frederik.
This leads me to believe that you may have a missing codec on your system. Can you please try to run ./configure (or ./autogen.sh) in your libgdiplus source folder? Your output should be:
Code: Select all
fcarlier@col-clt-05:~/development/mono/libgdiplus$ ./autogen.sh
**Warning**: I am going to run `configure' with no arguments.
If you wish to pass any to it, please specify them on the
`./autogen.sh' command line.
<more output here>
---
Configuration summary
* Installation prefix = /usr/local
* Cairo = internal
* Text = cairo
* EXIF tags = yes
* Codecs supported:
- TIFF: yes
- JPEG: yes
- GIF: yes
- PNG: yes
NOTE: if any of the above say 'no' you may install the
corresponding development packages for them, rerun
autogen.sh to include them in the build.
---
Now type `make' to compile
- TIFF: libtiff4-dev
JPEG: libjpeg62-dev
GIF: libgif-dev
PNG: libpng12-dev
Frederik.
Frederik Carlier
YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS!!!!!!!!!!!
http://www.tigernet.net/od_ubuntu.png
Thank you for Frederik and Jordan![Wink ;)](./images/smilies/icon_wink.gif)
One more thing - I have copied over my database but I get a "Table 'preference' is read only"
Thanks again,
Bill Starck, DDS
http://www.tigernet.net/od_ubuntu.png
Thank you for Frederik and Jordan
![Wink ;)](./images/smilies/icon_wink.gif)
One more thing - I have copied over my database but I get a "Table 'preference' is read only"
Thanks again,
Bill Starck, DDS
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
I caught up to you guys tonight....
![Image](http://www.dentalcom.net/oderror.jpg)
sudo apt-get install build-essential
sudo apt-get install bison
sudo apt-get install automake1.9
sudo apt-get install libgif4
sudo apt-get install libgif-dev
sudo apt-get install libtiff4-dev
sudo apt-get install libjpeg62-dev
sudo apt-get install libpng12-dev
sudo apt-get install subversion
sudo apt-get install libtool
sudo apt-get install libx11-dev
sudo apt-get install libfreetpye6-dev
sudo apt-get install libcairo2-dev
sudo apt-get install libglitz1
sudo apt-get install libglitz1-dev
sudo apt-get install cvs
wget http://go-mono.com/sources/mono/mono-1.2.5.tar.bz2
tar -xvjf mono-1.2.5.tar.bz2
cd mono-1.2.5
sudo ./configure
sudo make
sudo make install
cd..
svn co svn://anonsvn.mono-project.com/source/trunk/libgdiplus libgdiplus
svn co svn://anonsvn.mono-project.com/source/trunk/mono mono
svn co svn://anonsvn.mono-project.com/source/trunk/mcs mcs
cd libgdiplus
sudo ./autogen.sh --enable-glitz
sudo make
sudo make install
cd ..
cd mono
sudo ./autogen.sh
sudo make
sudo make install
cd ..
cvs -d :pserver:anonymous@nant.cvs.sf.net:/cvsroot/nant co nant
cd nant
sudo make
sudo make install
cd ..
svn co https://70.90.133.65:23793/svn/opendental/head/ opendental
cd opendental
sudo make
sudo make install
then perhaps find . -name OpenDental.exe to figure out where it is!
Be sure /usr/local/lib exists in /etc/ld.so.conf! ran ldconfig yet?
Add this to the mono config for reports... be sure to add a printer.
<dllmap dll="libcups" target="libcups.so.2"/>
then I guess
sudo apt-get install mysql-server
sudo apt-get install mysql-administrator
either use myql or mysql-admin to restore/create the open dental database.
By the way, frank it happens after a successful database conversion. Thanks!!!!!!![Very Happy :D](./images/smilies/icon_biggrin.gif)
![Image](http://www.dentalcom.net/oderror.jpg)
sudo apt-get install build-essential
sudo apt-get install bison
sudo apt-get install automake1.9
sudo apt-get install libgif4
sudo apt-get install libgif-dev
sudo apt-get install libtiff4-dev
sudo apt-get install libjpeg62-dev
sudo apt-get install libpng12-dev
sudo apt-get install subversion
sudo apt-get install libtool
sudo apt-get install libx11-dev
sudo apt-get install libfreetpye6-dev
sudo apt-get install libcairo2-dev
sudo apt-get install libglitz1
sudo apt-get install libglitz1-dev
sudo apt-get install cvs
wget http://go-mono.com/sources/mono/mono-1.2.5.tar.bz2
tar -xvjf mono-1.2.5.tar.bz2
cd mono-1.2.5
sudo ./configure
sudo make
sudo make install
cd..
svn co svn://anonsvn.mono-project.com/source/trunk/libgdiplus libgdiplus
svn co svn://anonsvn.mono-project.com/source/trunk/mono mono
svn co svn://anonsvn.mono-project.com/source/trunk/mcs mcs
cd libgdiplus
sudo ./autogen.sh --enable-glitz
sudo make
sudo make install
cd ..
cd mono
sudo ./autogen.sh
sudo make
sudo make install
cd ..
cvs -d :pserver:anonymous@nant.cvs.sf.net:/cvsroot/nant co nant
cd nant
sudo make
sudo make install
cd ..
svn co https://70.90.133.65:23793/svn/opendental/head/ opendental
cd opendental
sudo make
sudo make install
then perhaps find . -name OpenDental.exe to figure out where it is!
Be sure /usr/local/lib exists in /etc/ld.so.conf! ran ldconfig yet?
Add this to the mono config for reports... be sure to add a printer.
<dllmap dll="libcups" target="libcups.so.2"/>
then I guess
sudo apt-get install mysql-server
sudo apt-get install mysql-administrator
either use myql or mysql-admin to restore/create the open dental database.
By the way, frank it happens after a successful database conversion. Thanks!!!!!!
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Last edited by Justin Shafer on Wed Sep 05, 2007 11:47 pm, edited 9 times in total.
Hi,
Glad to see more people manage to build & start Open Dental on Linux! Just for the record: what you're seeing now is a know issue in Mono:
http://bugzilla.ximian.com/show_bug.cgi?id=82620 .
There isn't an ETA for a fix yet, but I think you can expect it pretty soon (as the same bug affects GTK# as well).
Frederik.
Glad to see more people manage to build & start Open Dental on Linux! Just for the record: what you're seeing now is a know issue in Mono:
http://bugzilla.ximian.com/show_bug.cgi?id=82620 .
There isn't an ETA for a fix yet, but I think you can expect it pretty soon (as the same bug affects GTK# as well).
Frederik.
Frederik Carlier
Justin
sudo svn up mono mcs libgdiplus
Saves on some typing
Cheers,
Bill Starck, DDS
Once you get these 3 installed, you can use the easier commandsvn co svn://anonsvn.mono-project.com/source/trunk/libgdiplus libgdiplus
svn co svn://anonsvn.mono-project.com/source/trunk/mono mono
svn co svn://anonsvn.mono-project.com/source/trunk/mcs mcs
sudo svn up mono mcs libgdiplus
Saves on some typing
![Wink :wink:](./images/smilies/icon_wink.gif)
Cheers,
Bill Starck, DDS
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
Yeah yeah yeah!wjstarck wrote:Justin
Once you get these 3 installed, you can use the easier commandsvn co svn://anonsvn.mono-project.com/source/trunk/libgdiplus libgdiplus
svn co svn://anonsvn.mono-project.com/source/trunk/mono mono
svn co svn://anonsvn.mono-project.com/source/trunk/mcs mcs
sudo svn up mono mcs libgdiplus
Saves on some typing![]()
Cheers,
Bill Starck, DDS
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
![Laughing :lol:](./images/smilies/icon_lol.gif)
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
Yay and Nay
OpenDental5.2 compiled on VS2005 and ran in mono. If compiled in mono you get the error.
![Image](http://www.dentalcom.net/od52mono.jpg)
OpenDental5.1 wont compile on VS2005 or mono for me right now
OpenDental 5.0
Unhandled Exception: System.ArgumentException: SelectionStart cannot be less than MinDate
at System.Windows.Forms.MonthCalendar.set_SelectionRange (System.Windows.Forms.SelectionRange value) [0x00000]
at System.Windows.Forms.MonthCalendar.SetSelectionRange (DateTime date1, DateTime date2) [0x00000]
at System.Windows.Forms.MonthCalendar.SetDate (DateTime date) [0x00000]
at (wrapper remoting-invoke-with-check) System.Windows.Forms.MonthCalendar:SetDate (System.DateTime)
at OpenDental.ContrAppt.RefreshPeriod () [0x00000]
at OpenDental.ContrAppt.ModuleSelected (Int32 patNum) [0x00000]
at OpenDental.ContrAppt.comboView_SelectedIndexChanged (System.Object sender, System.EventArgs e) [0x00000]
at System.Windows.Forms.ComboBox.OnSelectedIndexChanged (System.EventArgs e) [0x00000]
at System.Windows.Forms.ComboBox.set_SelectedIndex (Int32 value) [0x00000]
at OpenDental.ContrAppt.FillViews () [0x00000]
at (wrapper remoting-invoke-with-check) OpenDental.ContrAppt:FillViews ()
at OpenDental.FormOpenDental.RefreshLocalData (InvalidTypes itypes, Boolean isStartingUp) [0x00000]
at OpenDental.FormOpenDental.FormOpenDental_Load (System.Object sender, System.EventArgs e) [0x00000]
at System.Windows.Forms.Form.OnLoad (System.EventArgs e) [0x00000]
at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) [0x00000]
at System.Windows.Forms.Form.OnCreateControl () [0x00000]
at System.Windows.Forms.Control.CreateControl () [0x00000]
at System.Windows.Forms.Control.SetVisibleCore (Boolean value) [0x00000]
at System.Windows.Forms.Form.SetVisibleCore (Boolean value) [0x00000]
at System.Windows.Forms.Control.set_Visible (Boolean value) [0x00000]
at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Visible (bool)
at System.Windows.Forms.Application.RunLoop (Boolean Modal, System.Windows.Forms.ApplicationContext context) [0x00000]
at System.Windows.Forms.Application.Run (System.Windows.Forms.Form mainForm) [0x00000]
at OpenDental.FormOpenDental.Main () [0x00000]
![Image](http://www.dentalcom.net/od52mono.jpg)
OpenDental5.1 wont compile on VS2005 or mono for me right now
OpenDental 5.0
Unhandled Exception: System.ArgumentException: SelectionStart cannot be less than MinDate
at System.Windows.Forms.MonthCalendar.set_SelectionRange (System.Windows.Forms.SelectionRange value) [0x00000]
at System.Windows.Forms.MonthCalendar.SetSelectionRange (DateTime date1, DateTime date2) [0x00000]
at System.Windows.Forms.MonthCalendar.SetDate (DateTime date) [0x00000]
at (wrapper remoting-invoke-with-check) System.Windows.Forms.MonthCalendar:SetDate (System.DateTime)
at OpenDental.ContrAppt.RefreshPeriod () [0x00000]
at OpenDental.ContrAppt.ModuleSelected (Int32 patNum) [0x00000]
at OpenDental.ContrAppt.comboView_SelectedIndexChanged (System.Object sender, System.EventArgs e) [0x00000]
at System.Windows.Forms.ComboBox.OnSelectedIndexChanged (System.EventArgs e) [0x00000]
at System.Windows.Forms.ComboBox.set_SelectedIndex (Int32 value) [0x00000]
at OpenDental.ContrAppt.FillViews () [0x00000]
at (wrapper remoting-invoke-with-check) OpenDental.ContrAppt:FillViews ()
at OpenDental.FormOpenDental.RefreshLocalData (InvalidTypes itypes, Boolean isStartingUp) [0x00000]
at OpenDental.FormOpenDental.FormOpenDental_Load (System.Object sender, System.EventArgs e) [0x00000]
at System.Windows.Forms.Form.OnLoad (System.EventArgs e) [0x00000]
at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) [0x00000]
at System.Windows.Forms.Form.OnCreateControl () [0x00000]
at System.Windows.Forms.Control.CreateControl () [0x00000]
at System.Windows.Forms.Control.SetVisibleCore (Boolean value) [0x00000]
at System.Windows.Forms.Form.SetVisibleCore (Boolean value) [0x00000]
at System.Windows.Forms.Control.set_Visible (Boolean value) [0x00000]
at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Visible (bool)
at System.Windows.Forms.Application.RunLoop (Boolean Modal, System.Windows.Forms.ApplicationContext context) [0x00000]
at System.Windows.Forms.Application.Run (System.Windows.Forms.Form mainForm) [0x00000]
at OpenDental.FormOpenDental.Main () [0x00000]
The issue you see in Open Dental 5.0 is because of different behaviour on MS.NET and Mono. On the .NET Framework, the MontlyCalendar does not completely adhere to the specs, Mono does. I filed a bug with Microsoft to inform them of the difference between the specs and the behaviour. I expect them to fix the code or the specs.
The fix should be easily backported. The patch is below. Note that you'll encounter the same Mono bug (Invalid IL). As support for Open Dental on Mono isn't 100% there, yet, I don't see the value of backporting this fix. Nothing stops you from trying it on your own!
The fix should be easily backported. The patch is below. Note that you'll encounter the same Mono bug (Invalid IL). As support for Open Dental on Mono isn't 100% there, yet, I don't see the value of backporting this fix. Nothing stops you from trying it on your own!
Code: Select all
Modified: head/OpenDental/Main Modules/ContrAppt.cs
===================================================================
--- head/OpenDental/Main Modules/ContrAppt.cs 2007-08-28 09:39:43 UTC (rev 698)
+++ head/OpenDental/Main Modules/ContrAppt.cs 2007-08-28 13:20:55 UTC (rev 699)
@@ -1349,16 +1349,15 @@
if(ContrApptSheet.IsWeeklyView) {
startDate=WeekStartDate;
endDate=WeekEndDate;
- Calendar2.SetSelectionRange(startDate,endDate);
}
else {
startDate=Appointments.DateSelected;
endDate=Appointments.DateSelected;
- Calendar2.SetDate(startDate);
}
if(startDate.Year<1880 || endDate.Year<1880) {
return;
}
+ Calendar2.SetSelectionRange(startDate, endDate);
if(PatCurNum==0){
//there cannot be a selected appointment if no patient is loaded.
ContrApptSingle.SelectedAptNum=-1;//fixes a minor bug.
Frederik Carlier
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
Strange I was going to try this but it seems its already in the svn for open dental 5.0.19.... it compiled fine but mono threw this same error. Weird???? Maybe I need to go back and look at it again....fcarlier wrote:The issue you see in Open Dental 5.0 is because of different behaviour on MS.NET and Mono. On the .NET Framework, the MontlyCalendar does not completely adhere to the specs, Mono does. I filed a bug with Microsoft to inform them of the difference between the specs and the behaviour. I expect them to fix the code or the specs.
The fix should be easily backported. The patch is below. Note that you'll encounter the same Mono bug (Invalid IL). As support for Open Dental on Mono isn't 100% there, yet, I don't see the value of backporting this fix. Nothing stops you from trying it on your own!Code: Select all
Modified: head/OpenDental/Main Modules/ContrAppt.cs =================================================================== --- head/OpenDental/Main Modules/ContrAppt.cs 2007-08-28 09:39:43 UTC (rev 698) +++ head/OpenDental/Main Modules/ContrAppt.cs 2007-08-28 13:20:55 UTC (rev 699) @@ -1349,16 +1349,15 @@ if(ContrApptSheet.IsWeeklyView) { startDate=WeekStartDate; endDate=WeekEndDate; - Calendar2.SetSelectionRange(startDate,endDate); } else { startDate=Appointments.DateSelected; endDate=Appointments.DateSelected; - Calendar2.SetDate(startDate); } if(startDate.Year<1880 || endDate.Year<1880) { return; } + Calendar2.SetSelectionRange(startDate, endDate); if(PatCurNum==0){ //there cannot be a selected appointment if no patient is loaded. ContrApptSingle.SelectedAptNum=-1;//fixes a minor bug.
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
BackPort Successful!
Cool I just replaced the ContrAppt.cs file from 5.2 and stuck it in 5.0 and compiled in Visual Studio... that did the trick.
http://www.dentalcom.net/OpenDental-5.0.19.patched.zip
Here it is....
![Image](http://www.dentalcom.net/odmono5.0.19.jpg)
http://www.dentalcom.net/OpenDental-5.0.19.patched.zip
Here it is....
![Image](http://www.dentalcom.net/odmono5.0.19.jpg)
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
I noticed a problem with my special build, when the date changed to tuesday, a da y with appointments, and you hovered the mouse over hte appointment it crashed. This was because itw as looking for an Appointment Bubble preference which was missing so I changed it too...
if (DateTime.Now.AddMilliseconds(-280) > DateTime.Now.AddMilliseconds(-300)){
and that did the trick.
if (DateTime.Now.AddMilliseconds(-280) > DateTime.Now.AddMilliseconds(-300)){
and that did the trick.
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
Cool!
Hey guys I didnt know it but if you setup an actual printer with cups, and add
<dllmap dll="libcups" target="libcups.so.2"/> that to the mono config file then you can run reports, and even PRINT.
![Cool 8)](./images/smilies/icon_cool.gif)
<dllmap dll="libcups" target="libcups.so.2"/> that to the mono config file then you can run reports, and even PRINT.
![Laughing :lol:](./images/smilies/icon_lol.gif)
![Cool 8)](./images/smilies/icon_cool.gif)
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
How can we get Hardware Acceleration working with OpenGL? I recompiled libgdiplus with --enable-glitz and I added these to mono config
<dllmap dll="opengl32.dll" target="libGL.so.1" />
<dllmap dll="glu32.dll" target="libGLU.so.1" />
Does OpenDental have to call Mono.Cairo Directly to get cairo to use glitz? Otherwise we are using System.Drawing without Cairo? If so, that means we will need two seperate branches of code? One for Cairo and the other for System.Drawing? Yuck
<dllmap dll="opengl32.dll" target="libGL.so.1" />
<dllmap dll="glu32.dll" target="libGLU.so.1" />
Does OpenDental have to call Mono.Cairo Directly to get cairo to use glitz? Otherwise we are using System.Drawing without Cairo? If so, that means we will need two seperate branches of code? One for Cairo and the other for System.Drawing? Yuck
- jordansparks
- Site Admin
- Posts: 5746
- Joined: Sun Jun 17, 2007 3:59 pm
- Location: Salem, Oregon
- Contact:
I spoke directly to Miguel Icaza last year about the possibility of using OpenGL in Mono. It's not going to happen any time soon. It's not an issue of "hardware acceleration". We can't use OpenGL at all. Period. And to be honest, I have no idea what glitz is, and only limited familiarity with Cairo.
Jordan Sparks, DMD
http://www.opendental.com
http://www.opendental.com
- Justin Shafer
- Posts: 596
- Joined: Sat Jul 28, 2007 7:34 pm
- Location: Fort Worth, TX.
Wow dude... where did you meet him? http://en.wikipedia.org/wiki/Miguel_de_Icaza