python - Emacs & Anaconda. Linking problems -
i have problem where:
- in order run anaconda, need unset
ld_library_path - in order run emacs (as other programs), need set
ld_library_path
if try run emacs while unsetting ld_library_path run linking problems, e.g.
symbol lookup error: /usr/lib64/libpangocairo-1.0.so.0: undefined symbol: cairo_ft_font_options_substitute and run same problem if try load gedit or other programs. given this, unable use anaconda , emacs in same environment.
this prevents me using emacs packages such emacs-jedi (a great package editing , debugging python code) require functioning python environment (specifically emacs-jedi requires epc).
any ideas on how circumvent problem? (note: don't have root access)
update:
- i have tried prepending
$anaconda/libcurrentld_library_path, also results in symbol errors described above. i have tried updating
$path,$ld_library_pathon.emacsfile, putting @ top no luck:(setenv "path" (concat "/home/josh/installs/conda/1.7.0/bin/:" (getenv "path"))) (setenv "ld_library_path" (concat "/home/josh/installs/conda/1.7.0/lib/:" (getenv "ld_library_path")))here thread explains in more detail errors : linking problems anaconda when using ld_library_path
there several ways fix it, easiest (untested).
(defadvice jedi:start-server (around my-jedi:start-server-ld-library-path-hack activate) "unset ld_library_path when starting jedi server." (let ((process-environment (mapcar #'identity process-environment))) (setenv "ld_library_path") ; unset $ld_library_path ad-do-it)) if works, maybe better idea have in jedi.el. can imagine useful change ld_library_path project project.
one of other ways fix run jedi epc server outside of emacs (e.g., in terminal). way, can control environment variables. starter, see: http://tkf.github.io/emacs-jedi/latest/#jedi:toggle-debug-server
Comments
Post a Comment