linuxfromscratch:12.1:042-ncurses-6.4-20230520

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
linuxfromscratch:12.1:042-ncurses-6.4-20230520 [2024/05/10 14:25] baecylinuxfromscratch:12.1:042-ncurses-6.4-20230520 [2024/06/14 22:50] (현재) baecy
줄 1: 줄 1:
 ^  Linux From Scratch - Version 12.1-systemd  ^^^ ^  Linux From Scratch - Version 12.1-systemd  ^^^
 ^  Chapter 6. Cross Compiling Temporary Tools  ^^^ ^  Chapter 6. Cross Compiling Temporary Tools  ^^^
-|[[.:040-m4-1.4.19|이전]]  |  위로 / 처음으로  |  [[.:041-ncurses-6.4-20230520|다음]]|+|[[.:041-m4-1.4.19|이전]]  |  [[.:06-cross_compiling_temporary_tools|위로]] [[.:12.1|처음으로]]   [[.:043-bash-5.2.21|다음]]|
  
-|개요  |  Ncurses-6.4-20230520|+|M4-1.4.19  |  Bash-5.2.21|
  
 ------  ------ 
  
-====== 6.3. Ncurses-6.4-20230520 ======  +===== 6.3. Ncurses-6.4-20230520 =====
-Ncurses 패키지에는 터미널에 독립적인 문자 화면 처리를 위한 라이브러리가 포함되어 있습니다.+
  
-대략적인 빌드 시간: +Ncurses 패키지에는 터미널 독립적인 문자 화면 처리를 위한 라이브러리가 포함되어 있습니다.
-0.3 SBU +
-필요한 디스크 공간: +
-51MB +
-6.3.1. Ncurses 설치 +
-먼저 구성하는 동안 gawk를 먼저 찾아야 합니다:+
  
 +  * **빌드 시간:** 0.3 SBU
 +  * **디스크 공간:** 51MB 
 +
 +------
 +
 +==== 6.3.1. Ncurses 설치 ====
 +
 +우선 설정하는 동안 **gawk**를 먼저 찾도록 해야합니다.
 +
 +<code bash>
 sed -i s/mawk// configure sed -i s/mawk// configure
-그런 다음 다음 명령을 실행하여 빌드 호스트에서 "tic" 프로그램을 빌드합니다:+</code>
  
-mkdir 빌드 +다음 명령을 실행하여 빌드 호스트에서 "tic" 프로그램을 먼저 빌드합니다. 
-pushd 빌드+ 
 +<code bash> 
 +mkdir build 
 +pushd build
   ../configure   ../configure
   make -C include   make -C include
   make -C progs tic   make -C progs tic
 popd popd
-컴파일을 위해 Ncurses를 준비합니다:+</code>
  
-./configure --prefix=/usr \. +Ncurses 컴파일을 준비합니다. 
-            --host=$LFS_TGT \. + 
-            --build=$(./config.guess) \ +<code bash> 
-            --mandir=/usr/share/man \ +./configure --prefix=/usr                
-            --with-manpage-format=normal \. +            --host=$LFS_TGT              
-            --with-shared \ +            --build=$(./config.guess)    
-            --without-normal \ +            --mandir=/usr/share/man      
-            --with-cxx-shared \ +            --with-manpage-format=normal \ 
-            --without-debug \ +            --with-shared                
-            --without-ada \ +            --without-normal             
-            --disable-stripping \+            --with-cxx-shared            
 +            --without-debug              
 +            --without-ada                
 +            --disable-stripping          \
             --enable-widec             --enable-widec
-새로운 구성 옵션의 의미+</code>
  
---with-manpage-format=normal +=== configure 옵션 명 ===
-이는 호스트 배포 자체에 압축된 수동 페이지가 있는 경우 발생할 수 있는 압축된 수동 페이지를 Ncurses가 치하지 못하게 합니다.+
  
---with-shared +  * //--with-manpage-format=normal// \\ 호스트 배포판에 압축된 매뉴얼 페이지가 있는 경우 Ncurses가 압축된 매뉴얼 페이지를 설치하는 것을 금지합니다. 
-Ncurses가 공유 C 라이브러리를 빌드하고 설치하도록 합니다.+  * //--with-shared// \\ Ncurses가 공유 C 라이브러리를 빌드하고 설치하도록 합니다. 
 +  * //--without-normal// \\ Ncurses가 정적 C 라이브러리를 빌드 및 설치하지 않도록 합니다. 
 +  * //--without-debug// \\ Ncurses가 디버그 라이브러리를 빌드 및 설치하지 않도록 합니다. 
 +  * //--with-cxx-shared// \\ Ncurses가 공유 C++ 바인딩을 빌드 및 설치하도록 합니다. 또한 정적 C++ 바인딩을 빌드 및 설치하지 못하도록 합니다. 
 +  * //--without-ada// \\ 호스트에는 있을 수 있지만 **chroot** 환경에 들어가면 사용할 수 없는 Ada 컴파일러에 대한 지원을 Ncurses가 빌드하지 않도록 합니다. 
 +  * //--disable-stripping// \\ 빌드 시스템이 호스트에서 **strip** 프로그램을 사용하지 못하도록 합니다. 크로스 컴파일된 프로그램에서 호스트 도구를 사용하면 오류가 발생할 수 있습니다. 
 +  * //-enable-widec// \\ 일반 라이브러리(예: ''libncurses.so.6.4-20230520'') 대신 와이드 문자 라이브러리(예: ''libncursesw.so.6.4-20230520'')를 빌드하도록 한다. 와이드 문자 라이브러리는 멀티바이트 및 기존 8비트 로캘 모두에서 사용할 수 있는 반면 일반 라이브러리는 8비트 로캘에서만 제대로 작동합니다. 와이드 문자 라이브러리와 일반 라이브러리는 소스 호환이 가능하지만 바이너리 호환은 불가능합니다.
  
---without-normal +패키를 컴파일합니다.
-Ncurses가 정적 C 라이브러리를 빌드 및 설치하지 않도록 합니다.+
  
---without-debug +<code bash> 
-Ncurses가 디버그 라이브러리를 빌드 및 설치하지 않도록 합니다.+make 
 +</code>
  
---with-cxx-shared +패키지를 설치합니다.
-이 옵션은 Ncurses가 공유 C++ 바인딩을 빌드 및 설치하도록 합니다. 또한 정적 C++ 바인딩을 빌드 및 설치하지 못하도록 합니다.+
  
---without-ada +<code bash> 
-호스트에는 있을 수 있지만 루트 환경에 들어가면 사용할 수 없는 Ada 컴파일러에 대한 지원을 Ncurses가 빌드하지 않도록 합니다. +make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install
- +
---disable-stripping +
-이 스위치는 빌드 시스템이 호스트에서 스트립 프로그램을 사용하지 못하도록 합니다. 교차 컴파일된 프로그램에서 호스트 도구를 사용하면 오류가 발생할 수 있습니다. +
- +
--enable-widec +
-이 스위치는 일반 라이브러리(예: libncursesw.so.6.4-20230520) 대신 와이드 문자 라이브러리(예: libncurses.so.6.4-20230520)를 빌드하도록 한다. 이러한 와이드 문자 라이브러리는 멀티바이트 및 기존 8비트 로캘 모두에서 사용할 수 있는 반면 일반 라이브러리는 8비트 로캘에서만 제대로 작동합니다. 와이드 문자 라이브러리와 일반 라이브러리는 소스 호환이 가능하지만 바이너리 호환은 불가능합니다. +
- +
-패키지를 컴파일합니다: +
- +
-make +
-패키지를 설치합니다: +
- +
-make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic 설치+
 ln -sv libncursesw.so $LFS/usr/lib/libncurses.so ln -sv libncursesw.so $LFS/usr/lib/libncurses.so
-sed -e 's/^#if.*XOPEN.*$/#if 1/' \.+sed -e 's/^#if.*XOPEN.*$/#if 1/' \
     -i $LFS/usr/include/curses.h     -i $LFS/usr/include/curses.h
-설치 옵션의 의미: +</code>
- +
-TIC_PATH=$(pwd)/build/progs/tic +
-빌드 머신에서 실행되는 새로 빌드된 틱 프로그램의 경로를 전달해야 터미널 데이터베이스가 오류 없이 생성될 수 있습니다. +
- +
-ln -sv libncursesw.so $LFS/usr/lib/libncurses.so +
-libncurses.so 라이브러리는 곧 빌드할 몇 가지 패키지에 필요합니다. 이 심볼릭 링크를 생성하여 libncursesw.so를 대체로 사용합니다.+
  
-sed -e 's/^#if.*XOPEN.*$/#if 1/' ... +=== install 옵션 설명 ===
-헤더 파일 curses.h에는 다양한 Ncurses 데이터 구조의 정의가 포함되어 있습니다. 서로 다른 전처리기 매크로 정의를 사용하면 데이터 구조 정의의 두 가지 다른 집합을 사용할 수 있습니다: 8비트 정의는 libncurses.so와 호환되고 와이드 문자 정의는 libncursesw.so와 호환됩니다. libncurses.so 대신 libncursesw.so를 사용하므로 헤더 파일을 편집하여 항상 libncursesw.so와 호환되는 와이드 문자 데이터 구조 정의를 사용하도록 하세요.+
  
-이 패키지에 대한 자세한 내용은 섹션 8.29.2, "Ncurses의 내"에 나와 있습니다. +  * //TIC_PATH=$(pwd)/build/progs/tic// \\ 빌드 머신에서 실행되는 새로 빌드된 **tic** 프로그램의 경로를 전달해야 터미널 데터베이스가 오류 없이 생성될 수 있습니다. 
-*** Translated with www.DeepL.com/Translator (free version) ***+  * **ln -sv libncursesw.so $LFS/usr/lib/libncurses.so** \\ ''libncurses.so'' 라이브러리는 곧 빌드할 몇 가지 패키지에 필요합니다이 심볼릭 링크를 생성하여 ''libncursesw.so''를 대체로 사니다. 
 +  * **sed -e 's/^#if.*XOPEN.*$/#if 1/' ...** \\ 헤더 파일 ''curses.h''에는 다양한 Ncurses 데이터 구조의 정의가 포함되어 있습니다. 서로 다른 전처리기 매크로 정의를 사용하면 데이터 구조 정의의 두 가지 다른 집합을 사용할 수 있습니다: 8비트 정의는 ''libncurses.so''와 호환되고 와이드 문자 정의는 ''libncursesw.so''와 호환됩니다. LFS는 ''libncurses.so'' 대신 ''libncursesw.so''를 사용하므로 헤더 파일을 편집하여 항상 ''libncursesw.so''와 호환되는 와이드 문자 데이터 구조 정의를 사용하도록 합니다.
  
 +------
  
 +이 패키지에 대한 자세한 내용은 [[.: 099-ncurses-6.4-20230520#8.29.2. Ncurses 패키지 구성|8.29.2. "Ncurses 패키지 구성"]]에 나와 있습니다.
  • linuxfromscratch/12.1/042-ncurses-6.4-20230520.1715351114.txt.gz
  • 마지막으로 수정됨: 2024/05/10 14:25
  • 저자 baecy