質問: ソースからビルドに失敗/bash/rpm/rpms vine linux 3.2 を使用しています。 作業は一般ユーザーアカウントで行っています。 以下のコマンドでビルドを行うと、しばらく作業した後(5,6分後)に、エラーが出ます。 $ rpmbuild --define='with_pkcs11=""' -tb openvpn-2.1.4.tar.gz ( ↑openvpnのバージョン2.1.4をビルドしています。vine 3.2用の pkcs11-helper-devel というパッケージが見つからないので、define を使って回避しています。) エラー内容は、 「/bash/rpm/rpms/i386 を作成できません : そのようなファイルやディレクトリはありません」 原因を調べているのですが、よくわかりません。 「/bash」というディレクトリ自体が存在していないのですが、なぜ「/bash」というディレクトリを見にいってしまうのかわかりません。/home/usr/.rpmmacros を見ると、 %_topdir ${home}/rpm と指定されています。(vine linux をインストールした時以来、このファイルは触っていません) ビルドコマンドによって以下のディレクトリ、ファイルも作成されていました。 /home/usr/rpm/build/openvpn-2.1.4 ディレクトリとその中のファイル /home/usr/rpm/specs ディレクトリ内の openvpn.spec /var/temp/openvpn-usr ディレクトリとその中のファイル 原因がわからないため、これらのファイルを削除して、 一つ前のバージョン openvpn-2.1.3 で同じようにビルドを試したところ、 全く同じ箇所で同じエラーが出て止まってしまいます。 (参考にしたサイト1:http://tsuttayo.jpn.org/ssh/openvpn/) (参考にしたサイト2:http://dar66dar.blog74.fc2.com/) 何が原因なのでしょうか。 どなたかお詳しい方、アドバイス頂けないでしょうか 以下、エラー直前の出力内容。 -------------------------------------- (~前略~) provides を探しています: (/usr/lib/rpm/find-provides を使用)... provides: openvpn-auth-pam.so openvpn-down-root.so prereq: /bin/sh /bin/sh rpmlib(payloadfileshaveprefix) <= 4.0-1 rpmlib(compressedfilenames) <= 3.0.4-1 requires(interp): /bin/sh /bin/sh requires(rpmlib): rpmlib(payloadfileshaveprefix) <= 4.0-1 rpmlib(compressedfilenames) <= 3.0.4-1 requires(post): /bin/sh requires(preun): /bin/sh requires: openssl >= 0.9.6 lzo >= 1.07 pam エラー: /bash/rpm/rpms/i386 を作成出来ません: そのようなファイルやディレクトリはありません エラー: /bash/rpm/rpms/i386/openvpn-2.1.4-1.i386.rpm のオープンに失敗: そのようなファイルやディレクトリはありません rpm ビルドエラー: /bash/rpm/rpms/i386 を作成出来ません: そのようなファイルやディレクトリはありません /bash/rpm/rpms/i386/openvpn-2.1.4-1.i386.rpm のオープンに失敗: そのようなファイルやディレクトリはありません [usr@host sources]$ ■
回答: >/home/usr/.rpmmacros を見ると、 >%_topdir ${home}/rpm 「_topdirを参照しようとした時」に環境変数homeを見に行くように見えますが...。 固定で設定しておいた方が安全かと。