Build from Source, Mac
The standard Install Mac provides almost everything you need to also build the software from source -- start by doing this regular install. As of version 8.5 we have updated the
emergent_install_mac_deps script to use the HomeBrew package management system for most of the dependencies -- if you haven't run that yet, it is recommended to get more automatic support for different OS versions etc.
Then follow these additional steps:
- Install xcode -- it is a free download on the Mac AppStore: https://itunes.apple.com/us/app/xcode/id497799835?mt=12
- Agree to the Xcode license, and then install the command-line tools and important include paths etc. Open a terminal window and execute these commands. You'll need to type "agree" after viewing the agreement that you didn't read.
sudo xcodebuild -license xcode-select --install
- You need to specify the path to QT5. Add the following line to your .bashrc or .bash_profile (or analogous) file in your home directory:
Open a new terminal window or source the .bashrc script and check that the command
fatal error: 'QtCore/qsystemdetection.h' file not found
If you get this error reinstall the Xcode command line tools
then restart the build process from the emergent directory - using the "clean" option
./configure --qt5 --clean # (or do --help to see all the options) cd build make sudo make install
- If you're upgrading from earlier versions, it is recommended that you remove your entire emergent directory. Definitely at least include the 'clean' option to configure.
- Download the source as detailed on the main page:
svn checkout http://grey.colorado.edu/svn/emergent/emergent/trunk ~/emergent
Go to your emergent directory and do:
./configure qt5 webkit clean # (or do --help to see all the options) -- we are using webkit instead of webengine now to avoid a bug in webengine on Qt 5.9.3 cd build make sudo make install
- Build Mac Xcode -- use the xcode gui development environment
- Build Mac Homebrew -- uses the homebrew packaging system to handle all the dependency libraries (we are mostly doing this already now)
emergent.app Bundle info
When you Install Mac it automatically installs an
emergent.app bundle in
/Applications. The source for this bundle is in
install_mac_app/emergent.app. You can also go to that directory and type,
open emergent.app to run the software. If you want to create new ".app" bundles to link to different versions of emergent, you can just copy this directory (e.g., cp -av emergent.app emergent_dbg.app) and go into the directory and change the symbolic link under Contents/MacOS/emergent and the Info.plist information. There are also .app bundles in the top level that link directly into the build and build_dbg directories, for running non-installed code as a bundle instead of just as a command-line app (this gives it proper gui menu focus etc): emergent_build.app and emergent_build_dbg.app.
ccmake and install errors
If a file that was present during the last time cmake configured itself is subsequently removed, you'll get this kind of install error:
CMake Error at prog_lib/cmake_install.cmake:31 (file): file INSTALL cannot find "/Users/oreilly/emergent/prog_lib/ObjectsEnv.prog". Call Stack (most recent call first): cmake_install.cmake:105 (include)
To fix this, in your build directory, do:
ccmake ../ then hit c (configure) and then g (generate) then e (exit) sudo make install
Reference Information on Prerequisite Libraries
These are all the libraries that emergent depends upon -- on most Build procedures, these libraries are available as pre-compiled, easy-to-use packages of one form or another. This information is just for general reference and in case you want to update or otherwise do something special with a particular library.
Current versions of each relevant package are always available on our ftp site:
The prerequisites are generally the same across operating systems but always check the operating system specific build instructions for version info.