プラスα空間

ブログ in お市 のーと

QNAP TS-412にコンパイル環境

TS-412を買いましたが、カスタマイズのためには、コンパイル環境をそろえる必要があります。

次のウェブサイトを参考に、コンパイル環境を構築しました。ありがとうございます。

sedが使えないと、各種ツールのインストールができない様です。また、/optに入っているバイナリを参照するようにすれば問題ないので、オリジナルのファイルは触りません。

# ipkg update
# ipkg install gcc
# ipkg install make  
# ipkg install grep
# ipkg install gawk
# ipkg install sed
# export PATH=/opt/bin:/opt/sbin:$PATH

一応、これだけ入れればコンパイルはできるようですが、ついでなので、関連ツールもインストールします。

# ipkg install patch
# ipkg install perl
# ipkg install tree

では、実際にコンパイルしてみます。サンプルは、教科書に載っている、”Hello, world!” (hello.c)です。

#include <stdio.h>

main(int argc, char **argv)
{
  printf("Hello, world!\n");
}

コンパイルと実行結果は、次の通りです。

# gcc -o hello hello.c
# ./hello
Hello, world!

うまく行きました。

ですが、本格的なプログラムをビルドしようとすると、これだけでは足りません。結局、QNAPediaに載っている物を、全部インストールしました。

必要な物がわかりやすいように、複数のコマンドに分解しました。でも、ipkgは、複数のパッケージをまとめて指定できるようです。

# ipkg install nano (エディタ。お好みで。)
# ipkg install gcc (必須)
# ipkg install make (必須)
# ipkg install automake (開発中のソースからビルドする時に必要かも)
# ipkg install pkgconfig (開発中のソースからビルドする時に必要かも)
# ipkg install ncurses ncursesw ncurses-dev (画面処理関係)
# ipkg install wget (ダウンローダ)
# ipkg install coreutils (sortなど、各種ユーティリティ。busyboxでは、オプションが足りないので)
# ipkg install findutils (busyboxのfindでは、オプションが足り
# ipkg install patch (ファイル修正用)
# ipkg install sed (ファイル修正用)
# ipkg install grep (ファイル検索用)
# ipkg install gawk (テキスト処理)
# ipkg install perl perl-libxml perl-dbi (テキスト処理)

これだけインストールしておけば、パッケージをソースからビルドする時も困らないでしょう。

でも、実際には、ビルドに必要なライブラリやincludeファイルが入っていなくて、そのライブラリをインストールする羽目になったりしてしまいます。

う〜ん。NASとして設計されているから、余分な開発環境は入っていないのか…。

コメントを残す