2

Я пытаюсь собрать Vim 8.0 на Ubuntu 16.04.1 LTS. configure и make запуск без каких - либо ошибок, однако это не игнорировать параметр --program-suffix

[local vim repo]/configure --program-suffix=8 --with-features=big

Я намеревался собрать Vim 8.0 параллельно моей стабильной установке с суффиксом "8", поэтому в vim8 должен быть бинарный /usr/local/bin/ .

Любая идея?

2 ответа2

2

Я подтвердил такое поведение на CentOS 7.2 с помощью сегодняшнего репозитория vim (версия 8.0.3); значение из --program-suffix не сохраняется. Это поле в файле src/auto/configure и после запуска ./configure должно заполнить поле в src/config.mk но для него нет заполнителя. Другие предоставленные для конфигурации флаги configure делают update src/config.mk

В файле src/INSTALL есть примечание по теме:

Если пакет поддерживает его, вы можете настроить установку программ с дополнительным префиксом или суффиксом в своих именах, задав configure параметра configure параметр --program-prefix=PREFIX или --program-suffix=SUFFIX

Я думаю, игнорируя аргумент и не сообщая о нем, разработчики vim решили «не поддерживать» эту опцию в основной ветке.

Чтобы предотвратить возможную перезапись файлов при установке 7.x, я предлагаю полностью установить его в другой каталог, пока не произойдет полный переход; если вы объедините эту опцию с переименованием vim с использованием предложенного флага @pibarnas, вы можете полностью изолировать установку vim8 от существующей установки.

 ./configure --with-features=big --prefix=$HOME --with-vim-name=vim8

Измените $ HOME на тот путь, который вам подходит; я рекомендую после установки установить символические ссылки из $ HOME/bin/ на / usr / local / sbin/

sudo ln -s /home/<username>/bin/vim8 /usr/local/bin/

Вы можете сделать то же самое с соответствующими исполняемыми файлами vim в зависимости от того, что вы создаете. Некоторые из них не берут vim-имя, указанное в конфигурации, что является еще одной причиной, чтобы просто использовать отдельный установочный каталог.

Для справки, вот двоичные файлы, установленные vim. Я использовал разные аргументы конфигурации; Я написал это внизу - на всякий случай при попытке воспроизвести вышеупомянутую команду не работает по какой-то неясной причине; ниже то, что я на самом деле использовал.

-rwxr-xr-x 1 root   root    143 Sep 12 23:04 gvim8tutor
-rwxr-xr-x 1 root   root    19K Sep 12 23:04 xxd
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 vim8diff -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 rview -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 rvim8 -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 view -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 ex -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 gvim8diff -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 eview -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 evim8 -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 rgview -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 rgvim8 -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 gview -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 gvim8 -> vim8
-rwxr-xr-x 1 root   root   2.1K Sep 12 23:04 vim8tutor
-rwxr-xr-x 1 root   root   2.7M Sep 12 23:04 vim8

Команда Vim config / build / install:

./configure --prefix=$HOME --with-vim-name=vim8 --with-compiledby="argonauts12" --with-features=huge --enable-gui=auto --with-x --enable-rubyinterp --with-ruby-command=/usr/bin/ruby --enable-perlinterp --enable-pythoninterp --with-python-config-dir=/usr/lib64/python2.7/config --enable-fontset --enable-cscope --enable-gtk2-check --enable-gnome-check --enable-fail-if-missing --disable-multibyte && make -j8 && make install
1

Соответственно ./config --help:

--with-vim-name = NAME, что называть исполняемым файлом Vim

В этом случае:

--with-ВИМ-имя = vim8

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .