Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

QNAP firmware 4.1.4以降にgccを入れる

More than 5 years have passed since last update.

ipkgはいずこ

TVS-471 を手に入れた。
これまでTS-459などを使っていて、redmineやらgitlabやらjenkinsやらsailsやら動かしていたが手狭になったので購入。

SSDを4台ぶち込んでメモリ増量して準備完了。
TS-459と同じ環境と作ろうと思ったのだが...

ファームを4.1.4(今はもう4.2.0が出ているけど)に上げて、ipkgでも入れようかとAppCenterをのぞいたら...ipkgいない...
調べたところ、すでにOptware ipkgはメンテされなくなったようだ。
QNAPware(Entware)を使えとのこと。
上記についてはこのあたりの話を参照

qpkgのインストール

AppCenterに行って手動でインストールする。
今回は/Apps/opt に入るようだ。(/Apps/opt は /share/.../.qpkg/Qnapware/opt にリンクされる)
使い方はおおよそ ipkg と一緒だが、一部違うのでヘルプは見ておいたほうがよいかも。
ソフトウェアの説明が複数行になってるので、listすると見にくい...

めげずにバージョンを確認したところ、新しいバージョンがそろってる!素敵!
ipkgにわざわざ戻す必要はないかなぁ...と思ったのだが...
よく見ると、lib系のパッケージが .h を含んでいない。
本当にライブラリのバイナリだけが欲しければそれでいいのだが、アプリのビルド時にヘッダファイルも要るので、結局ソースを持ってきてビルドするライブラリもありそうだ。

さて、これで色々とソフトウェアをビルド...と思ったらさらに問題が。

toolchainがない!

あれ?qpkgにgccが無いぞ!
これは、QNAPware(entware)のベースとなるOpenWRTでは、
gccのビルドは重すぎる(ターゲットは組み込み機器な)ので入っていないようだ

さて、どうしたものかと思って調べてみたところQDKを使うことになるようだ。
まずは「Client Development Kit QDK」に行って、

末尾の「Toolchains for Intel x86 and Marvell ARM」 からのリンクをクリック。
その先の cross-project... から適切なほうをダウンロード。(500MB近いので注意)
一覧の最後のほうにpdfもあって簡単な説明は書いてある。

これを適当な場所に置いて展開すると...見たことのあるフォルダ構成で展開される

上記のpdfにもあるように、展開場所にchrootした後、gccのソース一式を持ってきてビルド。
その後に本来の(希望の)場所へコピーすると、gcc使えるようになりました。

nginx動いた!

結局 gcc 5.2.0を入れて多数のライブラリを入れて nginx 1.8.0を動かすところまで来た。
途中でもいろいろあったけど、それはまた今度。
次はredmineだな...

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away