Source Code
Ubuntu/Debian packages
sudo apt-get install mesa-utils nvidia-current nvidia-current-dev freeglut3-dev build-essential libtool libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev libglewmx1.6-dev glew-utils git cmake libboost-all-dev bison bisonc++ flex
Windows installers
Windows Buildyard
- Install Git and CMake if not yet installed.
- Define an environment variable BOOST_ROOT pointing to your Boost installation.
- Clone Buildyard.
- Use cmd.exe to
cd
into the cloned Buildyard directory and start CMake from there to generate VS2010 projects (VS2010 is autodetected when installed)
- Open
Buildyard.sln
and build the ALL_BUILD
project.
Watch the output for important information. If undesired events occur, adjust
CMakeFiles.txt
for flags and
Find*.cmake
for library detection.
You can resume autoscrolling in the Visual Studio's Output window using Ctrl+End (Strg+Ende) hotkey.
Ubuntu Buildyard
Clone Buildyard into a directory of your choice.
mkdir eq-build && cd eq-build
git clone git://github.com/Eyescale/Buildyard.git
cd Buildyard
Adjust CMake flags in
CMakeLists.txt and use make
gvim CMakeLists.txt #you might want to set CMAKE_BUILD_TYPE=Release
make -j9 release
Use
VERBOSE=1
flag to see what CMake does when building.
If a subproject fails, modify
CMakeLists.txt or other CMake files in the src/{somesubproject} e.g. src/
Lunchbox/
CMakeLists.txt
Ubuntu build story (Without Buildyard)
Tools
# ...
sudo apt-get install cmake
sudo apt-get install libboost-all-dev
sudo apt-get install bison bisonc++
sudo apt-get install flex
Sources from github
(can be copied in from elsewhere)
cd git-stuff/
git clone git://github.com/Eyescale/Equalizer.git
git clone git://github.com/Eyescale/Collage.git
git clone git://github.com/Eyescale/Lunchbox.git
git clone git://github.com/VMML/vmmlib.git
Swap
Surprisingly, Equalized build has to use swap even with 4Gb RAM available.
sudo fallocate -l 8G /mnt/8G.swap
sudo chmod 600 /mnt/8G.swap
sudo mkswap /mnt/8G.swap
sudo swapon /mnt/8G.swap
Building projects
cd Lunchbox/
cmake -i
make -j
grep -Ir PACKAGE_PREFIX_DIR .
vim LunchboxConfig.cmake
# (set PACKAGE_PREFIX_DIR ${HOME}/git-stuff/Lunchbox)
make install
cd ../Collage/
Lunchbox_DIR=~/git-stuff/Lunchbox cmake -i
make -j
grep -Ir PACKAGE_PREFIX_DIR .
vim CollageConfig.cmake
make install
cd ../vmmlib/
cmake -i
make
grep -Ir Werror .
vim CMake/Common.cmake
grep -Ir RELEASE .
vim CMakeLists.txt
cmake -i
make -j
make install
vim vmmlibConfig.cmake
cd ../Equalizer/
Lunchbox_DIR=../Lunchbox/ Collage_DIR=../Collage/ vmmlib_DIR=../vmmlib/ cmake -i
grep -Ir COLLAGE_LIB .
vim CMakeCache.txt
Lunchbox_DIR=../Lunchbox/ Collage_DIR=../Collage/ vmmlib_DIR=../vmmlib/ cmake -i
make -j
CMAKE_INCLUDE_PATH="~/git-stuff/Lunchbox/install/include/:~/git-stuff/Collage/install/include/:~/git-stuff/vmmlib/install/include/" Lunchbox_DIR=../Lunchbox/ Collage_DIR=../Collage/ vmmlib_DIR=../vmmlib/ cmake -i
make -j
less Makefile
Feed CMake the includes
ls include/
cd include/
ln -s ~/git-stuff/Lunchbox/install/include/lunchbox/
ln -s ~/git-stuff/Collage/install/include/co/
ln -s ~/git-stuff/vmmlib/install/include/vmmlib/
cd ..
make -j
Actually quite unnecessary
Just install all projects in one prefix dir from the beginning
mkdir ~/equalizer-gitmaster
cd ~/equalizer-gitmaster/
cp -a ~/git-stuff/Lunchbox/install/* .
cp -a ~/git-stuff/Collage/install/* .
cp -a ~/git-stuff/Equalizer/install/* .
Testing the binaries
cd bin/
LD_LIBRARY_PATH="~/equalizer-gitmaster/lib/" ./eqHello