[mapserver-users] simplicity

Puneet Kishor pkishor at GeoAnalytics.com
Mon Dec 24 13:29:08 PST 2001


this is a (hopefully constructive) harangue... so, please keep that in mind
before flaming me...

as you all know I have now been on this list for about 6 months now. In that
time (that is when I first started using Mapserver) I have learned a lot
about Mapserver, its developers, its community. One word describes them
all... fabulous.

Now that we are past the self-back-patting, here's the harangue. Mapserver
is just simply too difficult.

I have now successfully run it on Windoze, RH, and MacOS X. But it has been
a pain in the arse to setup.

1. I made a mapserver app on RH using PHP and MySQL... worked great, but the
darn PHP was not compiled with XBase, so I had to do gyrations to get to the
shapeindex. Of course, that is not the fault of the PHP so, but the person
who compiled PHP on that box in the first place. 

2. But then, I had to move the app to a Windoze box running Apache. I
quickly learned that my app wouldn't run on Windoze because Apache was
multi-threaded and the PHP/Mapscript.so didn't support that... had to be run
as a CGI. I quickly tried to learn about that and decided to "screw it... I
will rewrite it as a Perl app." 

3. Then I learned that Perl/Mapscript doesn't work on Windoze very well
because of problems with SWIG. So, I said "screw it" to the entire app and
decided to make it work on my MacOS X Powerbook. 

4. I had to first get gd to work. To make gd work, I had to compile libpng
and libjpeg (god help me if I wanted gd to do gifs... that was another
runaround). I got all that done when I discovered that I didn't have
freetype in my gd. I said "screw it" (there's a pattern here, no!). 

5. Btw, while the Mapserver site provides links to all these packages, it
doesn't mention all the possible prerequisites, at least not conveniently. 

6. Well, I got Mapserver to run when I discovered I hadn't configured PHP
(well, I didn't read the configure docs properly) and that I had to
recompile. I looked at the configure docs and was confounded with this
statement...

--with-php=DIR          Specify directory where PHP3/PHP4 source tree is
                          installed. Required in order to compile the
                          PHP/MapScript module.

I am sorry, but I had no idea what the heck a "source tree" was. 

7. Once I figured out what a "source tree" was, I found I had none. You see,
my PB came with PHP already installed on it as part of the operating system.
There was no source tree. Now what do I do? Muck with my already working PHP
setup by downloading the source and recompiling it, or say "screw it" once
again to setting up PHP. 

8. Eventually, I did just that... downloaded the source and recompiled a
program that is already working fine on my computer, recompiled Mapserver,
and discoverd that I couldn't dynamically load the dl(). "screw it" again.

9. By now I have spent more time making mapserver and its various components
install and setup than actually creating an app with Mapserver. This not how
it should be. 

I know it is a complicated program with many dependencies, and works on many
different OSs, but hey, if it is difficult for the user then it is difficult
for the user. Maybe it should come with a disclaimer... not for non-geeks!

Here's a constructive suggestion --

1. Why not form separate teams responsible for versions on different OSs?
All these teams can be in turn coordinated by a central, core team
comprising SDL, DM, a few other.

2. The discussion forums can be sub-categorized into "installation issues",
"OS Specific Issues", "Database Issues", "Geo format problems", "Various
flavors of Mapscript," etc.

3. I would love to be a part of the MacOS X team. My first aim would be to
package every conceivable component and prepare a binary that other MacOS X
users can simply download, double-click and install. Most all MacOS X
directory and dev tools layouts are identical, and I am sure other MacOS X
users will appreciate not having to screw around scrounging for gd, and
freetype, and Proj4 and gdal and libjpeg, etc. In fact, I would make the
package ready with a crontab entry which would do garbage collection,
require a specific temp directory (so it can successfully clean out the
junk), and even install a working CGI, Perl, PHP application, and an
espresso machine.

Ok, this is long enough. If you have cared to read this far, please respond
with the knowledge that I am absolutely in awe of what Mapserver can do, and
have one and only one aim for it and its developers... world domination and
Nobel GIS prize.

pk/



More information about the MapServer-users mailing list