I am running MapGuide Enterprise 2011 on CentOS 5 linux. Using the Autodesk Raster FDO, i loaded a mrsid file (through the "Load file-based data" method). Whenever i try to view the layer with the mrsid file, the server crashes. most of the time it says "Segmentation Fault", but sometimes it just dies without saying anything.
Here's what the error log says when i try to view the layer:
<2011-01-14T10:39:25> 53263248 Autodesk MapGuide Studio v188.8.131.5205 184.108.40.206 Administrator
Error: An exception occurred in FDO component.
Only MOSAIC(), CLIP() and RESAMPLE() are supported.
- MgFeatureServiceHandler.ProcessOperation() line 83 file FeatureServiceHandler.cpp
- MgOpSelectFeaturesSpatial.Execute() line 110 file OpSelectFeaturesSpatial.cpp
- MgServerSelectFeatures.SelectFeatures() line 266 file ServerSelectFeatures.cpp
I've tried a few other mrsid files with the same problem. TIFF files load fine.
I was able to solve this issue by compiling the latest Gdal and the Gdal FDO instead of the included Autodesk Raster FDO. I had some obstacles figuring out how to compile additional open source FDO in with the included binary Autodesk FDOs. There seems to be no documentation on this, so I would like to share it here, i hope it will help someone else too:
It is possible to compile OS FDO to be used with the Enterprise versions, in the case where you need additional libraries to link to that the enterprise fdo does not provide (eg MrSID for GDAL).
make sure the enterprise binary fdos are installed, you will need those fdo lib and includes.
download the opensource fdo core api SAME VERSION as the enterprise
download the all the fdos, even the ones you dont need (there may be some dependencies between fdos)
untargz them all, should all be in the same directory: OpenSource_FDO
edit the setenvironment.sh file as necessary, for example, set FDOGDAL to /usr/local if you want to use a precompiled GDAL library
if you read the instructions on how to build fdo, skip the build_thirdparty step because we already have the thirdparties (unless you need the gdal library, which doesn’t come with enterprise), but:
you will need to link the current thirdparty libs to the source folder (assuming you're in the OpenSource_FDO dir):
make sure that your fdo library has all the linked library it needs (see if the following returns “not found”, if so, find and put the library in path), if not, then put the library it needs in a library path (/usr/lib is usually ok), you should have the missing library, because you comipiled with it, it's just not in the right path: