^ Linux From Scratch - Version 12.1-systemd ^^^ ^ Chapter 8. Installing Basic System Software ^^^ |[[.:084-flex-2.6.4|이전]] | [[.:08-installing_basic_system_software|위로]] / [[.:12.1|처음으로]] | [[.:086-expect-5.45.4|다음]]| |Flex-2.6.4 | Expect-5.45.4| ---- ===== 8.15. Tcl-8.6.13 ===== Tcl 패키지에는 강력한 범용 스크립팅 언어인 Tool Command Langage가 포함되어 있습니다. Expect 패키지는 Tcl("tickle"로 발음)로 작성되었습니다. * **빌드 시간:** 2.7 SBU * **디스크 공간:** 89 MB ---- ==== 8.15.1. Tcl 설치 ==== 이 패키지와 다음 두 패키지(Expect 및 DejaGNU)는 Binutils, GCC 및 기타 패키지에 대한 테스트 스위트 실행을 지원하기 위해 설치됩니다. 테스트 목적으로 세 개의 패키지를 설치하는 것은 과도해 보일 수 있지만, 가장 중요한 도구가 제대로 작동하고 있다는 것을 아는 것은 필수적이지는 않더라도 심적인 안정감을 제공합니다. Tcl 컴파일을 준비합니다. SRCDIR=$(pwd) cd unix ./configure --prefix=/usr \ --mandir=/usr/share/man 패키지를 컴파일합니다. make sed -e "s|$SRCDIR/unix|/usr/lib|" \ -e "s|$SRCDIR|/usr/include|" \ -i tclConfig.sh sed -e "s|$SRCDIR/unix/pkgs/tdbc1.1.5|/usr/lib/tdbc1.1.5|" \ -e "s|$SRCDIR/pkgs/tdbc1.1.5/generic|/usr/include|" \ -e "s|$SRCDIR/pkgs/tdbc1.1.5/library|/usr/lib/tcl8.6|" \ -e "s|$SRCDIR/pkgs/tdbc1.1.5|/usr/include|" \ -i pkgs/tdbc1.1.5/tdbcConfig.sh sed -e "s|$SRCDIR/unix/pkgs/itcl4.2.3|/usr/lib/itcl4.2.3|" \ -e "s|$SRCDIR/pkgs/itcl4.2.3/generic|/usr/include|" \ -e "s|$SRCDIR/pkgs/itcl4.2.3|/usr/include|" \ -i pkgs/itcl4.2.3/itclConfig.sh unset SRCDIR "make" 명령 뒤에 나오는 다양한 "sed" 명령은 구성 파일에서 빌드 디렉터리에 대한 참조를 제거하고 설치 디렉터리로 대체합니다. 이 작업은 LFS 남아있는 부분에서 필수는 아니지만 나중에 빌드된 패키지가 Tcl을 사용하는 경우 필요할 수 있습니다. 결과를 테스트 합니다. make test 패키지를 설치합니다. make install 설치된 라이브러리를 쓰기 가능하게 설정하여 나중에 디버깅 심볼을 제거할 수 있도록 합니다. chmod -v u+w /usr/lib/libtcl8.6.so 이어서 다음에 설치할 Expect 패키지가 필요로 하는 Tcl 헤더 파일을 설치합니다. make install-private-headers 이제 필요한 심볼릭 링크를 만듭니다. ln -sfv tclsh8.6 /usr/bin/tclsh Perl 설명서와 파일명 중복되는 man 페이지의 파일명을 변경합니다. mv /usr/share/man/man3/{Thread,Tcl_Thread}.3 필요하다면 다음 명령으로 추가적인 문서를 설치합니다. cd .. tar -xf ../tcl8.6.13-html.tar.gz --strip-components=1 mkdir -v -p /usr/share/doc/tcl-8.6.13 cp -v -r ./html/* /usr/share/doc/tcl-8.6.13 ---- ==== 8.15.2. Tcl 패키지 구성 ==== * **설치된 프로그램:** \\ tclsh(tclsh8.6에 대한 링크) 및 tclsh8.6 * **설치된 라이브러리:** \\ libtcl8.6.so 및 libtclstub8.6.a === 간략한 설명=== * **tclsh8.6** \\ Tcl 명령 셸 * **tclsh** \\ tclsh8.6에 대한 링크 * libtcl8.6.so \\ Tcl 라이브러리 * libtclstub8.6.a \\ Tcl stub((테스트에 필요한 호출에 대해 미리 준비된 답을 제공하는 객체)) 라이브러리