==== Grundvoraussetzungen fürs Bauen ==== * cmake 2.8 * libjsoncpp-dev 0.6.0-rc3 * libgsl-dev 0.16.0 * g++-4.6 * libicu48 (unicode-Zeug: sollte immer da sein) === Pakete zum Bauen der root-Umgebung === * libssl-dev ==== Benötigte Python-Pakete ==== * python-scipy * python-pip * python-numpy * ipython * pylint * python-simplejson ==== Python-Pakete (pip) ==== * python-pymongo ==== Damit Timmi arbeiten kann ==== * jed / emacs ==== Build-Prozess ==== Um 'From Scratch' auf jeder Maschine bauen zu können, verwenden wir ein eigenes root, dass alle externen Bibliotheken (kompiliert) enthält. Weiterhin die include-Dateien und bin-Skripte. Für die lokalen Maschinen ist das root im git-Repo enthalten. Für den Server benötigen wir aufgrund der glib-Version ein eigenes root. Dieses wird auf dem Server gebaut. Momentan liegt es in ''%%/home/picalike-dev/v3/root%%''. === Kompilieren der root-Umgebung ===
    * cd /extern * export ROOT_DIR=$HOME/v3/root * mkdir -p build * cd build * tar xfj ../boost_1_55_0.tar.bz2 * cd boost_1_55_0 * ./bootstrap.sh * ./b2 link=shared,static threading=multi,single --layout=tagged --prefix=$ROOT_DIR install * cd .. * #tar xfz ../cpp-netlib-0.11.0.tar.gz * #cd cpp-netlib-0.11.0-final * #patch -p1 < ../../cpp-netlib-0.11.0.patch * #cmake -D CMAKE_BUILD_TYPE=Release . * #make -j5 * #cp libs/network/src/lib*.a $ROOT_DIR/lib/ * #cp -r boost/* $ROOT_DIR/include/boost/ * #cd .. * unzip ../opencv-2.4.8.zip * cd opencv-2.4.8 * mkdir build * cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=$ROOT_DIR .. * make -j 5 install
=== Kompilieren von pvt-dev === Entweder im Verzeichnis /packages das Skript make_all_packages.sh ausführen, oder in einem Verzeichnis nach belieben die folgenden Zeilen ausführen:
    * mkdir build-indexer * cd build-indexer * CC=gcc-4.6 CXX=g++-4.6 cmake -DCMAKE_BUILD_TYPE=Release /packages/indexer * make -j5 # -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg. * make test * make doc # optional * make package
=== Target auswählen === ''%%cmake -DCMAKE_BUILD_TYPE={Release,Debug}%%'' Wird keine der beiden Typen ausgewählt, dann wird im Top-Level CMakeLists.txt ''%%CMAKE_BUILD_TYPE=Release%%'' gesetzt === Vision === In extern im git-Repo sollten nur die Tarballs liegen. Ein build.sh entpackt die Dateien, patched ggf. die Makedateien mit notwendigen Besseres Handling für externe Bibliotheken: http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries (siehe http://trac.picalike.corpex-kunden.de/trac/ticket/4)