これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド rrdbuild です。
プログラム:
NAME
rrdbuild - RRDtool のビルド手順
概要
RRDtool のソースをダウンロードした場合は、それをコンパイルする必要があります。 この文書は、
これがどのように行われるかについての情報。
RRDtool はサードパーティ ライブラリのサービスに依存しています。 これらのライブラリの一部はすでに提供されている可能性があります。
システムにインストールされています。 コンパイルする前に、他のコピーをコンパイルする必要があります。
RRDツールをビルドします。
この文書では、作業を開始するために必要なすべての手順について説明します。
この手順では、次のコマンドを使用していることを前提としています。 bash シェル。 csh/tcsh を使用する場合は、次のことができます。
どちらのタイプでも bash コンパイルのために bash に切り替えるか、何をしているのかわかっている場合
エクスポートビットをsetenvに置き換えるだけです。
さらに、お客様のコピーが tar と make 実際には GNU tar と GNU make
それぞれ。 としてインストールされている可能性があります ゲーター と gmake あなたのシステムで。
楽観的 BUILD
RRDtool の構築を開始する前に、次の XNUMX つのことを決定する必要があります。
1. ソフトウェアをビルドするディレクトリ。
2. ソフトウェアをインストールする場所。
決めたら。 XNUMX つの場所を環境変数に保存します。
BUILD_DIR=/tmp/rrdbuild
INSTALL_DIR=/opt/rrdtool-1.5.4
もしあなたの / tmpに noexec オプションでマウントされています (RHEL はそうするようです)。
ディレクトリが違います!
次に、BUILD_DIR が存在することを確認して、そこに移動します。
mkdir -p $BUILD_DIR
cd $BUILD_DIR
まず、必要なライブラリがすべてプレインストールされていると仮定します。
wgetの http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.5.4.tar.gz
Gunzip -c rrdtool-1.5.4.tar.gz | タールxf -
cd rrdtool-1.5.4
./configure --prefix=$INSTALL_DIR && 作成 && インストールを作成
わかりました、これは非常に楽観的でした。 この試みはおそらく次で終了するでしょう configure 不満
いくつかの不足しているライブラリについて。
インストール 依存関係
OS でソフトウェア リポジトリから追加のパッケージをインストールできる場合、次のような問題が発生する可能性があります。
不足しているパッケージをインストールする必要がなくなります。 パッケージがインストールされたら、configure を実行します
もう一度コンパイルしてみてください。 以下に、OS を準備するためのヒントを示します。
RRDtoolをコンパイルしています。
このリストへの追加は大歓迎です。 一般に、RRDtool は最新のバージョンで動作するはずです。
ライブラリのバージョン。 ここにリストされているバージョンは、私が作成した時点での最新のものです。
これをテストしました。
OpenSolaris 2008.05
コンパイラと gnome 開発パッケージを追加するだけです。
pkg インストール sunstudioexpress
pkg インストール SUNWgnome-common-devel
に問題があります カイロ.pc OpenSolaris 上で。 xrender が必要であることを示唆しています
カイロを使ったコンパイル。 これは真実ではなく、OpenSolaris には
an xrender.pc ファイル。 これを修正するには Perl を使用します。
perl -i~ -p -e 's/(Requires.*?)\s*xrender.*/$1/' /usr/lib/pkgconfig/cairo.pc
RRDtool ビルド システムが新しいコンパイラを検出していることを確認してください
エクスポート PATH=/opt/SunStudioExpress/bin
Debianの / Ubuntu
apt-get を使用して、必要なものがすべて揃っていることを確認します。 いくつかのパッケージが得られます
依存関係を通じて追加されました。
apt-get インストール libpango1.0-dev libxml2-dev
Gentooの
Gentoo では、RRDtool のインストールは非常に簡単です。 出てくる rrdtool。 すべて
依存関係は Portage システムによって自動的に処理されます。 あなただけのもの
注意すべきは、RRDtool が構築される機能を微調整できる USE フラグです。
と。 現在、次の USE フラグが利用可能です。
doc - .html および .txt ドキュメントをインストールします
/usr/share/doc/rrdtool-1.x.xx/ に
perl - Perl 言語バインディングを構築およびインストールする
Python - Python 言語バインディングをビルドしてインストールする
Ruby - Ruby 言語バインディングを構築してインストールする
tcl - tcl 言語バインディングを構築およびインストールする
rrdcgi - rrdcgi をビルドしてインストールする
必要な USE フラグを決定したら、次のいずれかに設定します。 make.conf or
/etc/portage/package.use そして最後に実行します:
# emerge -va rrdtool
USE フラグの管理方法の詳細については、Gentoo ハンドブックを参照してください。
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?パーツ=2
ビル 依存関係
しかし、やはりこれはまだ楽観的すぎるかもしれないので、実際にコンパイルする必要があります。
必要なライブラリの一部の独自のコピー。 libpng や zlib などは便利です
標準なので、おそらくシステム上にそれらが存在するでしょう。 フリータイプ、フォンティンスト、カイロ、
Pango がインストールされている可能性がありますが、かなり古いため動作しない可能性があります。
私たちの予想通りなので、最新バージョンをコンパイルすることをお勧めします。
ビルド ヒント for AIX
AIX を使用している場合は、 -- 共有を無効にする オプションにより問題が発生します
あなたのために休憩してください。 その場合、共有ライブラリを RRDtool にインストールする必要がある場合があります。
プレフィックスを付けて操作する --disable-static を代わりにお使いください。
RRDtool を AIX 上で動作させるためのもう XNUMX つのヒントは、IBM XL C コンパイラーを使用することです。
エクスポート CC=/usr/vac/bin/cc
エクスポート PERLCC=$CC
(AIX 向けのより良い指示を歓迎します!)
建設 説明書
一部の図書館は、他の図書館がどこにあるかを知りたいと考えています。 これを機能させるには、次のように設定します
環境変数
エクスポート PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig
エクスポート PATH=$INSTALL_DIR/bin:$PATH
上記は、 pkgconfig プログラム。 以下に手順があります
pkgconfigをコンパイルする方法。
ライブラリを動的にコンパイルしているため、ライブラリはお互いの場所を知っている必要があります。
これは、適切な LDFLAGS を設定することによって行われます。 残念ながら、構文がまた異なります
システムからシステムへ:
ソラリス
エクスポート LDFLAGS=-R${INSTALL_DIR}/ lib
Sun Studio/Forte コンパイラを使用している場合は、次のように設定することもできます。
CFLAGS="-xO3 -xcode=pic13" (SPARC)
CFLAGS="-xO3 -Kpic" (x86)
Linux
エクスポート LDFLAGS="-Wl,--rpath -Wl,${INSTALL_DIR}/ lib"
HPUX
エクスポート LDFLAGS="+b${INSTALL_DIR}/ lib"
AIX
エクスポート LDFLAGS="-Wl,-blibpath:${INSTALL_DIR}/ lib"
GNU make がインストールされていて、それが「make」と呼ばれていない場合は、次のようにします。
エクスポート MAKE=gmake
エクスポート GNUMAKE=gmake
それ以外の場合はただ行うだけです
エクスポート MAKE=メイク
建物 pkgconfig
上で述べたように、pkgconfig がないと、ビルド プロセス全体が非常に面倒になります。
したがって、システム上にコピーがあることを確認してください。 ネイティブで利用できない場合は、
コンパイル方法は次のとおりです。
wgetの http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz
Gunzip -c pkg-config-0.23.tar.gz | ガンジップ -c pkg-config-XNUMX.tar.gz タールxf -
cd pkg-config-0.23
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
$メイク
$MAKE インストール
カスタム ディレクトリに pkgconfig をインストールした後、対応する環境をセットアップする
変数が役に立ちます。
エクスポート PKG_CONFIG=$INSTALL_DIR/bin/pkg-config
建物 ZLIB
あなたのシステムにすでにそれがインストールされている可能性が非常に高いです...
cd $BUILD_DIR
wgetの http://oss.oetiker.ch/rrdtool/pub/libs/zlib-1.2.3.tar.gz
ガンジップ -c zlib-1.2.3.tar.gz | タールxf -
CD zlib-1.2.3
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC" --shared
$メイク
$MAKE インストール
建物 libpng
Libpng 自体はビルドに zlib を必要とするため、少し手助けする必要があります。 すでにコピーをお持ちの場合
システム上の zlib の設定を削除すると (これは非常に可能性が高いですが)、LDFLAGS と
CPPFLAGS。 4 行目の末尾のバックスラッシュ (\) は、4 行目と 5 行目という意味であることに注意してください。
は XNUMX つの行にあります。
cd $BUILD_DIR
wgetの http://oss.oetiker.ch/rrdtool/pub/libs/libpng-1.2.18.tar.gz
ガンジップ -c libpng-1.2.18.tar.gz | タールxf -
CD libpng-1.2.18
env CFLAGS="-O3 -fPIC" ./configure --prefix=$INSTALL_DIR
$メイク
$MAKE インストール
建物 フリータイプ
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 | タールxf -
cd freetype-2.3.5
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
$メイク
$MAKE インストール
Solaris 上で freetype を構築する際に問題が発生した場合は、
先頭にconfigure行が続きます:
env EGREP=egrep
建物 リブXML2
cd $BUILD_DIR
wgetの http://oss.oetiker.ch/rrdtool/pub/libs/libxml2-2.6.32.tar.gz
ガンジップ -c libxml2-2.6.32.tar.gz | タールxf -
CD libxml2-2.6.32
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
$メイク
$MAKE インストール
建物 fontconfig
fontconfig には INSTALL_DIR/etc に実行時設定ファイルがあることに注意してください。
fontconfig がシステム上のフォントを検索できるように調整してください。 fc-cache プログラムを実行する
構成ファイルを変更した後に fontconfig キャッシュを構築します。
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 | タールxf -
cd fontconfig-2.4.2
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC" --with-freetype-config=$INSTALL_DIR/bin/freetype-config
$メイク
$MAKE インストール
建物 ピックスマン
cd $BUILD_DIR
wgetの http://oss.oetiker.ch/rrdtool/pub/libs/pixman-0.10.0.tar.gz
ガンジップ -c pixman-0.10.0.tar.gz | タールxf -
CD pixman-0.10.0
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
$メイク
$MAKE インストール
建物 カイロ
cd $BUILD_DIR
wgetの http://oss.oetiker.ch/rrdtool/pub/libs/cairo-1.6.4.tar.gz
ガンジップ -c cairo-1.6.4.tar.gz | タールxf -
cd カイロ-1.6.4
./configure --prefix=$INSTALL_DIR \
--enable-xlib=いいえ \
--enable-xlib-render=no \
--enable-win32=いいえ \
CFLAGS="-O3 -fPIC"
$メイク
$MAKE インストール
Solaris 上に構築する場合、次のことを行う必要があるかもしれません
./configure --prefix=$INSTALL_DIR \
--enable-xlib=いいえ \
--enable-xlib-render=no \
--enable-win32=いいえ \
CFLAGS="-O3 -fPIC -D_POSIX_PTHREAD_SEMANTICS"
建物 グリブ
cd $BUILD_DIR
wgetの http://oss.oetiker.ch/rrdtool/pub/libs/glib-2.15.4.tar.gz
ガンジップ -c glib-2.15.4.tar.gz | タールxf -
cd glib-2.15.4
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
$メイク
$MAKE インストール
建物 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 | bunzipXNUMX -c pango-XNUMX.tar.bzXNUMX タールxf -
cd パンゴ-1.21.1
./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC" --without-x
$メイク
$MAKE インストール
建物 rrdtool (XNUMX番 試す)
これで、すべての依存ライブラリが構築されたので、再試行できます。 今度はあなたが言う
ライブラリとインクルードファイルを探す場所を設定します。 これは経由して行われます
環境変数。 実行しているシェルに応じて、設定の構文は
環境変数が違います。
そして最後にもう一度ビルドしてみます。 Python と tcl バインディングを無効にします。
かなりの数の人が Python と TCL のセットアップを誤って設定しており、
RRDtool が現在の状態に含まれている場合、ビルドから除外されます。
cd $BUILD_DIR/rrdtool-1.5.4
./configure --prefix=$INSTALL_DIR --disable-tcl --disable-python
$メイククリーン
$メイク
$MAKE インストール
SOLARIS ヒント: ネイティブ Perl (出荷されているもの) 用の Perl モジュールを構築したい場合
Solaris の場合)、Sun Forte コンパイラをボックスにインストールする必要があります。
ビルド中にバインディング/perl-shared/Makefile を手動で調整してください。
さあ行く $INSTALL_DIR/share/rrdtool/examples/ それらを実行して、ビルドが完了したかどうかを確認します
成功しました。
onworks.net サービスを使用してオンラインで rrdbuild を使用する