Heim > Fragen und Antworten > Hauptteil
Meine Betriebssystemumgebung, Centos 6.6, weist einen Fehler bei der Installation des YCM-Plug-Ins für vim auf.
vim kompiliert sich selbst und die entsprechende Unterstützung für interpretierte Sprachen wurde hinzugefügt.
Die mit dem System gelieferte Python-Version ist 2.6. Ich habe die Versionen 2.7 und 3.4 kompiliert und hinzugefügt, sodass ich diese drei Versionen in meiner Umgebung habe.
Geben Sie das YCM-Verzeichnis ein und führen Sie den Installationsbefehl aus. Der folgende Fehler tritt auf:
[90 %] Erstellen des CXX-Objekts ycm/CMakeFiles/ycm_client_support.dir/Result.cpp.o
Verknüpfen der gemeinsam genutzten CXX-Bibliothek /home/xuanyuan/k-vim/bundle/YouCompleteMe/third_party/ycmd/ycm_client_support.so
/usr/ bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): Die Verschiebung von R_X86_64_32S gegen „_Py_NotImplementedStruct“ kann nicht verwendet werden, wenn ein gemeinsam genutztes Objekt mit -fPIC
/usr/local/lib/ neu kompiliert wird. libpython2.7.a: Symbole konnten nicht gelesen werden: Ungültiger Wert
collect2: Fehler: ld hat 1
gmake[3] zurückgegeben: * [/home/xuanyuan/k-vim/bundle/YouCompleteMe/third_party/ycmd/ycm_client_support. so] Fehler 1
gmake[2]: * [ycm/CMakeFiles/ycm_client_support.dir/all] Fehler 2
gmake[1]: * [ycm/CMakeFiles/ycm_support_libs.dir/rule] Fehler 2
gmake : * [ycm_support_libs] Fehler 2
Traceback (letzter Aufruf zuletzt):
Datei „/home/xuanyuan/k-vim/bundle/YouCompleteMe/third_party/ycmd/build.py“, Zeile 327, in <module> ;
Main()
Datei „/home/xuanyuan/k-vim/bundle/YouCompleteMe/third_party/ycmd/build.py“, Zeile 316, in Main
BuildYcmdLibs( args )
Datei „/home/xuanyuan/k-vim/bundle/YouCompleteMe/third_party/ycmd/build.py“, Zeile 261, in BuildYcmdLibs
subprocess.check_call( build_command )
Datei „/usr/local/lib/python2.7/subprocess.py“, Zeile 540, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Der Befehl '['cmake', '--build', '.', '--target', 'ycm_support_libs', '--', '-j', '1']' hat nicht zurückgegeben Null-Exit-Status 2
Traceback (letzter Aufruf zuletzt):
Datei „./install.py“, Zeile 32, in <module>
Main()
Datei „./install.py“, Zeile 21, in Main
subprocess.check_call( [ python_binary, build_file ] + sys.argv[1:] )
Datei „/usr/local/lib/python2.7/subprocess.py“, Zeile 540, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Der Befehl '['/usr/local/bin/python', '/home/xuanyuan/k-vim/bundle/YouCompleteMe/third_party/ycmd/build.py']' hat einen Exit-Status ungleich Null 1 zurückgegeben
Suchen Sie nach einer Lösung?
phpcn_u15822017-05-16 16:39:45
已解决:
第一步:缺少python2.7的共享库,重新编译安装python2.7加入编译选项--enable-shared。
如果问题解决,不需要执行以下步骤,如果出现以下错误:
可能由于多个版本的python导致,以下错误:
python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
出现这种错误的解决办法:
第二步:
编辑/etc/ld.so.conf文件,新加入以下内容/usr/local/lib,直接添加新的一行即可。
保存后,执行以下命令( ---> 为命令提示符,每个人可以根据需要自己设置):
---> /sbin/ldconfig
---> /sbin/ldconfig –v