2

私のcentos6.3サーバーに、yum install perlpackagerinstallを介してperlをインストールしました

ただし、 cpanをExtUtils/Embed介してインストールしてcpanいるときに、Perlが5.10.1〜127になるはずのv5.17.4に更新されました(おそらく、force installメソッドを使用したため、依存関係を介して何らかの方法で)。

だから今、私はエラーのような何十もの問題に遭遇します:

../x86_64-linux/CORE/libperl.a(op.o): relocation R_X86_64_32S against `PL_sv_yes' can not be used when making a shared object; recompile with -fPIC

どういうわけかcpan経由でインストールされたため、fpicで再コンパイルできません。コンパイラは、このエラーが発生しない古い互換性のあるPerlの代わりに、この新しいPerlを使用しています。

この5.17.4perlをアンインストールする方法はありますか?私はpm-uninstall無駄に..などを使用しようとしました。私も試しましyum reinstall perlたが、新しいperlはまだ使用されています

4

1 に答える 1

3

これですべてがスクラブされるわけではありませんが、元に戻るはずです。

インストールした perl rpm を記録します。

 rpm -qa | grep ^perl > /tmp/perlpkgs

それらを強制的に削除します。

 for i in `cat /tmp/perlpkgs` ; do rpm -ev --nodeps $i ; done

cpan が perl を入れた場合に備えて、perl がどこにインストールされているかを把握する/usr/local

 which perl

それが印刷された/usr/local/bin/perl場合P=/usr/local; それ以外はP=/usr

perl バイナリなどを削除します。

 rm -fr $P/bin/perl* $P/lib*/perl* $P/share/man/man?/perl*
 rm -fr $P/share/man/man?/*.3pm* $P/share/perl*

元のパッケージをすべて再インストールします。

 yum install `cat /tmp/perlpkgs`
于 2012-12-21T20:27:23.573 に答える