Dies ist der Befehl rrdbuild, der im kostenlosen OnWorks-Hosting-Provider mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
rrdbuild - Anleitung zum Erstellen von RRDtool
Überblick
Wenn Sie den Quellcode von RRDtool heruntergeladen haben, müssen Sie ihn kompilieren. Dieses Dokument gibt
einige Informationen, wie das geht.
RRDtool stützt sich auf Dienste von Drittanbieterbibliotheken. Einige dieser Bibliotheken sind möglicherweise bereits
auf Ihrem System installiert. Sie müssen Kopien der anderen erstellen, bevor Sie können
RRDtool erstellen.
Dieses Dokument informiert Sie über alle notwendigen Schritte, um loszulegen.
In dieser Anleitung wird davon ausgegangen, dass Sie a bash Hülse. Wenn Sie csh/tcsh verwenden, können Sie
entweder Typ bash um für die Compilation auf bash zu wechseln oder wenn du weißt was du tust
Ersetzen Sie einfach die Exportbits durch setenv.
Wir gehen ferner davon aus, dass Ihre Kopien von Teer und um sind eigentlich GNU Teer und GNU um
bzw. Es könnte sein, dass sie installiert sind als Gitarre und gmake auf deinem system
OPTIMISTISCH BUILD
Bevor Sie mit dem Erstellen von RRDtool beginnen, müssen Sie zwei Dinge entscheiden:
1. In welchem Verzeichnis Sie die Software erstellen möchten.
2. Wo Sie die Software installieren möchten.
Sobald Sie sich entschieden haben. Speichern Sie die beiden Speicherorte in Umgebungsvariablen.
BUILD_DIR=/tmp/rrdbuild
INSTALL_DIR=/opt/rrdtool-1.5.4
Wenn dein / Tmp wird mit der Option noexec gemountet (RHEL scheint das zu tun) muss man a . wählen
anderes Verzeichnis!
Stellen Sie nun sicher, dass das BUILD_DIR existiert und gehen Sie dorthin:
mkdir -p $BUILD_DIR
cd $BUILD_DIR
Nehmen wir zunächst an, Sie haben bereits alle erforderlichen Bibliotheken vorinstalliert.
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.5.4.tar.gz
gunzip -c rrdtool-1.5.4.tar.gz | Teer xf -
cd rrdtool-1.5.4
./configure --prefix=$INSTALL_DIR && make && make install
Ok, das war sehr optimistisch. Dieser Versuch wird wahrscheinlich beendet sein mit konfigurieren beschweren
über mehrere fehlende Bibliotheken.
INSTALLIEREN ABHÄNGIGKEITEN
Wenn Ihr Betriebssystem die Installation zusätzlicher Pakete aus einem Software-Repository zulässt, erhalten Sie möglicherweise
weg mit der Installation der fehlenden Pakete. Wenn die Pakete installiert sind, führen Sie configure . aus
erneut und versuchen Sie erneut zu kompilieren. Nachfolgend finden Sie einige Hinweise, wie Sie Ihr Betriebssystem vorbereiten können
Kompilieren von RRDtool.
Ergänzungen zu dieser Liste sind willkommen. Im Allgemeinen sollte RRDtool mit den neuesten arbeiten
Versionen der Bibliotheken. Die hier aufgeführten Versionen sind nur die aktuellen, als ich
habe dies getestet.
OpenSolaris 2008.05
Fügen Sie einfach einen Compiler und das Gnome-Entwicklungspaket hinzu:
pkg installiere sunstudioexpress
pkg installiere SUNWgnome-common-devel
Es gibt ein Problem mit kairo.pc auf OpenSolaris. Es deutet darauf hin, dass xrender erforderlich ist für
Zusammenstellung mit Kairo. Dies ist nicht wahr und auch schlecht, da OpenSolaris nicht enthält
an xrender.pc Datei. Verwenden Sie Perl, um dies zu beheben:
perl -i~ -p -e 's/(Requires.*?)\s*xrender.*/$1/' /usr/lib/pkgconfig/cairo.pc
Stellen Sie sicher, dass das RRDtool-Build-System Ihren neuen Compiler findet
export PFAD=/opt/SunStudioExpress/bin
Debian / Ubuntu
Verwenden Sie apt-get, um sicherzustellen, dass Sie alles haben, was erforderlich ist. Eine Reihe von Paketen wird erhalten
durch Abhängigkeiten hinzugefügt.
apt-get install libpango1.0-dev libxml2-dev
Gentoo
In Gentoo ist die Installation von RRDtool wirklich einfach, Sie müssen es nur tun entstehen rrdtool. Alle
Abhängigkeiten werden automatisch vom Portage-System gehandhabt. Das einzige was du
zu beachten sind USE-Flags, die Ihnen die Feinabstimmung der Funktionen ermöglichen, die RRDtool erstellt wird
mit. Derzeit sind die folgenden USE-Flags verfügbar:
doc - .html- und .txt-Dokumentation installieren
in /usr/share/doc/rrdtool-1.x.xx/
perl - Perl-Sprachbindungen erstellen und installieren
Python - Python-Sprachbindungen erstellen und installieren
ruby - Ruby-Sprachbindungen erstellen und installieren
tcl - tcl-Sprachbindungen erstellen und installieren
rrdcgi - rrdcgi erstellen und installieren
Nachdem Sie sich entschieden haben, welche USE-Flags Sie benötigen, setzen Sie sie entweder in make.conf or
/etc/portage/package.use und schließlich ausführen:
# emerge -va rrdtool
Werfen Sie einen Blick auf das Gentoo-Handbuch für weitere Details zur Verwaltung von USE-Flags:
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?Teil=2
GEBÄUDE- ABHÄNGIGKEITEN
Aber auch das war vielleicht noch zu optimistisch, und Sie müssen Ihre
eigene Kopien einiger der benötigten Bibliotheken. Dinge wie libpng und zlib sind hübsch
Standard, so dass Sie sie wahrscheinlich sowieso auf Ihrem System haben werden. Freetype, Fontinst, Kairo,
Pango kann installiert sein, aber es ist möglich, dass sie ziemlich alt sind und daher nicht gerecht werden
unseren Erwartungen entsprechen, also möchten Sie vielleicht ihre neuesten Versionen kompilieren.
Allgemein bauen Tipps für AIX
Wenn Sie mit AIX arbeiten, finden Sie möglicherweise die --disable-shared Option wird dazu führen, dass die Dinge
Pause für dich. In diesem Fall müssen Sie möglicherweise die Shared Libraries in das RRDtool installieren
PREFIX und arbeiten mit --disable-static stattdessen.
Ein weiterer Hinweis, um RRDtool unter AIX zum Laufen zu bringen, ist die Verwendung des IBM XL C Compilers:
exportieren Sie CC=/usr/vac/bin/cc
PERLCC=$CC exportieren
(Bessere Anweisungen für AIX willkommen!)
Bauen Anweisungen
Einige Bibliotheken möchten wissen, wo andere Bibliotheken sind. Damit dies funktioniert, stellen Sie Folgendes ein
variable Umgebung
export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig
export PFAD=$INSTALL_DIR/bin:$PFAD
Das Obige beruht auf der Anwesenheit der pkgconfig Programm. Nachfolgend finden Sie Anweisungen zu
wie man pkgconfig kompiliert.
Da wir Bibliotheken dynamisch kompilieren, müssen sie wissen, wo sie sich finden.
Dies geschieht durch das Setzen eines entsprechenden LDFLAGS. Leider unterscheidet sich die Syntax wieder
von System zu System:
Solaris
LDFLAGS=-R${INSTALL_DIR} exportieren/ lib
Wenn Sie den Sun Studio/Forte-Compiler verwenden, möchten Sie möglicherweise auch einstellen
CFLAGS="-xO3 -xcode=pic13" (SPARC)
CFLAGS="-xO3 -Kpic" (x86)
Linux
export LDFLAGS="-Wl,--rpath -Wl,${INSTALL_DIR}/ lib"
HPUX
export LDFLAGS="+b${INSTALL_DIR}/ lib"
AIX
export LDFLAGS="-Wl,-blibpath:${INSTALL_DIR}/ lib"
Wenn Sie GNU make installiert haben und es nicht 'make' heißt, dann tun Sie
export MAKE=gmake
export GNUMAKE=gmake
sonst mach einfach
export MAKE=machen
zum pkgconfig
Wie oben erwähnt, wird der gesamte Build-Prozess ohne pkgconfig sehr mühsam sein und
Sorgen Sie also dafür, dass Sie eine Kopie auf Ihrem System haben. Wenn es nicht nativ verfügbar ist,
Hier ist, wie man es kompiliert.
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz
gunzip -c pkg-config-0.23.tar.gz | Teer xf -
cd pkg-config-0.23
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
$MACHEN
$MAKE installieren
Nachdem Sie pkgconfig in einem benutzerdefinierten Verzeichnis installiert haben, richten Sie die entsprechende Umgebung ein
Variable ist hilfreich.
export PKG_CONFIG=$INSTALLVERZ/bin/pkg-config
zum zlib
Die Chancen stehen sehr gut, dass Sie das bereits auf Ihrem System haben ...
cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/zlib-1.2.3.tar.gz
gunzip -c zlib-1.2.3.tar.gz | Teer xf -
cd zlib-1.2.3
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC" --shared
$MACHEN
$MAKE installieren
zum libpng
Libpng selbst erfordert zlib, um zu bauen, also müssen wir ein wenig helfen. Wenn Sie bereits eine Kopie haben
von zlib auf Ihrem System (was sehr wahrscheinlich ist) können Sie die Einstellungen von LDFLAGS löschen und
CPPFLAGS. Beachten Sie, dass der Backslash (\) am Ende von Zeile 4 bedeutet, dass Zeile 4 und Zeile 5
sind in einer Zeile.
cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/libpng-1.2.18.tar.gz
gunzip -c libpng-1.2.18.tar.gz | Teer xf -
cd-libpng-1.2.18
env CFLAGS="-O3 -fPIC" ./configure --prefix=$INSTALL_DIR
$MACHEN
$MAKE installieren
zum freetype
cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/freetype-2.3.5.tar.gz
gunzip -c freetype-2.3.5.tar.gz | Teer xf -
cd freetype-2.3.5
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
$MACHEN
$MAKE installieren
Wenn Sie Probleme beim Erstellen von Freetype auf Solaris haben, können Sie versuchen, die
folgende am Anfang die configure-Zeile:
env EGREP=egrep
zum LibXML2
cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/libxml2-2.6.32.tar.gz
gunzip -c libxml2-2.6.32.tar.gz | Teer xf -
cd libxml2-2.6.32
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
$MACHEN
$MAKE installieren
zum Schriftartconfig
Beachten Sie, dass fontconfig eine Laufzeitkonfigurationsdatei in INSTALL_DIR/etc hat, die Sie vielleicht möchten
Passen Sie das an, damit fontconfig die Schriftarten auf Ihrem System findet. Führen Sie das fc-Cache-Programm aus
um den Fontconfig-Cache zu erstellen, nachdem die Konfigurationsdatei geändert wurde.
cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/fontconfig-2.4.2.tar.gz
gunzip -c fontconfig-2.4.2.tar.gz | Teer xf -
cd-fontconfig-2.4.2
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC" --with-freetype-config=$INSTALL_DIR/bin/freetype-config
$MACHEN
$MAKE installieren
zum Pixman
cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/pixman-0.10.0.tar.gz
gunzip -c pixman-0.10.0.tar.gz | Teer xf -
cd pixman-0.10.0
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
$MACHEN
$MAKE installieren
zum Kairo
cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/cairo-1.6.4.tar.gz
gunzip -c cairo-1.6.4.tar.gz | Teer xf -
cd kairo-1.6.4
./configure --prefix=$INSTALL_DIR \
--enable-xlib=nein \
--enable-xlib-render=nein \
--enable-win32=nein \
CFLAGS="-O3 -fPIC"
$MACHEN
$MAKE installieren
Wenn Sie auf Solaris bauen, möchten Sie vielleicht Folgendes tun
./configure --prefix=$INSTALL_DIR \
--enable-xlib=nein \
--enable-xlib-render=nein \
--enable-win32=nein \
CFLAGS="-O3 -fPIC -D_POSIX_PTHREAD_SEMANTICS"
zum glatt
cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/glib-2.15.4.tar.gz
gunzip -c glib-2.15.4.tar.gz | Teer xf -
cd glib-2.15.4
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
$MACHEN
$MAKE installieren
zum Pango
cd $BUILD_DIR
wget http://oss.oetiker.ch/rrdtool/pub/libs/pango-1.21.1.tar.bz2
bunzip2 -c pango-1.21.1.tar.bz2 | Teer xf -
cd pango-1.21.1
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC" --ohne-x
$MACHEN
$MAKE installieren
zum rrdtool (Sekunde Versuchen)
Jetzt sind alle abhängigen Bibliotheken erstellt und Sie können es erneut versuchen. Diesmal erzählst du
konfigurieren, wo nach Bibliotheken und Include-Dateien gesucht werden soll. Dies geschieht über
Umgebungsvariablen. Abhängig von der ausgeführten Shell ist die Syntax für die Einstellung
Umgebungsvariablen ist anders.
Und schließlich versuchen Sie es erneut. Wir deaktivieren die Python- und Tcl-Bindungen, weil es so aussieht
dass eine ganze Reihe von Leuten schlecht konfigurierte Python- und Tcl-Setups haben, die verhindern würden
RRDtool vom Erstellen, wenn sie in ihrem aktuellen Zustand enthalten sind.
cd $BUILD_DIR/rrdtool-1.5.4
./configure --prefix=$INSTALL_DIR --disable-tcl --disable-python
$MACH sauber
$MACHEN
$MAKE installieren
SOLARIS HINWEIS: Wenn Sie das Perl-Modul für das native Perl erstellen möchten (dasjenige, das
mit Solaris) benötigen Sie den Sun Forte-Compiler, der auf Ihrer Box installiert ist, oder Sie müssen
Hand-Tune Bindings/Perl-Shared/Makefile beim Bauen!
Gehe jetzt zu $INSTALL_DIR/share/rrdtool/examples/ und führen Sie sie aus, um zu sehen, ob Ihr Build erfolgreich war
erfolgreich.
Verwenden Sie rrdbuild online mit den onworks.net-Diensten