-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Full installation on CentOS
Ben Jackson edited this page Jun 13, 2023
·
6 revisions
This page gives some unofficial indication of how to get a full YCM installation on CentOS in terms of installation of dependencies. They are provided on a "best efforts" basis, so your mileage may vary, as they say.
Build Vim and install dependencies:
sudo yum install epel-release
sudo yum groupinstall -y "Development Tools"
sudo yum install -y ncurses-devel cmake python3.11-devel libX11-devel libXt-devel mono-complete nodejs golang java-17-openjdk-devel
sudo yum module reset nodejs && sudo yum module enable nodejs:18 && sudo yum distro-sync
-
sudo update-alternatives --config python3
(select 3.11) git clone https://github.com/vim/vim && cd vim && ./configure --with-features=huge --with-x --enable-python3interp=dynamic --enable-fail-if-missing && make -j4 install
Install YCM according to the usual installation instructions.
These instructions come in the form of a gist containing scripts that were used to provision a vagrant VM on CentOS 7.
These instructions are much more vague, but include useful references.
- Update your installation
yum update (to centos 6.9)
- Install devtoolset-6 according to: https://www.softwarecollections.org/en/scls/rhscl/devtoolset-6/
yum install centos-release-scl
yum install devtoolset-6
source /opt/rh/devtoolset-6/enable
yum groupinstall "Development tools"
- Install cmake
yum install cmake
- Install python33 according to: https://www.softwarecollections.org/en/scls/rhscl/python33/
yum install python33 python33-devel
source /opt/rh/python33/enable
- Install EPEL repository
yum install epel-release
- Install golang, node, java, maven
yum groupinstall "Java Platform"
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
yum install golang
yum install nodejs
yum install maven30
source /opt/rh/maven30/enable
- Install mono according to: http://www.mono-project.com/docs/getting-started/install/linux/
yum install mono-core mono-devel
- Install rust according to https://www.rust-lang.org/en-US/install.html
curl https://sh.rustup.rs -sSf | sh
source ~/.profile
- Build LLVM from source (yay): http://llvm.org/docs/GettingStarted.html#git-mirror
- sync at least: llvm (into llvm/). clang (into llvm/tools/clang/)
- check out the latest released version tag
- note: this takes forever - i would recommend using https://github.com/llvm-mirror/llvm (or just grab a source tarball)
yum install cmake3
cd llvm
mkdir build
cd build
cmake3 -G "Unix Makefiles" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=`pwd`/../root ../
make -j 8 ;# wait another lifetime
make install
- Now, when building YCM, use the following command (adjust paths for your environment):
EXTRA_CMAKE_ARGS="-DEXTERNAL_LIBCLANG_PATH=/path/to/libclang.so" ./install.py --all