Как собрать Vim из исходников на VPS вместо отдыха
Можно, но зачем?#
На свежей VPS понадобился Vim. Я ради ✨разнообразия✨ решила собрать его из исходников с GitHub и лучше б я решила посмотреть очередную серию Отчаянных домохозяек или поела шашлыка. Хотя и узнала кое-что новое для себя.
До этого я не припомню, чтоб в работе у меня была необходимость собирать что-либо из исходников, ну я и решила себе её создать. Это, в общем-то, troubleshooting заметка больше для себя, но пусть и тут будет.
Начиналось всё довольно чинно. Я полезла в документацию, скопировала:
git clone https://github.com/vim/vim.git
Скачалось. Менять конфиг vim я не собиралась, поэтому можно сразу собирать:
cd src
make
И тут началось:
Command 'make' not found, but can be installed with:
sudo apt install make
Ну конечно, чего б ему там быть. Установила, снова использую make:
configure: error: no acceptable C compiler found in $PATH
Чтобы не морочить себе голову, устанавливаю пакет build-essential, который включает make, g++, gcc. Я пока только начинаю развлекаться сборкой из исходников в этот летний субботний вечер, поэтому не углубляюсь в это особо.
Справедливости ради, make я использовала и раньше, но вот про build-essential не знала. Скорее всего, раньше на рабочей машине с Ubuntu 18 я с этим не сталкивалась, потому что он либо уже был установлен, либо подтянут как какая-нибудь зависимость другого пакета. На VPS образы обычно обрубленные, так что не удивительно, что его там не было.
Устанавливаю:
sudo apt update
sudo apt install build-essential
Проверяю версию:
make --version
И снова пробую собрать Vim:
checking for tgetent()... configure: error: NOT FOUND!
You need to install a terminal library; for example ncurses.
On Linux that would be the libncurses-dev package.
“Зачем я это с собой делаю?” - спрашиваю я себя и устанавливаю библиотеку ncurses, через которую Vim работает с терминалом:
sudo apt install libncurses-dev
После этого наконец-то завелось:
