vim ycm arm64 build error

vim 을 실행하면 설치된 youcompleteme 플러그인이 동작하지 않아 :YcmRestartServer 를 실행하나라는 등의 메시지가 발생하는 경우가 있다.
이때 다음과 같이 다시 빌드해주면 된다.
cd ~/.vim/plugged/youcompleteme/ && git submodule update --init --recursive && python ./install.py --all --verbose

그런데 빌드 링크 과정에서 다음과 같이 absl(abseil) 가 arm64 라서 실패한다.
[100%] Linking CXX shared library /Users/ysoftman/.vim/plugged/youcompleteme/third_party/ycmd/ycm_core.cpython-312-darwin.so
Undefined symbols for architecture arm64: "absl::lts .... 

아키텍쳐별 다음과 absl이 설치되어 있다.
ls /usr/local/lib/libabsl*  (x86_64)
ls /opt/homebrew/lib/libabsl* (arm64)

arm64 터미널/쉘(arch 명령으로 확인) 환경이라 arm64 를 찾아야 될것 같은데 그렇지 못하고 x86_64 를 찾는것 같다.

빌드시 arm64 경로를 찾을 수 있게 다음과 같이 환경변수를 설정했지만 빌드시 여전히 에러가 발생했다.
export LIBRARY_PATH=/opt/homebrew/lib

다음과 같이 x86_64 경로의 absl 을 삭제(의존성이 있는 패키지들도 모두 삭제했다)하면 빌드가 성공한다.
arch -x86_64 /usr/local/bin/brew uninstall abseil

#####

nvim 에서 플러그인 새로 설치(빌드)시 ~/.local/share/nvim/site/parser/*.so 파일들이 x86 로 빌드되는 문제가 발생했다.
이것도 x86_64 경로의 tree-sitter 를 삭제하고 빌드하면 된다.
arch -x86_64 /usr/local/bin/brew uninstall tree-sitter

comments:

댓글 쓰기