20 November 2011

(Linux) checkinstallでdebパッケージ作成時 /usr/local/share/icons を作成できないエラー

debパッケージを作成するため、checkinstallを使ったところ、/usr/local/share/icons にアイコンを作成できないというエラーで処理が中断してしまう。

■ 検証環境
・Ubuntu (Linux) 11.10
・画像ビューア Viewnoir のdebパッケージを作りたい

■ エラーの状況


# ./configure

# make

# checkinstall

Installing with make install...

========================= インストールの結果 ===========================
Making install in src
/bin/bash /root/working/viewnior-1.1/shave-libtool '/bin/bash ../libtool' --mode=install /usr/bin/install -c viewnior '/usr/local/bin'

Making install in data
Making install in icons
Making install in 16x16
Making install in apps
/bin/mkdir: ディレクトリ `/usr/local/share/icons' を作成できません: そのようなファイルやディレクトリはありません
make[5]: *** [install-iconsDATA] エラー 1
make[4]: *** [install-am] エラー 2
make[3]: *** [install-recursive] エラー 1
make[2]: *** [install-recursive] エラー 1
make[1]: *** [install-recursive] エラー 1
make: *** [install-recursive] エラー 1

**** インストールは失敗しました。パッケージの作成を中断します

クリーンアップ..OK
Bye.

#

■ 解決方法
エラーを眺めてみると、/usr/local/share/icons にディレクトリを作れないというような感じだ。 ルート権限でこの作業を行っているので、まさかディレクトリへのアクセス権限が無いとうようなことはなかろうかと…

ディレクトリを確認すると、ディレクトリそのものが無い (笑

/usr/local/share/icons : 存在しないディレクトリ
/usr/share/icons : こちらのディレクトリが存在する

たぶん、ViewnoirのインストーラがUbuntu 11.10のディレクトリ構造を把握できていないのだろう。

ということで、無理やりターゲットディレクトリを /usr に変更してやる。


# ./configure --prefix='/usr'

# make

# checkinstall

Done. The new package has been installed and saved to
/root/working/viewnior-1.1/viewnior_1.1-1_i386.deb
You can remove it from your system anytime using:
dpkg -r viewnior

成功。