J'ai un rpm auto-créé pour mapserver 6.2.1 que je veux soutenir Oracle, mais j'ai beaucoup de difficultés à tout faire fonctionner.
J'ai installé l'oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64 comme un rpm, et le sdk et sqlplus comme files zip dans mon ORACLE_HOME. Cela semblait être le seul moyen de s'assurer que les files sdk se trouvent à l'location correct, que mapserver reconnaisse.
Donc, mon rpm mapserver se construit mais quand j'essaie de l'installer sur le server de build, il se plaint:
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
Évidemment libclntsh.so.12.1 est déjà installé à travers yum et situé exactement au même endroit que lorsque le package a été construit.
Qu'est-ce que je fais mal?
Cela ressemble à yum / RPM se plaint parce qu'une exigence n'a pas été satisfaite. J'utilise généralement cette command pour confirmer que les files sont sous le contrôle de RPM.
$ locate libclntsh
Si cela returnne un path, vérifiez avec RPM pour voir s'il le contrôle:
$ rpm -qf <path from locate command>
Si RPM ne contrôle pas ce file, peu importe s'il est sur le système, du sharepoint vue de RPM, il n'est pas installé.
Je suis tombé sur ce fil qui semble être identique à la question que vous rencontrez. La seule suggestion tangible de ce thread est de s'assurer que les files avec lesquels vous travaillez sont sur le système local. Je ne pense pas que ce soit votre problème, mais jeter un oeil sur le fil de toute façon, pourrait jeter un peu de lumière pour vous.
En fait, votre question est double. Ce n'est pas un problème si un file libclntsh.so.12.1 est installé sur votre boîte, mais si un package de n'importe quel référentiel actuellement activé fournit une facilité 'libclntsh.so.12.1 () (64bit)'
Donc, interrogez cela via yum whatprovides 'libclntsh.so.12.1()(64bit)'
et vous verrez si n'importe quel package fournit ceci. Peut-être avez-vous désactivé un référentiel?
L'autre partie de la question «pourquoi yum continue à se plaindre»: parce que yum par défaut exécutera toujours un contrôle yum pour assurer la cohérence de la database rpm et signaler tout conflit ou dépendance manquante. Ceci est étroitement lié à l'historique des transactions que yum conserve et peut être désactivé, bien qu'avec beaucoup d'effets secondaires. Vérifiez man yum.conf et l'option history_record