nilsdeppe / MyEnvironment

My dotfiles and various other configurations
Boost Software License 1.0
24 stars 10 forks source link

Error occurred while loading global extra conf /home/xxx/.ycm_extra_conf.py #2

Open CDitzel opened 5 years ago

CDitzel commented 5 years ago

Trying to set up Emacs, following your steps, everything seems to work but upon startup, I get error

2019-02-04 19:31:09,735 - ERROR - Error occurred while loading global extra conf /home/ditzel/.ycm_extra_conf.py
Traceback (most recent call last):
  File "/home/ditzel/ycmd/ycmd/extra_conf_store.py", line 99, in _CallGlobalExtraConfMethod
    module = Load( global_ycm_extra_conf, force = True )
  File "/home/ditzel/ycmd/ycmd/extra_conf_store.py", line 178, in Load
    module = LoadPythonSource( _RandomName(), module_file )
  File "/home/ditzel/ycmd/ycmd/utils.py", line 506, in LoadPythonSource
    return importlib.machinery.SourceFileLoader( name, pathname ).load_module()
  File "<frozen importlib._bootstrap_external>", line 399, in _check_name_wrapper
  File "<frozen importlib._bootstrap_external>", line 823, in load_module
  File "<frozen importlib._bootstrap_external>", line 682, in load_module
  File "<frozen importlib._bootstrap>", line 265, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 684, in _load
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/ditzel/.ycm_extra_conf.py", line 32, in <module>
    import ycm_core
ImportError: /home/ditzel/ycmd/ycm_core.so: undefined symbol: clang_getCompletionFixIt
2019-02-04 19:31:09,760 - ERROR - /home/ditzel/ycmd/ycm_core.so: undefined symbol: clang_getCompletionFixIt
Traceback (most recent call last):
  File "/home/ditzel/ycmd/ycmd/utils.py", line 626, in ImportAndCheckCore
    ycm_core = ImportCore()
  File "/home/ditzel/ycmd/ycmd/utils.py", line 617, in ImportCore
    import ycm_core as ycm_core
ImportError: /home/ditzel/ycmd/ycm_core.so: undefined symbol: clang_getCompletionFixIt

why is that? Iinstalled ycmda and changed the path from your specific ones to mine. Help would be appreciated

nilsdeppe commented 5 years ago

Hi again, I've just updated the config to use lsp-mode instead of YCMD. I've had various issues like you mentioned in the past. Much to my annoyance they were usually related to subtle changes in the YCMD interface. So far I've had good luck with LSP-mode + clangd, though I am using clangd (cutting edge).

CDitzel commented 5 years ago

thanks for your reply Nils ;) I took a look at your new config now. So you also made the switch to LSP then. I tried that some month ago and found it to be laggy to an extend where it became unbearable to work with. That seems to be better now. What clangd have you installed on your system? I cannot find any reference to a specific version in your config as per

(setq lsp-clangd-executable "clangd-8") (setq lsp-clients-clangd-executable "clangd-8")

or something like that. Are those lines not necessary and lsp will find the globally installed clangd anyway?

nilsdeppe commented 5 years ago

You're welcome :)

Yea, I made the same experience with LSP a while back, which was why I always used YCMD. I'm hopeful that LSP is now at the state where it can be a full long-term replacement for me.

I use clangd 9 (I'm an Arch Linux user so the system clang just got upgraded to clang 9). I waited for clang 9 since there were a lot of features I wanted added to clangd then (https://clang.llvm.org/extra/clangd/Features.html).

You're right, the specific executable is not necessary if clangd is installed globally. I'll see if I can add a configuration option at the top of the file for this. Won't be until the weekend likely.