Sarcasm / irony-mode

A C/C++ minor mode for Emacs powered by libclang
GNU General Public License v3.0
906 stars 99 forks source link

install-irony-server failed on macOS: 'clang-c/Index.h' file not found #467

Closed 0liu closed 6 years ago

0liu commented 6 years ago

I got this error when running irony-install-server on Emacs 25.3.1, macOS High Sierra 10.13.3. clang/llvm is the default with command line tools. It looks people succeeded building on Mac using brew version llvm. Is it possible to build irony-server with the apple-version llvm?

$ clang --version Apple LLVM version 9.0.0 (clang-900.0.39.2) Target: x86_64-apple-darwin17.4.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Building log:

-- mode: compilation; default-directory: "/var/folders/vr/c1_t0ywj18jb1j6yntnz4yy40000gn/T/build-irony-server-1.2.0/" -- Compilation started at Sun Feb 11 00:32:08

cmake -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON -DCMAKE_INSTALL_PREFIX\=/Users/ning/.emacs.d/irony/ /Users/ning/.emacs.d/elpa/irony-20180104.1109/server && cmake --build . --use-stderr --config Release --target install -- Detecting Clang resource directory -- Detecting Clang resource directory -- fail CMake Warning at cmake/CheckClangResourceDir.cmake:77 (message): CheckClangResourceDir: failed to compile checker, please report.

Compile output:
  Change Dir: /private/var/folders/vr/c1_t0ywj18jb1j6yntnz4yy40000gn/T/build-irony-server-1.2.0/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_722a7/fast"

/Library/Developer/CommandLineTools/usr/bin/make -f CMakeFiles/cmTC_722a7.dir/build.make CMakeFiles/cmTC_722a7.dir/build

Building CXX object CMakeFiles/cmTC_722a7.dir/LibClangDiagnosticsChecker.cpp.o

/Library/Developer/CommandLineTools/usr/bin/c++ -I/Library/Developer/CommandLineTools/usr/include -fno-exceptions -o CMakeFiles/cmTC_722a7.dir/LibClangDiagnosticsChecker.cpp.o -c /private/var/folders/vr/c1_t0ywj18jb1j6yntnz4yy40000gn/T/build-irony-server-1.2.0/CMakeFiles/CMakeTmp/LibClangDiagnosticsChecker.cpp

/private/var/folders/vr/c1_t0ywj18jb1j6yntnz4yy40000gn/T/build-irony-server-1.2.0/CMakeFiles/CMakeTmp/LibClangDiagnosticsChecker.cpp:9:10: fatal error: 'clang-c/Index.h' file not found

include <clang-c/Index.h>

       ^~~~~~~~~~~~~~~~~

1 error generated.

make[1]: *** [CMakeFiles/cmTC_722a7.dir/LibClangDiagnosticsChecker.cpp.o] Error 1

make: *** [cmTC_722a7/fast] Error 2

Call Stack (most recent call first): src/CMakeLists.txt:8 (check_clang_resource_dir)

-- Irony package version is '1.2.0' -- Found emacs: /Applications/emacs.app/Contents/MacOS/Emacs -- Configuring done -- Generating done -- Build files have been written to: /private/var/folders/vr/c1_t0ywj18jb1j6yntnz4yy40000gn/T/build-irony-server-1.2.0 Scanning dependencies of target irony-server [ 14%] Building CXX object src/CMakeFiles/irony-server.dir/Command.cpp.o In file included from /Users/ning/.emacs.d/elpa/irony-20180104.1109/server/src/Command.cpp:11: In file included from /Users/ning/.emacs.d/elpa/irony-20180104.1109/server/src/Command.h:14: /Users/ning/.emacs.d/elpa/irony-20180104.1109/server/src/support/CIndex.h:12:10: fatal error: 'clang-c/Index.h' file not found

include <clang-c/Index.h>

     ^~~~~~~~~~~~~~~~~

1 error generated. make[2]: [src/CMakeFiles/irony-server.dir/Command.cpp.o] Error 1 make[1]: [src/CMakeFiles/irony-server.dir/all] Error 2 make: *** [all] Error 2

Compilation exited abnormally with code 2 at Sun Feb 11 00:32:08

0liu commented 6 years ago

Solved by this wiki https://github.com/Sarcasm/irony-mode/wiki/Mac-OS-X-issues-and-workaround