Компиляция редактора 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 на CoreOS?
  • Можно ли легко переключаться между вкладками и пробелами в нано?
  • Открыть файлы в новой вкладке для nano
  • Interesting Posts

    Когда вы вводите термин поиска в режиме копирования, есть ли способ стереть поисковый запрос с чем-то вроде CTRL-U?

    Установка Linux Mint 11 LXDE x64 поверх ubuntu-минимального

    VIM: Показать шестнадцатеричный код Inline

    Как я могу поместить пользователя в файл суперпользователей?

    Добавление разрывов между каждыми двумя словами в bash

    Как игнорировать пустые каталоги при использовании `rm` с подстановочными знаками для нескольких каталогов в zsh?

    Что делать, если я не хочу ничего делать в блоке if-then, но что-то в его блоке?

    Почему `mkdir -pm` не задает разрешения, которые я просил?

    Серверные серверные полосы для подключения к сети Solaris

    Как объединить набор правил iptables

    пространство консоли, съеденное содержимым файла

    Что мешает дистрибутивам использовать последнее ядро ​​Linux?

    Настройка пакета, который был загружен с помощью apt-get

    Как не регистрировать некоторые сообщения в журнале systemd

    Могу ли я легко найти свою историю на многих экранах?

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