Emacsでirony-install-serverするのに必要な環境
Emacsで補完機能を使いたくて、色々やってたら、M-x irony-install-serverで失敗してたので、回避策をメモ
以下の先達の方の記事にも書いてある通り、llvm, clang, libclang-devのインストールが必要。
自分はlibeling-devをインストールしてなく、libclangや、clang/Index.hが見つからないと怒られてました。
sudo apt update
sudo apt install llvm
sudo apt install clang
sudo apt install libclang-dev
sudo apt install make
Macの場合さらに以下の対策を実施
私のMacでは、Emacs上でM-x irony-install-serverすると以下のエラーが発生。
どうやらlibiconv.2.dylibに_libiconv_open
シンボルが見つからないと怒られている様子。
Run Build Command(s):/opt/local/bin/gmake cmTC_ac6f9/fast
/opt/local/bin/gmake -f CMakeFiles/cmTC_ac6f9.dir/build.make CMakeFiles/cmTC_ac6f9.dir/build
dyld: lazy symbol binding failed: Symbol not found: _libiconv_open
Referenced from: /opt/local/lib/libintl.8.dylib
Expected in: /usr/lib/libiconv.2.dylib
dyld: Symbol not found: _libiconv_open
Referenced from: /opt/local/lib/libintl.8.dylib
Expected in: /usr/lib/libiconv.2.dylib
gmake: *** [cmTC_ac6f9/fast] Abort trap: 6
Run Build Command(s):/opt/local/bin/gmake cmTC_895cb/fast
/opt/local/bin/gmake -f CMakeFiles/cmTC_895cb.dir/build.make CMakeFiles/cmTC_895cb.dir/build
dyld: lazy symbol binding failed: Symbol not found: _libiconv_open
Referenced from: /opt/local/lib/libintl.8.dylib
Expected in: /usr/lib/libiconv.2.dylib
dyld: Symbol not found: _libiconv_open
Referenced from: /opt/local/lib/libintl.8.dylib
Expected in: /usr/lib/libiconv.2.dylib
gmake: *** [cmTC_895cb/fast] Abort trap: 6
nm
で確認してみると_iconv_open
しか見当たらない
nm /usr/lib/libiconv.2.dylib
.
.
00000000000032fc T _iconv_close
0000000000001fdb T _iconv_open
0000000000003309 T _iconvctl
.
.
なので、gnu orgからライブラリのソースをダウンロードし、make
インストール先の--prefix
は必要に応じて変更
私は、一旦テンポラリフォルダにインストールして、あとで、/usr/local/lib
にコピーした
以下は、ソースを$HOME/libiconv-1.15/
展開して実施した場合
$ cd $HOME/libiconv-1.15/
$ ./configure --prefix=$HOME/libiconv-1.15/build
$ make
$ make install
$ cd $HOME/libconv-1.15/build
$ cp libiconv.dylib libiconv.2.dylib /usr/local/lib
再度nm
で確認
きちんと_libconv_open
が存在していることを確認
nm /usr/local/lib/libiconv.2.dylib
.
.
0000000000002310 T _libiconv_close
0000000000000da0 T _libiconv_open
0000000000002320 T _libiconv_open_into
.
.
無事irony-install-server
コマンドが成功した
.
.
.
-- Build files have been written to: /var/folders/nq/qgjv9z
Scanning dependencies of target irony-server
[ 12%] Building CXX object src/CMakeFiles/irony-server.dir/
[ 25%] Building CXX object src/CMakeFiles/irony-server.dir/
[ 37%] Building CXX object src/CMakeFiles/irony-server.dir/
[ 50%] Building CXX object src/CMakeFiles/irony-server.dir/
[ 62%] Building CXX object src/CMakeFiles/irony-server.dir/
[ 75%] Building CXX object src/CMakeFiles/irony-server.dir/
[ 87%] Building CXX object src/CMakeFiles/irony-server.dir/
[100%] Linking CXX executable ../bin/irony-server
[100%] Built target irony-server
Install the project...
-- Install configuration: "Release"
-- Installing: /Users/MyHome/.emacs.d/irony/bin/irony-server
Compilation finished at Thu Apr 11 00:39:07
Author And Source
この問題について(Emacsでirony-install-serverするのに必要な環境), 我々は、より多くの情報をここで見つけました https://qiita.com/KOBANKID/items/f77c5bb33e842f634f63著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .