옵션을 사용하여 Nano 편집기 컴파일

옵션을 사용하여 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 <[email protected]>"

다음과 같이 구성 스크립트를 실행해 보았습니다.

./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: [email protected] Web: https://nano-editor.org/
Compiled options: --disable-libmagic --disable-wrapping-as-root --enable-utf8

답변1

./configureNano는 명령줄에 제공된 컴파일 옵션을 저장하지 않지만 감지된 기능을 기반으로 재구성합니다.그리고요청된 대상("작은" Nano 또는 일반 Nano)입니다. 작은 Nano의 경우 기본값에 추가된 활성화된 옵션을 보고하고, 일반 Nano의 경우 기본값에서 제거된 비활성화된 옵션을 보고합니다(대부분의 경우).

귀하의 경우 일반 Nano를 구축하고 있으므로 대부분의 옵션에 대해비활성화된 경우에만 보고됩니다.;예외는 debug, utf8및 입니다 slang. 모든 --enable옵션은 일반 Nano의 기본값이므로 컴파일 옵션에 보고되지 않습니다. 옵션이 있든 없든 동일한 결과를 얻을 수 있습니다 ./configure. --disable-magic개발 파일이 없기 때문에 이와 같은 결과가 발생합니다 libmagic(참조:토마스 디키의 답변), --enable-utf8UTF-8 지원에 필요한 기능이 있기 때문입니다(그리고 기본적으로 활성화되어 있습니다).

답변2

libmagic용 개발 패키지가 필요합니다. 내 데비안 시스템에서는libmagic 개발예를 들어.

개발 라이브러리가 설치되어 있지 않으면 구성 스크립트가 이를 알려줍니다. 라이브러리 없이 표시되는 내용은 다음과 같습니다.

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

답변3

~에 따르면오류 보고서회신하다:

모든 옵션(디버깅 제외)은 기본적으로 활성화되어 있으므로 모든 --enable-nanorc 등은 중복됩니다. Thomas가 Stackexhange에서 설명했듯이 libmagic 지원을 원하면 -dev 패키지가 필요합니다(하지만 사용하지 않는 것이 좋습니다. 이는 거의 가져오지 않으며 시작 시 심각한 속도 저하를 유발합니다).

당신 둘 다 맞습니다. 감사해요도마그리고스티븐.

한 가지 빠진 것이 있습니다. 내 파일을 다음과 같이 nano읽지 않는다는 것입니다 ./etc/nanorc보고서.

개발자에 따르면 다음을 수행할 수 있습니다.물론:

sudo ln -nsf /etc/nanorc /usr/local/etc/

관련 정보