Main Page
This is the (un-)official Wiki for PLplot. It should provide additional information to complement the PLplot documentation.
Contents
- 1 Building PLplot
- 1.1 Building PLplot with our traditional ABS
- 1.2 Building PLplot with our new CBS
- 1.2.1 Unix
- 1.2.1.1 (Optional) set environment variables to help CMake find system components that are installed in non-standard locations
- 1.2.1.2 (Optional) set environment variables to specify the compilers and compiler flags
- 1.2.1.3 cmake invocation
- 1.2.1.4 Post-CMake processing
- 1.2.1.5 Specifics for various Unix platforms
- 1.2.2 Mac OSX
- 1.2.3 Windows
- 1.2.1 Unix
- 2 Miscellaneous Debris
Building PLplot
Our traditional Autotools Build System (ABS) may be used to configure the PLplot build on Unix platforms. Alternatively, our new CMake Build System (CBS) may be used to configure the PLplot build on both Unix and Windows platforms.
Building PLplot with our traditional ABS
Follow the directions in the INSTALL file. We have no plans to update those instructions any more because our ABS is deprecated and no longer being maintained. Use our CBS instead.
Building PLplot with our new CBS
Our CMake Build System (CBS) has been made available as part of our development releases of PLplot starting with version 5.7.0 and is a build-system paradigm shift compared to our traditional Autotools Build System (ABS). Thus, it is important to consult the CMake documentation to get the most out of our CBS. That documentation is quite thorough but tends to be a bit scattered so we have collected what we think are the best general CMake documentation links for your convenience.
After consulting that documentation, install the appropriate package of CMake for your system platform. Note, you must use at least version 2.4.4 of CMake for your PLplot configuration.
Our ABS does some source-code preparation just before the distribution tarball is built; it prepares source code for a private copy of the libltdl library that is required to dynamically load plotting devices and it uses SWIG to generate the source code needed for our Python and Java interfaces to PLplot. In contrast, our CBS does source-code preparation at build time rather than distribution time. The result is that our CBS has the following two important prerequisites beyond what is required for our ABS: the libltdl library (a small part of the libtool software package) and SWIG. If the user does not have these additional prerequisites installed, our CBS emits a WARNING message and removes the corresponding components of PLplot (i.e., dynamic devices or the Python and Java interfaces) from the build.
There are also a large number of CMake options for PLplot which can be set for cmake to personalize your build. Use the ccmake front end to cmake to obtain documentation of all these options.
Unix
(Optional) set environment variables to help CMake find system components that are installed in non-standard locations
Here is one particular example (which must be executed before the cmake invocation discussed below).
export PKG_CONFIG_PATH=/home/software/libLASi/install/lib/pkgconfig export CMAKE_LIBRARY_PATH=/home/software/autotools/install/lib:/home/software/cgmlib/cd1.3 export CMAKE_INCLUDE_PATH=/home/software/autotools/install/include:/home/software/cgmlib/cd1.3
In these special cases, PKG_CONFIG_PATH helps CMake to use the pkg-config command for a non-standard libLASi install location; CMAKE_LIBRARY_PATH helps CMake to find libltdl and libcd in non-standard install locations; and CMAKE_INCLUDE_PATH helps CMake to find the headers for libltdl and libcd in non-standard install locations.
(Optional) set environment variables to specify the compilers and compiler flags
Here is one particular example (which must be executed before the cmake invocation discussed below).
export CC="gcc -O2" export CXX="g++ -O2" export FC="g77 -O2"
Note a better option is to set CMAKE_BUILD_TYPE to one of Debug, Release, RelWithDebInfo, or MinSizeRel. If you don't set this variable and don't set the environment variables above, then by default no compiler options (i.e., no optimization and no debugging symbols) are used for gcc-related compilers for our CBS which makes for very fast builds, but slow execution.
cmake invocation
mkdir build_dir cd build_dir cmake -DCMAKE_INSTALL_PREFIX=/my/prefix -DCMAKE_VERBOSE_MAKEFILE=ON ../plplot_cmake >& cmake.out
Check the cmake.out file for any configuration issues, especially WARNING messages which signal that a component of PLplot has been removed because required system components for that component have not been found.
Everything can be controlled with -D options to the cmake command. In this case we have specified a particular install prefix "/my/prefix" and verbose make results (essential if you want to see the exact commands used for the build). You can also specify options using the convenient ccmake command-line interface to cmake. That interface also presents annotations for the options.
Note an empty build directory called build_dir is used to insure a clean start, and ../plplot_cmake is a freshly checked out source tree (which remains clean because you never actually create any files in that directory tree). To start fresh, simply execute "cd build_dir; rm -rf *". Of course, this is an extremely dangerous command (since it removes everything in the current directory and all subdirectories), but you should be okay so long as you cd to the correct directory before executing the "rm" command.
Post-CMake processing
The PLplot build and install follows the cmake invocation. The installed tree can be tested with the PLplot install-tree test for a large variety of PLplot device drivers. In addition, build-tree tests may be done with the "ctest" command. Note, these ctests are limited to just the psc (colour postscript) device and can only be performed if cmake is invoked with the -DBUILD_TEST=ON option (which roughly doubles the build time because all the examples must be built).
Specifics for various Unix platforms
Mac OSX
- Mac OSX instructions
- Mac OSX Status current status
Windows
Instructions per Windows platform
- Configure PLplot for Visual CXX
- Configure PLplot for MinGW/CLI
- Configure PLplot for cygwin
- Configure PLplot for Borland CXX 5.5 (free command line tools)
- Install 3rd party libraries
Status of CBS on Windows
Miscellaneous Debris
Edit Wiki pages
Consult the User's Guide for information on using the wiki software. More information can be found here:
Maintain Wiki
This wiki will be backed up on a regular basis. Use these BackupInstructions.
To restore a backup follow these RestoreInstructions.