[Mapserver-users] mapserv cgi andraster layers again....solved FINALLY
Andrew
selkiesdad at twcny.rr.com
Sat Apr 17 06:24:48 PDT 2004
The problem, in case anyone else is as thick as I am, was that I had
tiff AND gdal enabled in the configure. This was the dependency conflict
I guess. I suggest the documentation be amended to make it clear that
the "RECOMENDED" libtiff and perhaps libgeotiff should NOT be included
if gdal is being incorporated. The revised " mapserv -v" output will
then no longer include the "INPUT=TIFF", and all will be well.
Andrew wrote:
> I have checked everything, verified all the gdal libraries and
> operation of the binary utilities, and everything checks out. I see no
> obvious library conflicts. I have "fixed" all of my original problems
> except the display of tiff/geotiff layers.
>
> I have installed the geotiff libraries (libgeotiff 1.1.4 to match my
> libtiff version) to be complete. I recompiled the mapserver 4.0.2
> source with many variations on the makefile OGR/GDAL_INC and
> OGR/GDAL_LIB paths, and I tried modifying the libtiff/libgeotiff
> references in reasonable ways as well. I have observed that very
> subtle changes to the gdal lib options (include or omit the -lgdal
> switch) and/or the libtiff options (-lgeotiff and related) can have
> no impact on the success of the compilation, but may or may not
> produce a mapserv cgi lacking wms capability, or png capability, etc.
> The evidence suggests that on my system the configure process may not
> be creating the appropriate Makefile for correctly linking gdal
> support. The manual tweaks I had to make for the 4.0.0 source and the
> influence of some of the extra switches I added to the Makefile for
> 4.0.2 implies that although the dependencies may seem satisfied, some
> error in the file causes the actual invocation of the resulting
> binaries to fail without warning. I can work around this by using png
> and world files, but the extra work required to convert the available
> tiff files I need for my project into correctly georeferenced png
> files is discouraging. I hope someone can provide a clue as to what I
> can try next. Below is my current mapserver 4.0.2 configure command
> and Makefile.
>
> $ ./configure --prefix=/usr/local/mapserve
> --with-freetype=/usr/local/mapserve --with-gd=/usr/local/mapserve
> --with-proj=/usr/local/mapserve --with-threads
> --with-gdal=/usr/local/mapserve/bin/gdal-config --with-ogr
> --with-php=/usr/local/php/phpsrc -with-wmsclient --with-wfs
>
>
>
> # Run ./configure in the main MapServer directory to turn this
> Makefile.in
> # into a proper Makefile
>
> LIB_INSTALL=/usr/local/lib/
> HEADER_INSTALL=/usr/local/include/mapserver-3.5/
>
> #
> # mpatrol runtime memory debugger
> #
> MPATROL=
> MPATROL_INC=
> MPATROL_LIB=
>
> #
> # If you want to ignore missing datafile errors uncomment the following
> # line. This is especially useful with large tiled datasets that may not
> # have complete data for each tile.
> #
> #IGNORE_MISSING_DATA=-DIGNORE_MISSING_DATA
> IGNORE_MISSING_DATA = -DIGNORE_MISSING_DATA
>
> #
> # Apparently these aren't as commonplace as I'd hoped. Edit the
> # following line to reflect the missing functions on your platform.
> #
> # STRINGS=-DNEED_STRCASECMP -DNEED_STRNCASECMP -DNEED_STRDUP
> STRINGS=
> # Proj.4 distribution (cartographic projection routines). Not required
> for normal use. (EXPERIMENTAL)
> PROJ_INC= -I/usr/local/mapserve/include
> PROJ_LIB= -L/usr/local/mapserve/lib -lproj
> PROJ= -DUSE_PROJ -DUSE_PROJ_API_H
>
> # GD distribution (graphics library GIF and/or PNG support). (REQUIRED)
> #
> # - Versions 1.3 to 1.5 write non-LZW GIF (-DUSE_GD_1_3).
> # - Versions 1.6 and greater write PNG (-DUSE_GD_1_6). Add -lpng -lz
> to GD_LIB line.
> #
> #
> GDFONT_OBJ=gd-1.2/gdfontt.o gd-1.2/gdfonts.o gd-1.2/gdfontmb.o
> gd-1.2/gdfontl.o gd-1.2/gdfontg.o
> GD_INC= -I/usr/local/mapserve/include
> GD_LIB= -L/usr/local/mapserve/lib -lgd -ljpeg
> -L/usr/local/mapserve/lib -lfreetype -lz -lpng -lz GD=
> -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT
> GD_STATIC =
> # PDFlib distribution (PDF library w/ PDF support). (EXPERIMENTAL)
> #
> #
> #
> PDF_INC= PDF_LIB= PDF=
> # TIFF distribution (raster support for TIFF and GEOTIFF imagery).
> (RECOMMENDED)
> TIFF_INC= TIFF_LIB= -ltiff -ljpeg -L/usr/local/mapserve/lib
> -lfreetype -lz -lpng -lz TIFF= -DUSE_TIFF
> # JPEG distribution (raster support for grayscale JPEG images, INPUT
> ONLY).
> JPEG_INC= JPEG_LIB= -ljpeg
> JPEG= -DUSE_JPEG
>
> # EPPL7 Support (this activates ERDAS as well) Included in the
> distribution. Probably the best raster alternative if
> # you've got EPPL7 laying around. See http://www.lmic.state.mn.us/ for
> more information. (RECOMMENDED)
> EPPL= -DUSE_EPPL
> EPPL_OBJ= epplib.o
>
> # ESRI SDE Support. You MUST have the SDE Client libraries and include
> files
> # on your system someplace. The actual SDE server you wish to connect
> to can
> # be elsewhere.
> SDE= SDE_LIB= SDE_INC=
> # Optional OGR Support. OGC Simple Feature inspired interface for vector
> # formats. See http://gdal.velocet.ca/projects/opengis/
> OGR= -DUSE_OGR
> OGR_LIB= -L/usr/local/mapserve/lib -lgdal
> OGR_INC= -I/usr/local/mapserve/include
> OGR_STATIC=
> # Optional GDAL Support (provides read access to a variety of raster
> formats)
> # See http://www.remotesensing.org/gdal
> GDAL= -DUSE_GDAL
> GDAL_LIB= -L/usr/local/mapserve/lib -lgdal
> GDAL_INC= -I/usr/local/mapserve/include
>
> # Optional PostGIS Support. See http://postgis.refractions.net/
> POSTGIS= POSTGIS_LIB= POSTGIS_INC=
> # Optional MyGIS Support. See http://postgis.refractions.net/
> MYGIS= MYGIS_LIB= MYGIS_INC=
> # Optional ORACLESPATIAL Support. Contact: cabral at cttmar.univali.br
> ORACLESPATIAL=
> ORACLESPATIAL_LIB=
> ORACLESPATIAL_INC=
>
> # Optional MING/SWF/FLASH Support. Contact: assefa at dmsolutions.ca
> MING=
> MING_LIB=
> MING_INC=
>
> # libcurl ... required for WMS/WFS Client Connections
> CURL_INC=
> CURL_LIB=-L/usr/lib -lcurl -lz -lssl -lcrypto -ldl -lz
>
> # OWS: OGC Web Services support
> # OGC WMS Server: -DUSE_WMS_SVR (Requires PROJ4 support)
> # OGC WMS Client Connections: -DUSE_WMS_LYR (Requires PROJ4 and libcurl)
> # OGC WFS Server: -DUSE_WFS_SVR (Requires OGR, PROJ4 recommended)
> # OGC WFS Client: -DUSE_WFS_LYR (Requires OGR, PROJ4 and libcurl)
> OWS=-DUSE_WMS_SVR -DUSE_WMS_LYR -DUSE_WFS_SVR
> #
> # IMPORTANT NOTE ABOUT REGEX FOR PHP_MAPSCRIPT USERS:
> #
> # In order to compile the PHP_MAPSCRIPT module, we have to make MapServer
> # uses the same version of the REGEX library that PHP was compiled with:
> #
> REGEX_OBJ=
> REGEX_INC=
>
> #
> # Multithreading support.
> #
> THREAD=-DUSE_THREAD
> THREAD_LIB=-lpthread
>
> #
> # Pick a compiler, etc. Flex and bison are only required if you need
> to modify the mapserver lexer (maplexer.l) or expression parser
> (mapparser.y).
> #
> CXX= g++
> CC= gcc
> LD= gcc
> AR= ar rc
> RANLIB= ranlib
> LEX= flex
> YACC= bison -y
>
> XTRALIBS= -lm -lstdc++
> RUNPATHS=
> CFLAGS= -O2 -Wall \
> $(IGNORE_MISSING_DATA) $(STRINGS) $(EPPL) $(PROJ) $(OWS) $(MING) \
> $(ORACLESPATIAL) $(TIFF) $(JPEG) $(GD) $(PDF) $(SDE) $(OGR) $(GDAL) \
> $(POSTGIS) $(MYGIS) $(MPATROL) $(THREAD) \
> $(GD_INC) $(PDF_INC) $(PROJ_INC) $(TIFF_INC) $(JPEG_INC)
> $(EGIS_INC) $(SDE_INC) \
> $(REGEX_INC) $(MPATROL_INC) $(OGR_INC) $(GDAL_INC) $(POSTGIS_INC)
> $(MYGIS_INC) \
> $(CURL_INC) $(MING_INC) $(ORACLESPATIAL_INC)
>
> # Link flags and shared libs only
> LDFLAGS= $(RUNPATHS) -L. -lmap $(GD_LIB) $(PDF_LIB) $(TIFF_LIB)
> $(PROJ_LIB) \
> $(JPEG_LIB) $(SDE_LIB) $(OGR_LIB) $(GDAL_LIB) \
> $(MING_LIB) $(POSTGIS_LIB) $(MYGIS_LIB) $(CURL_LIB)
> $(ORACLESPATIAL_LIB) \
> $(MPATROL_LIB) $(THREAD_LIB) $(XTRALIBS)
>
> # STATIC_LIBS is full filename with path of libs that will be
> statically linked
> STATIC_LIBS= $(GD_STATIC) $(OGR_STATIC)
>
> RM= /bin/rm -f
>
> OBJS= maptemplate.o mapbits.o maphash.o mapshape.o mapxbase.o
> mapparser.o maplexer.o maptree.o mapsearch.o mapstring.o mapsymbol.o
> mapfile.o maplegend.o maputil.o mapscale.o mapquery.o maplabel.o
> maperror.o mapprimitive.o mapproject.o mapraster.o mapsde.o mapogr.o
> mappostgis.o mapmygis.o maplayer.o mapresample.o mapwms.o
> mapwmslayer.o maporaclespatial.o mapgml.o mapprojhack.o mapthread.o
> mapdraw.o mapgd.o mapoutput.o mapgdal.o mapswf.o mapimagemap.o
> mapows.o mapwfs.o mapwfslayer.o mapcontext.o maphttp.o mapdrawgdal.o
> mappdf.o mapjoin.o mapgraticule.o mapcopy.o $(EPPL_OBJ) $(REGEX_OBJ)
>
> #
> # --- You shouldn't have to edit anything else. ---
> #
> .c.o:
> $(CC) -c $(CFLAGS) $< -o $@
>
> all: $(MAKE_GD) libmap.a shp2img shp2pdf legend \
> mapserv shptree shptreevis shptreetst scalebar sortshp
> mapscriptvars \
> tile4ms php3_mapscript
>
> php3_mapscript:: libmap.a
> cd mapscript/php3; $(MAKE); cd ../..
>
> maplexer.o: maplexer.c map.h mapfile.h
>
> maplexer.c: maplexer.l
> $(LEX) -Pmsyy -i -omaplexer.c maplexer.l
>
> mapparser.o: mapparser.c map.h
>
> mapparser.c: mapparser.y
> $(YACC) -p msyy -d -omapparser.c mapparser.y
>
> mapogr.o: mapogr.cpp
> $(CXX) -c $(CFLAGS) mapogr.cpp -o mapogr.o
>
> lib: libmap.a
> libmap: libmap.a
> libmap.a: map.h $(OBJS) map.h
> $(AR) libmap.a $(OBJS)
> $(RANLIB) libmap.a
>
> shp2pdf: libmap.a shp2pdf.o map.h
> $(LD) $(CFLAGS) shp2pdf.o $(LDFLAGS) $(STATIC_LIBS) -o shp2pdf
>
> shp2img: libmap.a shp2img.o map.h
> $(LD) $(CFLAGS) shp2img.o $(LDFLAGS) $(STATIC_LIBS) -o shp2img
>
> sym2img: libmap.a sym2img.o map.h
> $(LD) $(CFLAGS) sym2img.o $(LDFLAGS) $(STATIC_LIBS) -o sym2img
>
> legend: libmap.a legend.o map.h
> $(LD) $(CFLAGS) legend.o $(LDFLAGS) $(STATIC_LIBS) -o legend
>
> scalebar: libmap.a scalebar.o map.h
> $(LD) $(CFLAGS) scalebar.o $(LDFLAGS) $(STATIC_LIBS) -o scalebar
>
> mapserv: mapserv.h libmap.a mapserv.o cgiutil.o map.h
> $(LD) $(CFLAGS) mapserv.o cgiutil.o $(LDFLAGS) $(STATIC_LIBS) -o
> mapserv
>
> mapserv.fcgi: mapserv.h libmap.a mapserv_fcgi.o cgiutil.o map.h
> $(LD) $(CFLAGS) mapserv_fcgi.o cgiutil.o \
> $(LDFLAGS) $(STATIC_LIBS) -lfcgi \
> -o mapserv.fcgi
>
> shpindex: libmap.a shpindex.o map.h
> $(LD) $(CFLAGS) shpindex.o $(LDFLAGS) $(STATIC_LIBS) -o shpindex
>
> shptree: libmap.a shptree.o map.h
> $(LD) $(CFLAGS) shptree.o $(LDFLAGS) $(STATIC_LIBS) -o shptree
>
> shptreevis: libmap.a shptreevis.o map.h
> $(LD) $(CFLAGS) shptreevis.o $(LDFLAGS) $(STATIC_LIBS) -o shptreevis
>
> shptreetst: libmap.a shptreetst.o map.h
> $(LD) $(CFLAGS) shptreetst.o $(LDFLAGS) $(STATIC_LIBS) -o shptreetst
>
> sortshp: sortshp.o
> $(LD) $(CFLAGS) sortshp.o $(LDFLAGS) $(STATIC_LIBS) -o sortshp
>
> tile4ms: tile4ms.o
> $(LD) $(CFLAGS) tile4ms.o $(LDFLAGS) $(STATIC_LIBS) -o tile4ms
>
> testexpr: testexpr.o mapparser.o maplexer.o
> $(LD) $(CFLAGS) testexpr.o $(LDFLAGS) $(STATIC_LIBS) -o testexpr
>
> mapscriptvars:
> touch mapscriptvars
> pwd > mapscriptvars
> echo $(IGNORE_MISSING_DATA) $(STRINGS) $(EPPL) $(PROJ) $(TTF)
> $(TIFF) $(JPEG) $(GD) $(SDE) $(OGR) $(GDAL) >> mapscriptvars
> echo -I. $(PROJ_INC) $(GD_INC) $(TTF_INC) $(TIFF_INC) $(JPEG_INC)
> $(SDE_INC) $(OGR_INC) $(GDAL_INC) >> mapscriptvars
> echo $(LDFLAGS) >> mapscriptvars
> echo $(STATIC_LIBS) >> mapscriptvars
>
> php3_mapscript_clean::
> cd mapscript/php3; $(MAKE) clean; cd ../..
>
> install:
> @echo ""
> @echo "***** MapServer Installation *****"
> @echo "To install MapServer, copy the 'mapserv' file to your web
> server's cgi-bin "
> @echo "directory."
> @echo "If you use MapScript then see the documentation for your
> specific MapScript"
> @echo "version for installation instructions."
> @echo ""
>
> clean: php3_mapscript_clean
> rm -f libmap.a *.o shp2img shp2pdf mapserv legend shptree
> shptreevis shptreetst scalebar sortshp mapscriptvars tile4ms testexpr
>
> distclean:
> $(MAKE) clean
> rm config.*
>
> sorta-clean:
> rm -f *.o
>
>
> Pericles S. Nacionales wrote:
>
>> Andrew,
>>
>> Have a look at your Apache error_log. Chances are some of your
>> libraries are not being seen by MapServer. If this is the case and
>> assuming you have installed the libraries you compiled in "/usr/local/",
>> run the command "/sbin/ldconfig" as root to create/refresh the links to
>> your libraries. You can then run "/sbin/ldconfig -p | more" to check
>> that the libraries needed by MapServer are "registered". If they're
>> not, edit /etc/ld.so.conf as root and add "/usr/local/lib" (or wherever
>> you installed your libraries). You can then rerun "/sbin/ldconfig" and
>> your problems should go away.
>>
>> One caveat: There may be reasons not to add "/usr/local/lib" to your
>> ld.so.conf file. You might have duplicate libraries that could screw
>> other things.
>>
>> Good luck!
>> -Perry N.
>>
>> On Fri, 2004-04-16 at 13:32, Andrew wrote:
>>
>>
>>> I have converted all my tiff files to png, renamed all the .tfw
>>> world files with a .wld extension, and I can get png files to
>>> display (albeit not to the necessary scale or projection
>>> necessarily). My mapserv "says" it supports tiff input, and the gdal
>>> conversions from tiff to png and back work fine. I still get the
>>> "premature end of script headers" when I use tiffs. The wms
>>> connection still fails, but the same tiff file saved locally and
>>> used in place still causes the cgi to abort.
>>>
>>> Is there a simple algorithm or technique to use to georeference the
>>> png files made from the tiff files so I can use the world files
>>> directly? What is the best workaround, if the tiff support remains
>>> broken? Is there a known "fix"?
>>>
>>> Thanks
>>>
>>> _______________________________________________
>>> Mapserver-users mailing list
>>> Mapserver-users at lists.gis.umn.edu
>>> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>>>
>>
>>
>> _______________________________________________
>> Mapserver-users mailing list
>> Mapserver-users at lists.gis.umn.edu
>> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>>
>>
>>
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
More information about the MapServer-users
mailing list