全てにおいて発生する可能性がある。以前は、プログラマのミスやインストーラの不具合により発生することが多かった(特にCOMコンポーネントに関しては、マイクロソフトが厳密なバージョン管理規約を規定している[1]にもかかわらず、このバージョン管理の仕組みを理解しないままエンドユーザーシステムにインストールさせてしまう開発者が少なくない)。呼ばれる仕組みにより減ってきているが、全面解決には至っていない。おいて対象ディストリビューションが異なるパッケージを使用したり、サードパーティのパッケージ管理システムやレポジトリを使用することによりライブラリの依存関係が壊れ、同様の事象が発生することが多い。起因[編集]この現象が起きる理由としてさまざまなことが挙げることが出来るが、最大の問題は「共有ライブラリに対し互換性を失うような変更が行われた場合に、ライブラリを呼び出すプログラム側がそれを区別することができない」という点に起因する。プログラムの保守・可読性の向上や、セキュリティ問題等に起因するやむをえない仕様変更等により、あるプログラムにおいて旧バージョンとの互換性が失われてしまうことは、本来は極力避けるべき行為であるが、実際にはよく起こる現象である。これが動的にリンクされる共有ライブラリの場合、その互換性が失われた部分の機能を利用するアプリケーションにとっては、アプリケーション自体の動作に支障をきたすことになる。本体に同梱されるライブラリにおいてこのような変更が行われると、その影響範囲は極めて広い範囲に及ぶ。ソフトウェアのインストーラがシステムの共有ライブラリのバージョンチェックを行わず、古いバージョンに置換してしまうことでも発生する。サードパーティーのアプリケーションにおいては、アプリケーションが利用するライブラリをアプリケーション本体と同じディレクトリに配置することでこの問題を回避するといった試みがなされることも多い。側の設定(主に環境変数PATHの設定)によって変化することが多く、自分が意図したライブラリとは別のライブラリが優先的に呼び出されてしまうケースも少なくなかった。レベルで解消することを狙っている。あれば、誤ってシステムフォルダのライブラリファイルを書き換えてしまった場合でも、「システムの復元」機能を使用することでほとんどすべての場合において復旧が可能である。「システムの復元」が無効になっている場合であっても、システムのスナップショットやイメージバックアップが存在する場合はリストアを実施することにより復旧可能である。この両者のいずれの復旧方法共に使用できない場合、原因となったソフトウェアのアンインストールやライブラリの再インストールあるいは手動置換などで復旧できる場合もあるが、確実ではなくかえって事態を悪化させることも多い。インストーラでシステムの修復やリカバリを実施する方がよい。2011年12月30日閲覧。原因などについての解説ありこの項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。開発者Cookieに関する声明モバイルビュ。