10 June 2015
This page describes the formats in which PLEXIL is available; how to get started with PLEXIL; and PLEXIL's operating requirements. Familiarity with Unix, Linux, or similar environments is assumed.
At this writing, there are two ways you can get PLEXIL:
- Download a compressed archive (tarball) of the sources.
- Check out the source code from its Subversion (SVN) repository. This option gets you the very latest software, but stability may be an issue as the code base is under active development.
In either case, you must build the sources to get something usable.
Compressed source archive
The compressed source archive file may be downloaded from this site. It is built with the GNU tar utility.
The archive may be expanded by the archive utility on your platform, or at the command line:
tar xzf plexil-4.0.0.tar.gz
This will expand to a directory named plexil-4.0.0 with all the source and example files. This is the directory to use as PLEXIL_HOME in the procedures below.
Note that as the released version number changes, the directory name in the archive will change accordingly.
PLEXIL source code may be checked out from its SVN repository on Sourceforge.
In a Unix shell, the following command will check out the current development version of the source code:
This will create a directory named plexil-4 with all the source files. This will be the PLEXIL_HOME directory. The name of this directory will not change for the life of the PLEXIL 4.x release.
If all the prerequisite software (see Software Requirements on this page) is installed, the following should work to build the entire PLEXIL suite from source:
cd $PLEXIL_HOME make
See the README file for more detailed information.
NOTE: Plexil may not build correctly if installed in a directory that is a symbolic link, such as /tmp in Mac OS X.
Platforms should meet the following requirements in order to run PLEXIL.
PLEXIL requires a 32- or 64-bit processor. The code base is 64-bit clean. It is actively developed and tested on Intel x86 and Intel x86-64 (a.k.a. AMD64) processors. It is somewhat less actively tested on PowerPC and ARM 32-bit platforms.
Hardware floating point is desirable, but not required if a software floating point library is available. PLEXIL 4 was specifically intended to reduce dependence on floating point operations compared to previous releases.
The source distribution requires about 200 MB disk space to build fully.
Precise memory requirements vary by platform and application, but the Executive should run adequately on most systems with at least 16 MB of RAM, including embedded platforms. The associated programs (Viewer, compilers, etc.) will obviously require more resources.
The PLEXIL Executive and its related applications should run on most Unix-like platforms. The development team regularly builds and maintains PLEXIL on the following platforms:
- Linux (Red Hat Enterprise Linux, versions 5 and newer; Ubuntu releases since 12.04 LTS) on x86 and x86-64 (AMD64) systems
- MacOS X versions 10.8 and newer on x86-64 Macs
The PLEXIL Executive is also maintained on the VxWorks real time operating system on 32-bit PowerPC via cross-compilation.
The executive sources (though not all the related applications) have been cross-compiled to embedded Linux operating systems on 32-bit ARM.
We anticipate PLEXIL should run with little or no change on other Unix family environments such as the BSD family, Solaris, etc. At present we do not maintain PLEXIL on these platforms. Others have ported the PLEXIL Executive to the Cygwin Unix-like development environment on Microsoft Windows.
Building PLEXIL requires a number of open-source development tools, most of which should be installed already in a typical Linux or Mac development environment.
The following are required for the build process itself:
These are provided by the standard development environments on Linux and Mac OS X. BSD family systems typically don't have these programs installed by default. BSD make and sh are not compatible with the GNU versions. The GNU sources are straightforward to download and build.
The PLEXIL compilers, PLEXIL Viewer, and other development tools are written in portable Java. One of the following Java development environments is required:
- Oracle Java SE JDK version 6 or newer (free to download, but not open source)
- OpenJDK version 6 or newer
NOTE: The Plexil Viewer in PLEXIL 4 requires Java 8 or newer. Either the Oracle or OpenJDK version will work. To install the Oracle Java 8 JDK on an older Ubuntu or Linux Mint release, see these instructions. Please contact us for a workaround if you are unable to install Java 8 on your development environment.
The following software packages are required for building the PLEXIL Java software from its source code.
- Apache ant version 1.7 or newer - requires the antlr add-ons to build the Plexilscript compiler
- Java compiler for the chosen Java runtime
The PLEXIL Executive and related programs are primarily written in C++. PLEXIL programs should be buildable on any C++03 and C99 compliant compiler, and runnable in most POSIX-compliant environments. The following compiler suites are used in development and known to work across multiple platforms.
- gcc (GNU Compiler Collection) version 3.3.3 or newer (default)
- clang (C-language front end for LLVM) version 3.3 or newer
There are no known issues on desktop systems using either GNU libc/libcpp/libstdc++ or LLVM libc++, the standard libraries associated with the compiler suites above.
We have successfully built for embedded Linux platforms using uClibc, a lightweight libc implementation, with some caveats. Other reduced libc variants should work also, but we have not tried them.
To build the RoboSim graphical robot simulator, additional X Window System packages are required. These can frequently be found via the system package manager on Linux, or third-party package managers on Mac OS X.
- freeglut and its development header files
- libxi and its development header files
- libxmu and its development header files
If you are building the Plexil Executive from an SVN checkout, the following packages are also required:
These packages, known collectively as the GNU autotools, are available in source form from all GNU mirror sites. In addition, these tools can also be installed via the package managers on most major Linux distributions, and through the third-party package managers MacPorts, Fink, and Homebrew on Mac OS X. The PLEXIL source files should work with most versions of the autotools. If you find versions on which they do not work, please contact the PLEXIL team with specifics.
Caution: The libtool utility provided with Apple's Xcode development tools is not GNU libtool. You must install GNU libtool if you are planning to build PLEXIL from an SVN checkout.
Copyright (c) 2006-2015, Universities Space Research Association (USRA). All rights reserved.