OracleをサポートしたいMapserver 6.2.1用の自己生成rpmがありますが、すべての機能を動作させるのに多くの困難があります。
私のORACLE_HOMEにoracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64をrpmに、sdkとsqlplusをzipファイルとしてインストールしました。マップサーバーがSDKファイルを認識できる正しい場所にあることを確認する唯一の方法のようです。
だから私のマップサーバーrpmはビルドされますが、ビルドサーバーにインストールしようとすると、次のエラーが発生します。
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mapserver.x86_64 0:6.2.1-2 will be updated
--> Processing Dependency: mapserver = 6.2.1-2 for package: mapserver-perl-6.2.1-2.x86_64
--> Processing Dependency: mapserver = 6.2.1-2 for package: mapserver-python-6.2.1-2.x86_64
---> Package mapserver.x86_64 0:6.2.1-12.el6 will be an update
--> Processing Dependency: libclntsh.so.12.1()(64bit) for package: mapserver-6.2.1-12.el6.x86_64
--> Running transaction check
---> Package mapserver.x86_64 0:6.2.1-12.el6 will be an update
--> Processing Dependency: libclntsh.so.12.1()(64bit) for package: mapserver-6.2.1-12.el6.x86_64
---> Package mapserver-perl.x86_64 0:6.2.1-2 will be updated
---> Package mapserver-perl.x86_64 0:6.2.1-12.el6 will be an update
---> Package mapserver-python.x86_64 0:6.2.1-2 will be updated
---> Package mapserver-python.x86_64 0:6.2.1-12.el6 will be an update
--> Processing Dependency: libclntsh.so.12.1()(64bit) for package: mapserver-python-6.2.1-12.el6.x86_64
--> Finished Dependency Resolution
Error: Package: mapserver-6.2.1-12.el6.x86_64 (geodata)
Requires: libclntsh.so.12.1()(64bit)
Error: Package: mapserver-python-6.2.1-12.el6.x86_64 (geodata)
Requires: libclntsh.so.12.1()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
明らかにlibclntsh.so.12.1はyumを介してインストールされ、パッケージがビルドされたときとまったく同じ場所にあります。
私は何が間違っていましたか?
答え1
部分RPMの確認
要件が満たされていないため、yum / RPMが文句を言うようです。私は通常、このコマンドを使用してファイルがRPM制御下にあることを確認します。
$ locate libclntsh
ルートが返されたら、RPMをチェックしてそのルートを制御していることを確認してください。
$ rpm -qf <path from locate command>
RPM がファイルを制御しない場合、そのファイルがシステムに存在するかどうかは重要ではありません。 RPMの観点からは、ファイルがインストールされていません。
同様の質問ですか?
私はあなたが同じ問題を抱えているように見えるこのスレッドを見つけました。このスレッドの唯一の実際のアドバイスは、使用しているファイルがローカルシステムにあることを確認することです。私はこれがあなたの問題だとは思わないが、とにかくこの記事をチェックするとインスピレーションを得ることができます。
答え2
あなたの質問には実際には2つの側面があります。 libclntsh.so.12.1ファイルがコンピュータにインストールされているかどうかは問題ではなく、現在アクティブなリポジトリのパッケージが「libclntsh.so.12.1()(64bit)」機能を提供しているかどうかが問題です。
したがって、その方法を照会することで、yum whatprovides 'libclntsh.so.12.1()(64bit)'
この機能を提供するパッケージがあるかどうかを確認できます。リポジトリを無効にしましたか?
「yumが苦情を続ける理由」という質問の他の部分:デフォルトでは、yumは常に実行されるためです。ヤムチェックrpmデータベースの一貫性を確保し、競合または欠落している依存関係を報告します。これは、yumに保存されている取引履歴と密接に関連しています。できる多くの副作用があるにもかかわらず無効になります。確認するyum.confとオプション歴史記録