Компиляция редактора Nano с параметрами

Я пытаюсь скомпилировать мой любимый текстовый редактор командной строки nano с некоторыми вариантами.

На самом деле, большинство вариантов, чтобы включить все функции.


Сначала я перехожу в каталог «Загрузки» и загружаю tarball:

 cd Downloads wget --continue https://www.nano-editor.org/dist/v2.8/nano-2.8.0.tar.xz 

Затем я проверяю его целостность:

 wget --continue https://www.nano-editor.org/dist/v2.8/nano-2.8.0.tar.xz.asc gpg --verify nano-2.8.0.tar.xz.asc 

Он должен сказать:

 gpg: Good signature from "Benno Schulenberg <bensberg@justemail.net>" 

Я попытался запустить сценарий конфигурации следующим образом:

 ./configure --enable-nanorc --enable-color --enable-extra --enable-multibuffer --enable-utf8 --enable-libmagic --enable-speller --disable-wrapping-as-root 

После компиляции я получаю это; непосредственно выполняемый в скомпилированном каталоге:

 Compiled options: --disable-libmagic ... 

Я подчеркиваю:

 --disable-libmagic 

Поскольку я специально настроил его с помощью:

 --enable-libmagic 

После успеха:

  1. Я удаляю папку для запуска процесса:

     rm -rf nano-2.8.0/ 
  2. Я снова извлекаю архив:

     tar -xJf nano-2.8.0.tar.xz 
  3. Я пробовал разные комбинации опций, но не повезло.


Что-то не хватает в системе, или я просто делаю что-то неправильно?


Прямое выполнение после компиляции:

 user@computer ~/Downloads/nano-2.8.0/src $ ./nano --version 
 GNU nano, version 2.8.0 (C) 1999..2016 Free Software Foundation, Inc. (C) 2014..2017 the contributors to nano Email: nano@nano-editor.org Web: https://nano-editor.org/ Compiled options: --disable-libmagic --disable-wrapping-as-root --enable-utf8 

3 Solutions collect form web for “Компиляция редактора Nano с параметрами”

Nano не сохраняет скомпилированные параметры, как указано в командной строке ./configure , он восстанавливает их на основе обнаруженных функций и запрошенной цели («крошечный» Nano или обычный Nano). Для крошечного Nano он сообщает о включенных параметрах, поскольку они добавляют к умолчанию; для нормального Nano он сообщает об отключенных параметрах, поскольку они удаляются из значения по умолчанию (в большинстве случаев).

В вашем случае вы создаете нормальный Nano, поэтому для большинства опций он сообщает только, если они отключены ; исключениями являются debug , utf8 и slang . Все ваши параметры --enable являются значениями по умолчанию для нормального Nano, поэтому он не сообщает об этом в скомпилированных параметрах; вы получите тот же результат с ./configure и без параметров. Вы получаете --disable-magic потому что у вас нет файлов разработки для libmagic (см . Ответ Томаса Дики ) и с --enable-utf8 потому что у вас есть необходимые функции для поддержки UTF-8 (и он включен по умолчанию).

Вам нужен пакет разработки для libmagic. В моей системе Debian это libmagic-dev, например.

Если у вас нет установленной библиотеки разработки, сценарий configure сообщает об этом. Вот что он показывает без библиотеки:

 checking whether LINES and COLS can be redefined... yes checking magic.h usability... no checking magic.h presence... no checking for magic.h... no checking for magic_open in -lmagic... no 

и после установки пакета:

 checking whether LINES and COLS can be redefined... yes checking magic.h usability... yes checking magic.h presence... yes checking for magic.h... yes checking for magic_open in -lmagic... yes 

Функция, которую вы проверяете, – это определение в config.h , то есть HAVE_LIBMAGIC (хотя вам также нужен файл заголовка, как показано):

 /* Define to 1 if you have the `magic' library (-lmagic). */ #define HAVE_LIBMAGIC 1 /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the <limits.h> header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the <magic.h> header file. */ #define HAVE_MAGIC_H 1 

Согласно ответу отчета об ошибке :

Все параметры включены по умолчанию (кроме отладки), поэтому все ваши –enable-nanorc и т. Д. Излишни. И, как Томас объяснил на Stackexhange, вам нужен какой-то пакет -dev, если вы хотите поддержку libmagic (но я бы советовал против этого – он приносит очень мало и является основным замедлением во время запуска).

Вы оба правы. Спасибо, Томас и Стивен .

Оставалось только одно: nano не читает мой файл /etc/nanorc как сообщалось .

По словам разработчика, это может сделать следующее:

 sudo ln -nsf /etc/nanorc /usr/local/etc/ 
  • Как показать непечатаемые символы в нано
  • Возможно ли сохранить текст в нано с одним нажатием клавиши
  • Получено SIGHUP или SIGTERM: nano не может редактировать пустой файл
  • Скомпилированный GNU / Nano: как добавить в список системных редакторов
  • Как настроить число столбцов на оправданном абзаце в нано
  • Редактор Nano: удаление до конца файла
  • Interesting Posts

    Создание субблока btrfs, установленного в другой файловой системе

    Еще одна проблема с установкой Asterisk на kali linux

    Могу ли я установить несколько каталогов для $ HOME?

    crontab, экземпляр, проблемы с памятью + спам

    Разница между учетной записью root и административной учетной записью

    Маршрутизация частной сети в Интернет через 2 шлюза

    Сопоставьте одну часть регулярного выражения в регулярном выражении Kwrite find-and-replace

    xf86EnableIOPorts: не удалось установить IOPL для ввода-вывода (операция не разрешена)

    Сценарий для входа в ssh дважды

    Как включить nginx для nixos только для локального хоста?

    Выполняет ли RHEL / CentOS все файлы cronjob в файле /etc/cron.d/* или только некоторые из них?

    Отправлять звук на приложение и динамик

    Как остановить приложение от приостановки с помощью Ctrl + z?

    Профилирование памяти, диска, процессора и времени из python

    Почему visudo препятствует другим редакторам?

    Linux и Unix - лучшая ОС в мире.