- ベストアンサー
ソースからビルドに失敗した際のエラーと原因についての質問
- Vine Linux 3.2 を使用している環境で、openvpnのビルドに失敗しています。
- ビルドコマンドを実行すると、一時的に作成されたディレクトリやファイルがありますが、途中でエラーが発生してビルドが停止します。
- 具体的なエラーメッセージには、'/bash/rpm/RPMS/i386 を作成できません : そのようなファイルやディレクトリはありません' という内容が含まれています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
specファイルでビルドできたと書いたのは、pkcs11のことです。舌足らずですみません。 こちらはCentOS5ですので、Vineでもできるかどうかは?ですが、試してみてください。
その他の回答 (2)
- Wr5
- ベストアンサー率53% (2173/4061)
>/home/usr/.rpmmacros を見ると、 >%_topdir ${HOME}/rpm 「_topdirを参照しようとした時」に環境変数HOMEを見に行くように見えますが…。 固定で設定しておいた方が安全かと。
お礼
ありがとうございます。 .rpmmacros の ${HOME} を疑うことは全く頭にありませんでした。 こんなところにも調べるべき点があるんだな、と感心させられました。 慌てて環境変数を調べましたが、一応 /home/usr と正しく入っておりました。 固定で設定した方が安全ということで、大変勉強になりました。 ありがとうございました。
- astronaut
- ベストアンサー率58% (303/516)
何らかの理由でパッケージの作成場所がこんがらがっているようですね。 新規にユーザーを作成してやってみてはどうですか? それでもだめなら、強引ですが、/bash/rpm/RPMS/i386 ディレクトリを作成してからやればパッケージはできそうです。 なお、pkcs11-helper は、http://www.opensc-project.org/opensc にありますね。 rpmbuild -tb ではだめでしたが、tar ball に含まれる spec ファイルを使用したら、問題なくビルドできました。
お礼
ありがとうございます! 強引な方法ですが、/bash/rpm/RPMS/i386 ディレクトリを作成して、rpm パッケージを作成することができました。 パッケージの作成場所が /bash/rpm/RPMS/i386 になってしまったのでしょうか。 以前、他のパッケージをソースからビルドした時はうまくいったのですが、環境が変わったのでしょうか。 今後も続くようでしたら、アカウントの作り直しも考えようと思います。 何にしても、うまくいって良かったです。ありがとうございました。 ちなみに、tar ball に含まれる spec ファイルを使って、 $ rpmbuild --define='with_pkcs11=""' -bp /home/shand/rpm/SPECS/openvpn.spec と実行したところ、エラーは出ませんでしたが、ビルドがすぐに終わってしまって、 rpm 作成までいきませんでした。 もしよろしければ、astronaut さんは、どのようにして spec ファイルからビルドできたのか 後学のため、お教えいただけませんでしょうか。 pkcs11-helper は大変なパッケージですね・・・ pkcs11-helper-devel を rpm -ivh でインストールしようとしたら 少なくとも下図のような依存関係があることがわかり、 途中で保留とさせていただきました。 教えてもらったサイトを見たところ、pkcs11-helper はありましたが、 他のパッケージがなかったようです。 pkcs11-helper-devel | +-- pkcs11-helper (…ここまで rpm -ivh を試しました) | | | +---libcrypto.so.6 | | | +---libgnutls.so.13 | | | +---libgnutls.so.13(GNUTLS_1_3) | | | +---libnssutil3.so | +--libpkcs11-helper.so.1 できれば pkcs11-helper も入れた完全な形で openvpn を導入したいものです。
お礼
今朝入力したと思ってら反映されておらず失礼しました。 貴重な情報ありがとうございます。 お陰様で昨夜、OpenVPN の pkcs11 なしインストールが成功しました。 pkcs11 を spec ファイルからビルドを試してみます。 また、pkcs11 のインストール時に必要な依存パッケージが多い件については、私の知識では回避できるのかどうかわかりませんが、試してみたいと思います。ビルド時に /bash/rpm/RPMS/i386 を見にいってしまうかどうかを調べるのにも、丁度良いテストですね。 ありがとうございました。
補足
お礼の続きとなります、失礼致します。 pkcs11 のインストールについて、お陰様で成功致しました。教えて頂いた URL から tar ball をダウンロードした後、私の環境では $ rpmbuild -tb pkcs11-helper-1.07.tar.bz2 と tar ball から直接ビルドすることができました。これによって、pkcs11-helper と pkcs11-helper-devel の二つの RPM パッケージが作成され、この順にビルド、インストールし、依存関係を解消させることができました。 誠に有難うございました。 ちなみに、tar ball を展開し、SPEC ファイルを取り出してインストールする方法については、私の勘違いのためか、うまくいきませんでした。 ($ rpmbuild -bp /home/shand/rpm/SPECS/pkcs11-helper.spec としてみたところ、ビルドがあっという間に終わってしまい、rpm ファイルは作成されませんでした。) また、pkcs11-helper のビルドで作成された RPM パッケージは、正規の場所 /home/usr/rpm/RPMS/i386 に作成されていました。 OpenVPN の方は、再度ビルドしなおし、完全な形でインストールしなおすことができました。 本当に有難うございました。 また、別の掲示板で同様の質問をし、解決の報告をして参りましたことを付け加えさせて頂きます。アドバイスして下さった方々への感謝とともに、ご迷惑おかけしてしまったことを深くお詫び申し上げます。