Open lescheib opened 9 years ago
Ich hab es heute kurz probiert:
Cmake ist von uberspace aus nicht installiert - kann man aber einfach selbst übersetzen (zB https://ricwein.com/ricwein/uberspacetutorial/tree/b2567d1ec193579ec796acf042b5c156db9f4183)
Postgres Headers fehlen -> -DICINGA2_WITH_PGSQL=OFF
cmake \
-DCMAKE_INSTALL_PREFIX=/home/$USER/opt/icinga2 \
-DICINGA2_USER=$USER \
-DICINGA2_GROUP=$USER \
-DICINGA2_COMMAND_GROUP=$USER \
-DICINGA2_PLUGINDIR=CMAKE_INSTALL_PREFIX/usr/lib/nagios/plugins \
-DICINGA2_WITH_PGSQL=OFF \
..
Hier fehlt dann Boost und Yajl - und ich wollte es nicht weiter probieren.
Der ganze Weg bis zum vorherigen cmake:
mkdir ~/src
cd ~/src/
wget https://github.com/Icinga/icinga2/archive/v2.2.2.tar.gz -O icinga-2.2.2.tar.gz
tar xzf icinga-2.2.2.tar.gz
cd icinga2-2.2.2/
mkdir build
cd build
Moin,
ich hatte es auch mal einen Abend lang probiert :) . Das Problem mit Boost bekommt man mittels "-DBoost_NO_BOOST_CMAKE=ON" gelöst. Das Problem mit Yajl konnte ich auch nicht lösen. Laut Icinga2-Doku soll das eigentlich auch optional sein (Bug?).
Ich habe mich mit dem Problem an den Uberspace-Support gewandt, hier die Antwort von Jonas:
Hallo Heiko,
ich habe da jetzt auch ein wenig dran herumanalysiert, aber: Im yajl-devel-RPM gibt es nun mal schlicht keine yajl_version.h.
$ rpm -ql yajl-devel
/usr/include/yajl
/usr/include/yajl/yajl_common.h
/usr/include/yajl/yajl_gen.h
/usr/include/yajl/yajl_parse.h
/usr/lib64/libyajl.so
/usr/share/doc/yajl-devel-1.0.7
/usr/share/doc/yajl-devel-1.0.7/COPYING
Nun ist yajl 1.0.7 auch schon etwas betagter. Ich sehe im Icinga-Source-Verzeichnis aber ein Verzeichnis "third-party" mit einem Unterverzeichnis "yajl", in dem unter anderem diese Datei liegt:
third-party/yajl/src/api/yajl_version.h.cmake
Das sieht so aus, als würde hier während des Kompiliervorgangs dann erst die yajl_version.h aus dieser Datei erstellt.
Ich stecke da jetzt nicht so wirklich tief drin, aber habe zumindest diesen Bugreport hier gefunden:
Only build YAJL when there's no system-provided version available
https://dev.icinga.org/issues/7454
Offenbar gibt es da im CMake-Prozess einen Switch, der dazu in der Lage wäre, den Bau der _mit Icinga gelieferten_ yajl-Bibliothek auszulösen, dies aber unterlässt, *weil* eine globale (aber ältere) Version vorhanden ist.
In CMakeLists.txt finde ich diesen Abschnitt hier:
find_package(YAJL)
if(NOT YAJL_FOUND)
include_directories(${icinga2_BINARY_DIR}/third-party/yajl/include)
link_directories(${icinga2_BINARY_DIR}/third-party/yajl)
set(YAJL_LIBRARIES "yajl")
endif()
Ich orakele hier wirklich ins Blaue hinein, schätze aber, dass du das Problem insofern workarounden könntest, in dem du das if...endif um den Block, der das lokal mitgebrachte yajl baut, entfernst, damit das in jedem Fall geschieht, unabhängig vom Vorhandensein der globalen Installation.
Davon unbenommen würde ich dir aber raten, einen Bugreport bei Icinga2 aufzumachen: Auf die mitgebrachte, vermutlich funktionierende yajl-Library zu verzichten, weil es eine globale gibt, obwohl die bei CentOS 6 schlicht zu alt ist, erscheint mir problematisch.
Viele Grüße,
Jonas
Ich bin bisher nicht dazu gekommen, den Vorschlag von Jonas auszuprobieren.
Hallo,
ist schon jemand weiter gekommen?
Nein. Ich bin mittlerweile auch darüber übergegangen mir einfach die kleinste Kiste bei DigitalOcean zu bestellen und diese automatisiert mit Chef einzurichten.
Aber auch dort habe ich mir Icinga2 noch nicht angeschaut. Die Konfiguration sieht dort ja komplett anders aus. Das hat mich bisher also abgehalten.
On 30 Apr 2015, at 12:03, MatthiasToberer notifications@github.com wrote:
Hallo,
ist schon jemand weiter gekommen?
— Reply to this email directly or view it on GitHub https://github.com/heikobornholdt/uberspace-icinga/issues/10#issuecomment-97726793.
Hallo, ich schalte mich hier auch mal ein 😀
Ich habe mir vom Support 'boost-devel' installieren lassen. Laut IRC erfordert Icinga2 in der neuesten Version eine Boost-Installation. Yajl lässt sich durch ein paar Änderungen zufriedenstellen.
Ich poste eine kleine Anleitung falls die Installation glückt :)
Viel Erfolg 👍
Hallo!
Gescheitert ist die Installation nun an zu viel RAM-Bedarf während des gcc-Builds! Die Bibliotheken und die Vorarbeit scheinen kein Problem zu sein.
phpfs
I managed to build it with:
cmake -DCMAKE_INSTALL_PREFIX=/home/$USER/opt/icinga2 -DICINGA2_USER=$USER -DICINGA2_GROUP=$USER -DICINGA2_COMMAND_GROUP=$USER -DICINGA2_PLUGINDIR=CMAKE_INSTALL_PREFIX/usr/lib/nagios/plugins -DICINGA2_WITH_PGSQL=OFF -DICINGA2_UNITY_BUILD=OFF ..
The last flag prevented the make process from being killed.
Hi,
Hast Du schon mal versucht icinga2 auf Ueberspace zu installieren?