私のオペレーティング システム環境 (centos 6.6) では、vim 用の YCM プラグインをインストールするときにエラーが発生します。
vim は自動的にコンパイルされ、対応するインタープリタ言語のサポートが追加されました。
システムに付属する Python のバージョンは 2.6 ですが、バージョン 2.7 と 3.4 をコンパイルして追加したため、私の環境にはこれら 3 つのバージョンがあります。
YCM ディレクトリに入り、インストール コマンドを実行すると、次のようなエラーが表示されます:
[90%] CXX オブジェクトを構築しています ycm/CMakeFiles/ycm_client_support.dir/Result.cpp.o
CXX 共有ライブラリをリンクしています /home/xuanyuan/k-vim/bundle/YouCompleteMe/third_party/ycmd/ycm_client_support.so
/usr/ bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): -fPIC
/usr/local/lib/ を使用して共有オブジェクトを再コンパイルする場合、`_Py_NotImplementedStruct' に対する再配置 R_X86_64_32S は使用できません。 libpython2.7.a: シンボルを読み取れませんでした: 不正な値
collect2: エラー: ld が 1 を返しました
gmake[3]: * [/home/xuanyuan/k-vim/bundle/YouCompleteMe/third_party/ycmd/ycm_client_support. so] エラー 1
gmake[2]: * [ycm/CMakeFiles/ycm_client_support.dir/all] エラー 2
gmake[1]: * [ycm/CMakeFiles/ycm_support_libs.dir/rule] エラー 2
gmake : * [ycm_support_libs] エラー 2
トレースバック (最後の呼び出し):
ファイル "/home/xuanyuan/k-vim/bundle/YouCompleteMe/third_party/ycmd/build.py"、行 327、<module> ;
メインのファイル「/home/xuanyuan/k-vim/bundle/YouCompleteMe/third_party/ycmd/build.py」、行 316、
リーリーBuildYcmdLibs のファイル「/home/xuanyuan/k-vim/bundle/YouCompleteMe/third_party/ycmd/build.py」、261 行目
リーリーファイル「/usr/local/lib/python2.7/subprocess.py」、540行目、check_call
リーリーsubprocess.CalledProcessError: コマンド '['cmake', '--build', '.', '--target', 'ycm_support_libs', '--', '-j', '1']' が非を返しましたゼロ終了ステータス 2
トレースバック (最後の呼び出し):
ファイル "./install.py"、32 行目、<module> 内
メインのファイル「./install.py」、21行目
リーリーファイル「/usr/local/lib/python2.7/subprocess.py」、540行目、check_call
リーリーsubprocess.CalledProcessError: コマンド '['/usr/local/bin/python'、'/home/xuanyuan/k-vim/bundle/YouCompleteMe/third_party/ycmd/build.py']' がゼロ以外の終了ステータス 1 を返しました
解決策をお探しですか?
解決済み:
ステップ 1: python2.7 の共有ライブラリが見つからない場合は、python2.7 を再コンパイルしてインストールし、コンパイル オプション --enable-shared を追加します。
次のエラーが発生した場合、問題が解決した場合は、次の手順を実行する必要はありません:
複数のバージョンの Python が原因である可能性があります。次のエラー:
python: 共有ライブラリのロード中にエラーが発生しました: libpython2.7 .so.1.0: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません
このエラーの解決策:
ステップ 2:
/etc/ld.so.conf ファイルを編集し、次のコンテンツ /usr/local/lib を追加します。 Can という新しい行を直接追加します。
保存後、次のコマンドを実行します (---> はコマンド プロンプトであり、必要に応じて誰でも設定できます):
---> /sbin/ldconfig –v