Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: b8e6e0cbe0
Fetching contributors…

Cannot retrieve contributors at this time

792 lines (533 sloc) 28.307 kb
-------------------------------------------------------------------
README.CONFIGURE - MapServer "configure" script compilation options
-------------------------------------------------------------------
For Unix users, Mapserver comes with a GNU autoconf "configure" script
that should take care of (hopefully!) all compilation issues for you.
The configure script won't work on Windows. See the file README.WIN32
for details on compiling on Windows systems.
The default configure behavior is to try to locate on your system the most
common optional libraries that MapServer can use and include them in the
Makefiles. It also takes care of setting the proper compilation flags to
handle issues like the version of GD that you are using, etc.
For the impatient:
------------------
To build the "mapserv" CGI program with the default options, go to the
directory where you extracted the MapServer source code package and...
::
$ cd mapserver-6.2.x
$ ./configure
$ make
$ make install
Unless something went wrong, this should compile and install the "mapserv"
CGI program and the other utility programs.
You should then locate the installed "mapserv" executable and link to it
from your web server's cgi-bin directory. More information on how to do this
is available at http://mapserver.org/installation/unix.html#installation
See the MapServer web site at http://mapserver.org/ for usage
instructions.
"configure" options:
--------------------
Here is the list of available options as returned by "./configure --help":
Optional Features:
::
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-ignore-missing-data Ignore missing data file errors at runtime
--disable-ignore-missing-data Report all missing data files (enabled by
default).
--enable-point-z-m Use point Z and M parameters (disabled by default).
--disable-point-z-m Disable support for point Z and M parameters.
--disable-fast-nint Use safe MS_NINT with reliable rounding
--enable-debug Include "-g" in CFLAGS for debugging.
--disable-debug Do not include "-g" in CFLAGS (the default).
--enable-cgi-cl-debug-args
Enable mapserv CGI command-line debug arguments
(disabled by default). These command-line args may
be insecure and should be enabled only on
development servers and only if you understand the
security implications.
--enable-gcov Enable source code coverage testing using gcov
--enable-perlv-ld-detect (applies to --with-php only)
Use perl -V output to figure the command to use to
link php_mapscript.so. Try this only if the default
internal macro didn't work.
--enable-runpath Include runtime library path flags (-Wl,-R) in link.
Required on *BSD systems.
--disable-runpath Do not link with runtime lib path (the default).
Optional Packages:
::
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-pkg-config[=PATH] Include pkg-config support (PATH is path to pkg-config)
--with-freetype=DIR GD: Specify where FreeType 2.x is installed (DIR is
path to freetype-config program or install dir).
--with-zlib=DIR GD,SVG: Specify where zlib is installed (DIR is path
to zlib install dir).
--with-png=DIR GD: Specify where PNG is installed (DIR is path to
PNG install dir).
--with-jpeg[=DIR] Include JPEG support (DIR is LibJPEG's install dir).
--with-xpm=DIR GD: Specify where libXpm is installed (DIR it the
libXpm install prefix).
--with-libiconv=DIR Specify where libiconv is installed (DIR is path
to libiconv install dir (prefix)).
--with-gd[=[static,]DIR] Specify which version of GD to use (DIR is GD's
install dir).
--without-pdf Disable PDF support.
--with-pdf[=DIR] Include PDF support (DIR is PDFlib's install dir).
--with-agg[=DIR] Include AGG support (DIR is AGG's install dir).
--with-cairo Include Cairo support (PDF and SVG support)
--without-eppl Disable EPPL7 support.
--with-eppl Include EPPL7 support.
--with-proj[=DIR] Include PROJ.4 support (DIR is PROJ.4's install dir).
--with-threads[=linkopt]Include thread safe support
--with-sde[=DIR] Include ESRI SDE support (DIR is SDE's install dir).
--with-sde-version[=VERSION NUMBER] Set ESRI SDE version number (Default
is 91).
--with-geos[=PATH] Include GEOS support (PATH is path to geos-config)
--with-ogr[=PATH] Include OGR support (PATH is path to gdal-config).
--with-gdal[=PATH] Include GDAL support (PATH is path to gdal-config)
--without-tiff Disable TIFF support.
--with-tiff[=DIR] Include TIFF support (DIR is LibTIFF's install dir).
--with-postgis[=ARG] Include PostGIS Support (ARG=yes/path to pg_config)
--with-mysql[=ARG] Include Mysql Support (ARG=yes/path to my_config)
--with-oraclespatial[=ARG] Include OracleSpatial Support (ARG=yes/path to
Oracle home)
--without-wms Disable OGC WMS Compatibility (enabled by default).
--with-wfs Enable OGC WFS Server Support (OGR+PROJ4 required).
--with-wcs Enable OGC WCS Server Support (GDAL+PROJ4 required).
--with-wmsclient Enable OGC WMS Client Connections (PROJ4, libcurl and
GDAL required).
--with-wfsclient Enable OGC WFS Client Connections (PROJ4, libcurl and
OGR required).
--with-sos Enable OGC SOS Server Support (libxml2 and PROJ4 and
OGR required).
--with-curl-config=PATH Specify path to curl-config.
--with-xml2-config=PATH Specify path to xml2-config.
--with-fribidi-config[=ARG] Include FriBidi Support (ARG=yes/path to
fribidi-config or fribidi.pc)
--with-fastcgi=path Enable FastCGI, point to installed tree.
--with-httpd Specify path to 'httpd' executable.
--with-warnings[=flags] Enable strict warnings (or user defined warnings)
--with-php=yes|no|/path/to/php-config
Specify location of php-config script.
Required in order to compile the PHP/MapScript
module.
--without-ld-shared Disable shared library support
--with-apxs[=FILE] (CURRENTLY DISABLED)
Use this option only if building the PHP MapScript
on a system where PHP was built as a shared Apache
module. FILE is the optional pathname to the
Apache apxs tool; defaults to apxs.
--with-apache=DIR (CURRENTLY DISABLED)
Use this option only if building the PHP MapScript
on a system where PHP was built as an Apache
module statically linked into the httpd executable.
DIR is the path to the apache include files.
--with-java-include-os-name=dirname
(AUTODETECTED)
Use this option only if building of Java Mapscript
fails because os-dependent headers are not found.
dirname is the name of subdirectory of the Java
installation where os-dependent include files are
found (for instance linux or solaris).
Only used by Java mapscript.
The most common options are described in more details below.
GD and Support Libraries:
-------------------------
::
--with-gd[=DIR] Specify which version of GD to use (DIR is GD's
install dir).
- The GD library is the only component that is not optional.
Version 2.0.16 or more recent is required, and GD 2.0.35 or higher is
strongly recommended.
- To get the GD source code: The official home of the GD library is
http://www.libgd.org/ and in case it is down a copy of recent GD releases
is provided as a convenience at http://download.osgeo.org/mapserver/libgd/
- Version 2.0.29 or more recent is required for the LABEL FOLLOW option
to work (curved labels, added in 4.10).
- There is a bug in GD with versions below 2.0.35 with 1 pixel
antialiased lines that requires a patch for GD. See bug 1612:
http://trac.osgeo.org/mapserver/ticket/1612
- By default, configure tries to locate GD on your system and uses the
system copy if found.
- You can use the --with-gd=DIR option to use a copy of GD installed in
directory "DIR". Make sure that this copy of GD is compiled before
using this option.
- GD has dependencies on a few external libraries and it may be necessary
to explicitly specify the path where those libraries are found using the
following configure options:
::
--with-freetype=DIR GD: Specify where FreeType 2.x is installed (DIR is
path to freetype-config program or install dir).
--with-zlib=DIR GD,SVG: Specify where zlib is installed (DIR is path
to zlib install dir).
--with-png=DIR GD: Specify where PNG is installed (DIR is path to
PNG install dir).
--with-jpeg[=DIR] Include JPEG support (DIR is LibJPEG's install dir).
--with-xpm=DIR GD: Specify where libXpm is installed (DIR is the
libXpm install prefix).
--with-libiconv=DIR Specify where libiconv is installed (DIR is path
to libiconv install dir (prefix)).
- In each case you specify the install dir of the support library, e.g.
./configure .... --with-gd=/usr/local --with=jpeg=/usr/local \
--with-png=/usr/local --with-zlib=/usr/local
Note: If libraries required by GD are not found, it may cause configure
to not accurately detect which image formats are supported by GD, and may
cause configure and building to fail.
TIFF Support:
-------------
::
--without-tiff Disable TIFF support.
--with-tiff[=DIR] Include TIFF support (DIR is LibTIFF's install dir).
- Tiff support is optional, but it will be included by default if configure
finds libtiff on your system. If you use --with-gdal then Tiff support is
disabled by default since GDAL includes Tiff support.
- Use --without-tiff to explicitly disable Tiff support.
- Use the --with-tiff=DIR option to use a copy of LibTiff installed in
directory "DIR". Make sure that this copy of LibTiff is compiled before
using this option.
- Do not use --with-tiff together with --with-gdal. If you are also using
--with-gdal then you should *not* use --with-tiff. GDAL provides better
Tiff support than this option, and that will save potential problems at
runtime.
Note: Your version of libtiff may have been compiled with JPEG or ZLIB
support. If so, you may need to specify --with-jpeg=DIR or --with-zlib=DIR
to resolve these libraries for linking. Failure to resolve dependent
libraries may cause linking to fail.
EPPL7 Support:
--------------
::
--without-eppl Disable EPPL7 support.
--with-eppl Include EPPL7 support.
- EPPL7 support is optional and does not require linking with any external
library.
- It will be included by default, and can be disabled with --without-eppl.
PROJ.4 Support:
---------------
::
--with-proj[=DIR] Include PROJ.4 support (DIR is PROJ.4's install dir).
- PROJ.4 support is optional, and is not included by default.
- You have to use the --with-proj=DIR option to enable PROJ.4 support and
specify where PROJ.4 installed. Make sure that this copy of PROJ.4 is
compiled before using this option.
- Starting with MapServer v3.5, PROJ.4.4.2 (or more recent) is required.
- You may also have to install the NADCON data files in order to enable
datum shift support if you installed a source distribution. Look for
proj-nadus-1.0.tar.gz at http://www.remotesensing.org/proj/.
ESRI SDE Support:
-----------------
::
--with-sde[=DIR] Include ESRI SDE support (DIR is SDE's install dir).
--with-sde-version[=VERSION NUMBER] Set ESRI SDE version number (Default
is 91).
- ESRI SDE support is optional, and is not included by default.
- You have to use the --with-sde=DIR option to enable ESRI SDE support and
specify where ESRI SDE is installed.
GEOS Support:
-------------
::
--with-geos=PATH Include GEOS support (PATH is path to geos-config)
- GEOS support is optional, and is not included by default.
MapServer requires GEOS version 2.2.3 or more recent.
- The GEOS library can be found at http://trac.osgeo.org/geos/
XMP Support:
------------
::
--with-exempi=PATH
- XMP support is optional, and is not incuded by default.
- XMP support allows metadata (title, attribute, license, etc) to be directly embedded in the images generated by MapServer.
- The exempi library can be found at http://libopenraw.freedesktop.org/wiki/Exempi
OGR Support:
------------
::
--with-ogr[=PATH] Include OGR support (PATH is path to gdal-config).
- OGR support is optional, and is not included by default.
- The OGR library (http://www.gdal.org/ogr/) allows MapServer
to access data in a variety of vector formats, see the URL above for the
complete list.
- You have to use the --with-ogr[=PATH] option to enable OGR support and
specify where the 'gdal-config' script for your installation is located.
e.g. ./configure ... --with-ogr=/usr/local/bin/gdal-config
- OGR is usually installed as part of a GDAL shared library. To get the
full GDAL and OGR source kit visit http://www.gdal.org/ .
When configuring GDAL ensure that --with-ogr is selected.
Then when you configure MapServer, include the --with-ogr switch with
no argument since the location of the GDAL lib also defines the OGR
location in this case. See the GDAL section below for more details
on using --with-gdal and --with-ogr together.
GDAL Support:
-------------
::
--with-gdal[=path] Include GDAL support (path is to gdal-config script).
- GDAL support is optional, and it is not included by default.
- The GDAL library ( http://www.gdal.org/) allows MapServer
to access data in a variety of raster formats, including GeoTIFF, Erdas
Imagine, ESRI BIL, and CEOS.
- If GDAL is installed (ie. in /usr/local) then it should be sufficient
to say --with-gdal, but if the gdal-config script cannot be found, please
use --with-gdal=/usr/local/bin/gdal-config, or whatever path is is required
to get the gdal-config script.
Note that it is possible to compile GDAL/OGR independently or not in
MapServer:
1) GDAL only using libgdal.so installed in system lib dirs, this assumes
you have previously run 'make install' as root in your GDAL source
tree:
./configure --with-gdal
or
./configure --with-gdal=/usr/local/bin/gdal-config
(or whatever the path to the installed gdal-config script is.)
2) OGR only, using libgdal.so installed in system lib dirs, once again
this assumes you have previously run 'make install' as root in your
GDAL source tree:
./configure --with-ogr
or
./configure --with-ogr=/usr/local/bin/gdal-config
(or whatever the path to the installed gdal-config script is.)
3) GDAL and OGR using libgdal.so, assuming that GDAL was configured with
--with-ogr. Same as #1 above, but add --with-ogr with no argument to
the MapServer configure command:
./configure --with-gdal --with-ogr
or
./configure --with-gdal=/usr/local/bin/gdal-config --with-ogr
PostGIS Support:
----------------
::
--with-postgis[=ARG] Include PostGIS Support (ARG=yes/path to pg_config)
- PostGIS support is optional, and it is not included by default.
- PostGIS support (http://postgis.refractions.net) allows Mapserver
to access geographic data stored in a PostgreSQL (http://www.postgresql.org)
database using the PostGIS server extensions. PostGIS is only supported
on PostgreSQL version 7.1.2 or better. PostGIS supports vector (point,
line, polygon) data only.
- To access a PostGIS/PostgreSQL data-source, the machine on which
Mapserver is running must have the PostgreSQL client libraries
(libpq) installed. To compile Mapserver with PostGIS/PostgreSQL support
the PostgreSQL header files must also be present. The 'pg_config' program
is included with the PostgreSQL distribution. If it is not already
in your path ('which pg_config'), then specify exactly where it can
be found.
Mysql (MySQL v3.xx SFSQL) Support:
----------------------------------
::
--with-mysql[=ARG] Include Mysql Support (ARG=yes/path to my_config)
- Mysql provides join support using MySQl v3.xx. This option is
disabled by default and can be enabled using the --with-mysql option.
Oracle Spatial Support:
-----------------------
::
--with-oraclespatial[=ARG] Include OracleSpatial Support (ARG=yes/path to
Oracle home)
- Oracle Spatial support is optional and is not included by default.
- For more details see the MapServer Wiki at:
http://mapserver.gis.umn.edu/cgi-bin/wiki.pl?OracleSpatial
Flash/SWF/Ming Output Support:
------------------------------
::
Flash support has been removed since MapServer 6.0 due to lack of support and/or
funding. Get in touch with the mapserver team if this is something you wish to sponsor.
PDF output support:
-------------------
::
PDF support has been transitionned to use the cairo rendering backend. Use --with-cairo
to enable it.
CAIRO Support:
--------------
::
--without-cairo Disable Cairo support (default)
--with-cairo[=/path/to/cairo.pc] Enable Cairo Support
- Cairo support is required for PDF or SVG output
- pkg-config is used to obtain the compilation options for cairo. If your
libs and headers are installed in a non-standard location, you can pass
the full path to the cairo.pc configuration package
OGC WMS Server Compatibility:
-----------------------------
::
--without-wms Disable OGC WMS Compatibility (enabled by default).
- OGC WMS Compatibility is enabled by default if PROJ.4 is included.
- WMS Compatibility allows MapServer (actually the mapserv CGI) to advertize
its capabilities and serve maps and feature_info requests following the
OpenGIS Web Mapping Service (WMS) Interface Specification.
- See the MapServer WMS Server HOWTO at
http://mapserver.gis.umn.edu/docs/howto/wms_server
OGC WMS Client Support:
-----------------------
::
--with-wmsclient Enable OGC WMS Client Connections (PROJ4, libcurl and
GDAL required).
- This option enables MapServer's 'CONNECTIONTYPE WMS' to include layers
from remote WMS servers in MapServer applications.
It requires PROJ4, libcurl (see --with-curl-config option below) and GDAL.
GDAL is required in order to support reprojection of layers obtained from
remote WMS servers.
- See the MapServer WMS Client HOWTO for more details at
http://mapserver.gis.umn.edu/docs/howto/wms_client
OGC WFS Server Compatibility:
-----------------------------
::
--with-wfs Enable OGC WFS Server Support (OGR+PROJ4 required).
- This option is used to enable the OGC WFS server extension. It requires
the OGR and PROJ4 options as well.
- See the MapServer WFS Server HOWTO at
http://mapserver.gis.umn.edu/docs/howto/wfs_server
OGC WMS Client Support:
-----------------------
::
--with-wfsclient Enable OGC WFS Client Connections (PROJ4, libcurl and
OGR required).
- This option enables MapServer's 'CONNECTIONTYPE WFS' to include layers
from remote WFS servers in MapServer applications.
WFS client support in MapServer requires PROJ4, libcurl and an installation
of OGR compiled with the Xerces library (for GML support via OGR).
- See the MapServer WMS Client HOWTO for more details at
http://mapserver.gis.umn.edu/docs/howto/wfs_client
OGC SOS Server Support:
-----------------------
::
--with-sos Enable OGC SOS Server Support (libxml2 and PROJ4 and
OGR required).
- OGC Sensor Observation Service (SOS) is disabled by default and can be
enabled using --with-sos. PROJ4 and libxml2 are required.
- See the MapServer SOS Server HOWTO for more details at
http://mapserver.gis.umn.edu/docs/howto/sos_server
Curl Support:
-------------
::
--with-curl-config=PATH Specify path to curl-config.
- The Curl library (http://curl.haxx.se/libcurl/) is used by the WMS
Client and WFS client options to connect to remote servers via HTTP.
- LibCurl 7.10.1 or more recent is required with the current version
of MapServer. It is strongly recommended that you use libcurl
7.10.7 or more recent which contains some important bug fixes.
- If libcurl is installed in the default system directories then it
should automatically be detected by configure. Otherwise use the
--with-curl-config option to specify the path where the curl-config
script is located.
e.g.
./configure .... --with-curl-config=/usr/local/bin/curl-config
Libxml2 Support:
----------------
::
--with-xml2-config=PATH Specify path to xml2-config.
- The libxml2 library (http://xmlsoft.org/) is used by the optional
OGC SOS Server module to handle XML generation and parsing.
- If libxml2 is installed in the default system directories then it
should automatically be detected by configure. Otherwise use the
--with-xml2-config option to specify the path where the xml2-config
script is located.
e.g.
::
./configure .... --with-xml2-config=/usr/local/bin/xml2-config
FriBidi Support:
----------------
::
--with-fribidi-config[=ARG] Include FriBidi Support (ARG=yes/path to
fribidi-config or fribidi.pc)
- The FriBidi library (http://fribidi.freedesktop.org/wiki/) is used
by MapServer to support labels flowing from right to left, such as
Arabic or Hebrew.
- Support for the FriBidi library is optional and is not included by
default.
- The arg to --with-fribidi-config can be one of:
- yes: Autoconf will check if the system has fribidi-config. If not,
it will check if the pkg-config has fribidi in it's packages list.
- path to fribidi-config for fribidi (v0.10.9 and older)
- path to fribidi.pc for fribidi2 (v0.19.1 and more recent)
- This option may be used in combination with the --with-pkg-config[=PATH]
option to specify the path to the pkg-config script
Miscellaneous flags:
--------------------
::
--with-threads[=linkopt]Include thread safe support
::
--enable-ignore-missing-data Ignore missing data file errors at runtime
--disable-ignore-missing-data Report all missing data files (enabled by
default).
::
--enable-point-z-m Use point Z and M parameters (disabled by default).
--disable-point-z-m Disable support for point Z and M parameters.
::
--disable-fast-nint Use safe MS_NINT with reliable rounding
::
--enable-debug Include "-g" in CFLAGS for debugging.
--disable-debug Do not include "-g" in CFLAGS (the default).
::
--enable-cgi-cl-debug-args
Enable mapserv CGI command-line debug arguments
(disabled by default). These command-line args may
be insecure and should be enabled only on
development servers and only if you understand the
security implications.
::
--enable-gcov Enable source code coverage testing using gcov
::
--enable-runpath Include runtime library path flags (-Wl,-R) in link.
Required on *BSD systems.
--disable-runpath Do not link with runtime lib path (the default).
NOTE FOR BSD USERS ABOUT --enable-runpath:
-------------------------------------------
For some reason, the --enable-runpath switch is required in order to
successfully link on BSD systems. For most other operating systems
you don't need the --enable-runpath switch unless you link MapServer
with some shared libraries located outside of the system's runtime
library path. And even then, it is probably preferable to use
"setenv LD_LIBRARY_PATH ..." in Apache's httpd.conf to set the mapserv
CGI or MapScript runtime library path.
PHP/MapScript module:
----------------------
::
--with-php=yes|no|/path/to/php-config
Specify location of php-config script.
Required in order to compile the PHP/MapScript
module.
--enable-perlv-ld-detect (applies to --with-php only)
Use perl -V output to figure the command to use to
link php_mapscript.so. Try this only if the default
internal macro didn't work.
- The --with-php option will trigger the compilation of the PHP MapScript
module in the ./mapscript/php/ directory.
- The argument to the --with-php option is the full path to the php-config
script
e.g. $ ./configure --with-php=/usr/local/bin/php-config
- PHP MapScript now requires PHP 5.2.0 or more recent.
Support for PHP3 has been dropped after MapServer version 3.5.
Support for PHP4 has been dropped after MapServer version 5.6.
- Some libraries are used by both PHP and MapServer, and using different
versions of these libs will lead to potential crashes at runtime. In most
cases it is safe to have both PHP and MapServer compiled with the same
libraries (e.g. GD, regex, etc.) as long as they are of the same versions.
Perl MapScript Module:
----------------------
- The Perl MapScript module is not yet handled by the configure script.
- See the file ./mapscript/perl/README for compilation instructions.
Python MapScript Module:
------------------------
- The Python MapScript module is not yet handled by the configure script.
- See the file ./mapscript/python/README for brief compilation instructions.
Tcl MapScript Module:
---------------------
- The Tcl MapScript module is not yet handled by the configure script.
- See the file ./mapscript/tcl/README for compilation instructions.
- Mapserver must first be configured and build before building Tcl MapScript.
Java Mapscript Module:
----------------------
- Building of Java Mapscript is described in the mapscript/java/README file.
- Relevant configure options are:
::
--with-threads : absolutely necessary due to the highly threaded
nature of Java programs.
--with-java-include-os-name=dirname : use only if compilation of Java
mapscript fails because of missing headers.
dirname is the directory where the os-dependent headers
used by the Java Native Interface are found.
Example:
$JAVA_HOME/include/linux
^^^^^ this is the directory name
On linux the directory is called linux and on Solaris
solaris. The configure script will try to autodetect
it if not specified.
In case autodetection fails you might want to add a comment
to bug:
http://trac.osgeo.org/mapserver/tickets/1209
----------------
$Id$
----------------
Jump to Line
Something went wrong with that request. Please try again.