Just to recap, the project is to build a “LAMP” server for work, where LAMP mean [http://fedora.redhat.com/ Linux]/[http://www.apache.org Apache]/[http://mono-project.com/Main_Page Mono]/[http://www.postgresql.org/ PostgreSQL] in this case. After [http://people.planetpostgresql.org/xzilla/index.php?p=9 Day 1] I had a bunch of stuff working, but hadn’t fully gotten the application going due to odbc issues. My boss decided that our next step would be to see some real application code working within the mono world, so I took some of our files sans security/login and pushed them onto the xsp server. Unfortunatly it blew up. I got an error about a missing form tag:
Description: Error parsing a resource required to service this request. Review your source file and modify it to fix this error.
Error message: Expecting System.Web.UI.ControlBuilder
File name: /mono/error/siteinfo.aspx Line: 824
<body leftMargin="0" topMargin="1" marginheight="0" marginwidth="0">
<form id="Form1" method="post" runat="server"> <!-- Start of Site Table 100->
<!-- following 5 lines are for pop up tech supports both browser --><span class="popUpText" id="popHelp0">
<table width="450" bgColor="#ebebeb" border="0">
Now I’m no .net expert, but this looked to me to be more of a problem due to bad coding rather than a problem with the server implementation. The thing that really popped out was the way that the html comment was formed… it’s completely broken. Funny thing is this code worked fine on IIS, or at least appeared to. I went about installing the [https://addons.update.mozilla.org/extensions/moreinfo.php?id=249 Tidy extension] on my [http://mozilla.org/products/firefox/ firefox browser] on windows and pointed it at the existing IIS server and lo and behold one of the html errors it complained about was a missing form tag. That was a good thing, since it meant my problem on mono was html based, which meant I could fix it.
So I proceeded to clean up the html (and there was a lot to clean up) and then got hit by issue number 2: busted images and no stylesheets due to path issues. In the code I had snagged, some of the images and the stylesheets where placed in a “Lib” directory, but all the code referenced it as “lib”. Doh. This is one of those cardinal things about cross-platform coding… there are always little issues where one system is forgiving to crappy coding where another is not, and if you have been lax in your code (or, in fairness, just never realized you were doing things wrong) you end up having problems on the new platform. It’s a classic problem in other areas too, like when moving from my$ql to postgresql. Going back to my first problem, it’s also interesting how software just reacts differently. IIS was happy to send the busted html down to the browser and let it try to figure out what it meant, where XSP refused to do anything with it and just spit up the error message.
Anyway I went about cleaning up the code, and got it all running under XSP and showed the boss. He liked it (which is good because it looks exactly identical to the IIS site) so now I am back on to figuring out why mod_mono doesn’t work. I played around with all the different rpm’s, downloading several new rpms, and reinstalling all kinds of rpms, but no dice, I still got
httpd: module “mod_mono.c” is not compatible with this version of Apache (found 20020628, need 20020903). when trying to run apache. So then I went about trying to install mod_mono from source, but of course this bombed out because I didn’t have any development tools on the box (it was a server setup after all). So I went about installing gcc and a bunch of other stuff (since it’s a test machine, I have a few liberties) but running configure fails for me with the following error:
checking how to run the C++ preprocessor... /lib/cpp
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
argh… this is actually the reason that people run windows you know. Having a box where you have to reboot it every other day to keep it running still beats a box where you cant actually get the software to install….
So at this point I decided to email the guys in the other department to see what they were using. I had run into one of the guys during the day and he claimed they had gotten mod_mono to work (and had done it via rpms), so I figured getting some info from them would be the next prudent step. Turns out where actually using different mod_mono rpms! He is using Version : 1.0.6, Release : 1.novell.9.1 and I am using Version: 1.0.8, Release: 1.novell.6.1. I’m not actually sure, but I think this means I am running a newer version than him… ?? Well, thats where I stand today, I’m going to try to get a copy of the mod_mono rpm they use and then see if I can get it all going… part 3 coming up.