Source instructions

easyNet has a GUI and a simulation engine, which are built separately.

GUI

The GUI depends on Qt. Tested versions are 5.11 on Windows using the mingw compiler. Source is available in its git repository on github. The standard Qt application build procedure (qmake and make or via Qt Creator IDE) applies.

lazyNut simulation engine

lazyNut depends on R 3.3 or above, with Rcpp and RInside packages for build.

lazyNut depends on Boost C++ libraries.

lazyNut source is available in its sourceforge repository.

There are platform-specific Makefiles in the src/modular-scratch directory. There is currently no configure script, so the locations of the dependencies are likely to need to be modified by hand.

Platform-specific notes

Windows — lazyNut must be built with the Rtools build tools; no other compiler will work. Makefile-64 will build a 64-bit version; "make clean" must be run when switching between 32-bit and 64-bit builds. Relevant boost files will be build within the source tree for Windows only, since these are not widely available within the Rtools toolchain.

Mac — lazyNut will build with clang++ from Xcode. Both libc++ and libstdc++ must be available. R and boost may be installed from packages; the local copy of boost will not be used.

Linux — R and boost may be installed from distribution packages; the local copy of boost will not be used.

Model scripts, data etc.

There is a git repository on github for some categories of data file.

Deployment

lazyNut on all platforms requires that the platform-independent bin/R-library folder be present, as well as the platform specific bin/nm_files (windows), bin-max/nm_files or bin-linux/nm_files. An environment variable EASYNET_HOME should be set to the directory containing bin (and bin-mac or bin-linux as needed). An environment variable EASYNET_DATA_HOME should be set to the location of files from the easyNet_data repository. lazyNut should be launched by the platform-specific scripts bin/lazyNut.bat, bin-mac/lazyNut.sh or bin-linux/lazyNut.sh . The GUI's view/change Settings option controls EASYNET_HOME and EASYNET_DATA_HOME for current and future runs via the GUI.

On all platforms, R must be available for lazyNut; in addition to standard packages (stats,lattice,methods,grDevices,datasets,graphics,utils,base,grid), RInside and the packages used by plots will be needed. Normally R will be found from the global settings (on Windows via the registry; on Mac by running a short R script, assuming R is in the path; on linux, libR.so must be in the standard dynamic linker search path), but on Windows it lazyNut.bat will also try bin/R-local/R-3.1.0 .

Some Qt libraries need to be available: Qt5{Core,GUI,Svg,Widgets,Xml,Sql} are included in the binary packages, as well as relevant files from the platforms and imageformats sub-directories of Qt libraries.

On Windows, the GUI runtime requires libgcc_s_dw2-1.dll libstdc++-6.dll and libwinpthread-1.dll from Qt's mingw, and lazyNut requires cygboost_regex-mt-1_53.dll cyggcc_s-1.dll cygicudata48.dll cygicui18n48.dll cygicuuc48.dll cygstdc++-6.dll and cygwin1.dll from Rtools cygwin.

On Mac and Linux, dynamic versions of boost libraries are used.

back to downloads page