このスレッドは未解決です(解決したらこちらで解決済にしてください)
<<戻る

sentOS7でcpan2rpmが動かない このメッセージに返信する
日時: 2015/06/28(Sun) 15:12
名前: takanoko
URL:
sentOS7にてcpan2rpmインストールを行いました。

http://centossrv.com/cpan2rpm.shtmlにて作業をしました。

で、cpan2rpm確認でFindモジュールをインストールしてみましたが、以下のようなエラーでした。

ディレクトリがないようです。

この場合、どうやればクリアできるのでしょうか?

cpan2rpm --install URI::Find

-- cpan2rpm - Ver: 2.027 --
Upgrade check
RPM user environment - Your account does not have
permissions to the requisite RPM directory structure.
Try 'cpan2rpm --mk-rpm-dirs=~/rpm' to setup your
environment for non-root package building.
Failing dirs: /root/rpmbuild/SRPMS /root/rpmbuild/BUILD /root/rpmbuild/SOURCES /root/rpmbuild/SPECS /root/rpmbuild/RPMS
-- Done --
記事編集 編集
Re: sentOS7でcpan2rpmが動かない このメッセージに返信する
日時: 2015/06/28(Sun) 23:09
名前: takanoko
URL:
過去ログで似たやつがあったのでそれを参考にして

mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros

と入力し、実行。

wget http://nchc.dl.sourceforge.net/sourceforge/cpan2rpm/cpan2rpm-2.027-1.noarch.rpm

でcpan2rpm-2.027-1.noarch.rpmをインスト。

cpan2rpm --install URI::Find

で、

Upgrade check
Fetch: HTTP

-- module: URI::Find --
Found: URI-Find-20140709.tar.gz
At: http://search.cpan.org//CPAN/authors/id/M/MS/MSCHWERN
Retrieving URL
Metadata retrieval
Tarball extraction: [/root/rpmbuild/SOURCES/URI-Find-20140709.tar.gz]
No PL file [/tmp/eZQ8Ijp1Gl/Makefile.PL] in tarball at /bin/cpan2rpm line 401.
-- Done --

までは行きました。

PLファイルがないという返事でしたが、ここから先はどういけば良いのでしょう?
記事編集 編集
Re: sentOS7でcpan2rpmが動かない このメッセージに返信する
日時: 2015/06/29(Mon) 13:40
名前: stranger
URL: http://ja.528p.com/
URI-Find-20140709.tar.gzには
cpan2rpmが読み込むMakefile.PLが含まれていないと思います
cpan2rpmは古いので最近のシステムにはなじみません
このサイトでも実証例はCentOS5までです
epel.repoを利用すればperlのモデュールはほとんど入ると思います
ただしURI-Findはありませんので
ソースから入れるか
(ソースに含まれるINSTALLファイルのやり方が書いてあります)
fedoraのsrc.rpmからrpmパッケージをつくれます

追記
perlがモデュールを検索するパスを調べる
perl -e 'print "@INC"'
「@INC」とはPerlの特殊変数のひとつでperlスクリプト検索パスの情報が収まっています
CentOS7では
/usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .
ソースから入れた場合は/usr/local/lib64/perl5または/usr/local/share/perl5に入ると思われます
最後に . が付いているからユーザのディレクトリまで検索してしまうので置きっぱなしに注意

どのようなperlモデュールが使えるか調べる
find /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5 /usr/share/perl5 -name '*.pm' -print
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -