放浪猫

主にガジェットとかの雑記

Synology NAS 918+ に Linux用ソフト をインストールしようとして失敗したのでメモ

追記:

「結論として yum 入れてください」

※以下の本記事は完全に個人のメモです。yum入れる手順は別途書きます。ここでは記載しません。あとでリンク張ります。

 

---

 

CDをbin+cue形式でNASに入れたのはいいけど、wavとかmp3に変換するの忘れてた。

一旦ローカルにダウンロードして作成して上げなおすのもいいんだけど、どうせならNAS上で完結させてしまいたい。

wavができればどうにかなる気がする。

というわけで bchunk を導入しようとしたところ、パッケージ管理のapt-getもyumもないことに気づいた(とてもめんどくさい)

 

そもそもこいつは何者だ?ということでWindowsteratermからSSHでログインしてコマンド確認。

 

# uname -a

"Linux YukishiroDS918 4.4.59+ #24922 SMP PREEMPT Mon Aug 19 12:13:37 CST 2019 x86_64 GNU/Linux synology_apollolake_918+"

 

DSMのベースはLinuxらしい。まぁSSHログインできたあたりでなんとなく察してる。yum入れたいけど時間かかりそうなので、今回は -割愛- 。 →結論:yum入れる必要がある

 

以下、読まなくていい --------------------------------------------------------

 

wgetは使えるっぽいのでとりあえずbchunk をインストール。

 

# wget -c "http://he.fi/bchunk/bchunk-1.2.0.tar.gz"

# tar xf bchunk-1.2.0.tar.gz (ダウンロードした圧縮ファイル解凍して)
# cd bchunk-1.2.0 (解凍先に移動して)

# gcc -Wall -Wstrict-prototypes -O2 -c bchunk.c (ソースコードGCCでビルドして)

NAS「(コンパイラ?そんなものはない旨のメッセージ)」

僕「…」

 

GCCがないので配布元 https://gcc.gnu.org/mirrors.html からURLを確認して取得します。つくばのサーバにお世話になります。

 

# wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-9.2.0/gcc-9.2.0.tar.gz (こっから最新のGCC取得してきて)

# tar xf gcc-9.2.0.tar.gz(ダウンロードした圧縮ファイル解凍して)

NAS「100MB超えてるからちょっと時間かかるぞい。そいや。gcc-9.2.0フォルダ作った」

 

本当はここで 「vim .bashrc」とかで.bashrcを作成して「export PATH=hogehoge」とか書き込んでPATHを通すのがいいんでしょうけど、今回は単発なので割愛します。

依存パッケージインストール(シンボリックリンクが張られる)。

 

# cd gcc-9.2.0 (解凍先に移動して)
# ./contrib/download_prerequisites (依存パッケージにシンボリックリンク張って)

 

ビルド用ディレクトリを作成し、 configure, make, make install を行う。今回は C, C++をインストールする。
(/volume1/work/build下で作業していますが 普通は/usr/local下に読み替えてね。)

 

# cd ..
# mkdir build
# cd build
# ../gcc-9.2.0/configure --prefix=/volume1/work/build/gcc-9.2.0 --enable-languages=c,c++ --disable-multilib --disable-bootstrap

configure: error: in `/volume1/work/build':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

 

コンパイラのインストールがしたいのに、コンパイラが無いとはこれいかに。。。いやまぁ、まっさらな状態だからそりゃそうか。。。

調べましたが、結局yumを使える状態にしてgccyum からインストールする必要があるようです。。。

以下、コンパイラを最新にする更新のための環境変数の登録。。。

 

環境変数の登録
# export LD_LIBRARY_PATH=/volume1/work/gcc-9.2.0/lib:$LD_LIBRARY_PATH
# export LIBRARY_PATH=/volume1/work/lib/x86_64-linux-gnu
# export C_INCLUDE_PATH=/volume1/work/include/x86_64-linux-gnu
# export CPLUS_INCLUDE_PATH=/volume1/work/include/x86_64-linux-gnu

環境変数の登録確認
# printenv

メイクファイル作成してビルド

# make
# make install

 

本来はこれでgccが最新に更新されて


# download_prerequisites
# ./gcc -Wall -Wstrict-prototypes -O2 -c ../bchunk/bchunk.c

 

あたりでbchunkがビルドされてバイナリができて、

それを指定したシェル作って、

任意のタイミングで実行しておしまーいっていう流れだったのですが、

あとでリベンジします。。。