Difference between r1.2 and the current
@@ -1,6 +1,59 @@
TeX Live는 널리 쓰이는 운영체제, 곧 윈도우와 맥, 그리고 리눅스를 포함한 유닉스 체제를 위한 바이너리 파일을 제공하므로 설치 후에 곧바로 사용할 수 있다. 그럼에도 불구하고 가끔은 소스 코드로부터 직접 빌드한 바이너리를 쓰고 싶을 수가 있다. 아마도 다음과 같은 경우일 것이다.
TeX Live는 널리 쓰이는 운영체제, 곧 윈도우와 맥, 그리고 리눅스와 Free BSD를 포함한 주요 유닉스 체제를 위한 바이너리 파일을 직접 또는 간접 제공하므로 설치 후에 곧바로 사용할 수 있다. 그럼에도 불구하고 가끔은 소스 코드로부터 직접 빌드한 바이너리를 쓰고 싶을 수가 있다. 아마도 다음과 같은 경우일 것이다.
* '''자신의 운영체제 또는 프로세서에 맞는 TeX Live 바이너리가 없을 때'''
* '''바이너리 패치가 있을 때''' : 아마도 이 경우가 주된 이유가 아닐까 한다. [["TeX Live"]]는 인터넷을 통해서 각종 패키지를 손쉽게 업데이트할 수 있지만 바이너리 파일 만큼은 1년에 한 번만, 곧 버전이 바뀔 때에만 업데이트하는 정책을 가지고 있다. 만약 그 사이에 바이너리에 관한 패치가 나온다면 다음 버전이 나올 때까지 기다려야 하는데, 그럴 수 없다면 바이너리를 직접 빌드해서 써야 한다.
여기에서는 다음과 같은 환경에서 TeX Live를 빌드하는 방법을 설명한다.
* 우분투 : 14.04.2 Server(AMD64)
* 페도라 : Server 21 (x86-64)
== 빌드에 필요한 각종 패키지 설치 ==
[["TeX Live"]] 빌드를 하기 위해서는 먼저 시스템에 몇 가지 패키지를 설치해야 한다.
=== 우분투 ===
설치되어 있는 패키지들을 업데이트한다.
{{{
sudo apt-get update
}}}
업데이트가 끝나면 다음 패키지를 설치한다.
{{{
sudo apt-get build-essential (빌드에 필요한 각종 기본 개발도구 및 라이브러리)
sudo apt-get g++ (GNU C++ 컴파일러는 별도로 설치해야 한다)
sudo apt-get make (일괄 빌드에 꼭 필요하다)
sudo apt-get fontconfig-dev (XeTeX 및 관련 바이너리 컴파일을 위해서 필요하다)
sudo apt-get xorg-dev (DVI Viewr와 같은 TeX Live의 GUI 애플리케이션을 컴파일하기 위해서 필요하다)
}}}
=== 페도라 ===
설치되어 있는 패키지들을 업데이트한다.
{{{
sudo yum update
}}}
업데이트가 끝나면 다음 패키지를 설치한다.
{{{
sudo yum groupinstall “Development Tools”(빌드에 필요한 각종 기본 개발도구 및 라이브러리)
sudo yum install gcc-c++ (GNU C++ 컴파일러는 별도로 설치해야 한다)
sudo yum install fontconfig-devel (XeTeX 및 관련 바이너리 컴파일을 위해서 필요하다)
sudo yum groupinstall "X Software Development" (DVI Viewr와 같은 TeX Live의 GUI 애플리케이션을 컴파일하기 위해서 필요하다)
}}}
== 소스코드 받아오기 ==
자신의 홈 디렉터리에서 빌드하는 것을 전제로 하고, 먼저 디렉터리를 하나 만들자.
{{{
mkdir texlive && cd texlive
}}}
소스코드를 받는 방법은 크게 전체 TeX Live 트리를 (바이너리까지 포함해서) 모두 받는 법과 바이너리 컴파일에 필요한 소스만 받는 방법이 있다. 전자는 TeX Live 전체를 빌드해서 설치할 경우에 유용하며 후자는 이미 설치된 TeX Live에 바이너리 패치만 적용하려고 할 때에 유용하다. 당연히 전자가 소스코드를 받아오는 시간이 훨씬 오래 걸린다.
전체 TeX Live 트리를 모두 받으려면,
{{{
rsync -a --delete --exclude=.svn tug.org::tldevsrc/Build/source .
}}}
바이너리 빌드에 필요한 소스코드만 받으려면,
{{{
rsync -a --delete --exclude=.svn tug.org::tldevsrc .
}}}
말미에 '.'(현재 디렉터리) 또는 소스코드를 받을 디렉터리를 지정하지 않으면 오류를 일으킨다는 점에 유의한다.
위와 같이 다운로드를 받으면 다 끝날 때까지 화면에 아무 것도 나타나지 않는데, 어떤 파일을 받고 있는지 보려면 -v 옵션을, 전송 상황까지 보려면 --progress 옵션을 추가한다.
(문서 작업 중입니다)
== 참고 ==
[https://www.tug.org/texlive/doc/tlbuild.html|Building TeX Live (2014)]
TeX Live는 널리 쓰이는 운영체제, 곧 윈도우와 맥, 그리고 리눅스와 Free BSD를 포함한 주요 유닉스 체제를 위한 바이너리 파일을 직접 또는 간접 제공하므로 설치 후에 곧바로 사용할 수 있다. 그럼에도 불구하고 가끔은 소스 코드로부터 직접 빌드한 바이너리를 쓰고 싶을 수가 있다. 아마도 다음과 같은 경우일 것이다.
- 자신의 운영체제 또는 프로세서에 맞는 TeX Live 바이너리가 없을 때
- 바이너리 패치가 있을 때 : 아마도 이 경우가 주된 이유가 아닐까 한다. TeX Live는 인터넷을 통해서 각종 패키지를 손쉽게 업데이트할 수 있지만 바이너리 파일 만큼은 1년에 한 번만, 곧 버전이 바뀔 때에만 업데이트하는 정책을 가지고 있다. 만약 그 사이에 바이너리에 관한 패치가 나온다면 다음 버전이 나올 때까지 기다려야 하는데, 그럴 수 없다면 바이너리를 직접 빌드해서 써야 한다.
- 우분투 : 14.04.2 Server(AMD64)
- 페도라 : Server 21 (x86-64)
우분투 ¶
설치되어 있는 패키지들을 업데이트한다.
sudo apt-get update업데이트가 끝나면 다음 패키지를 설치한다.
sudo apt-get build-essential (빌드에 필요한 각종 기본 개발도구 및 라이브러리) sudo apt-get g++ (GNU C++ 컴파일러는 별도로 설치해야 한다) sudo apt-get make (일괄 빌드에 꼭 필요하다) sudo apt-get fontconfig-dev (XeTeX 및 관련 바이너리 컴파일을 위해서 필요하다) sudo apt-get xorg-dev (DVI Viewr와 같은 TeX Live의 GUI 애플리케이션을 컴파일하기 위해서 필요하다)
페도라 ¶
설치되어 있는 패키지들을 업데이트한다.
sudo yum update업데이트가 끝나면 다음 패키지를 설치한다.
sudo yum groupinstall “Development Tools”(빌드에 필요한 각종 기본 개발도구 및 라이브러리) sudo yum install gcc-c++ (GNU C++ 컴파일러는 별도로 설치해야 한다) sudo yum install fontconfig-devel (XeTeX 및 관련 바이너리 컴파일을 위해서 필요하다) sudo yum groupinstall "X Software Development" (DVI Viewr와 같은 TeX Live의 GUI 애플리케이션을 컴파일하기 위해서 필요하다)
소스코드 받아오기 ¶
자신의 홈 디렉터리에서 빌드하는 것을 전제로 하고, 먼저 디렉터리를 하나 만들자.
mkdir texlive && cd texlive소스코드를 받는 방법은 크게 전체 TeX Live 트리를 (바이너리까지 포함해서) 모두 받는 법과 바이너리 컴파일에 필요한 소스만 받는 방법이 있다. 전자는 TeX Live 전체를 빌드해서 설치할 경우에 유용하며 후자는 이미 설치된 TeX Live에 바이너리 패치만 적용하려고 할 때에 유용하다. 당연히 전자가 소스코드를 받아오는 시간이 훨씬 오래 걸린다.
전체 TeX Live 트리를 모두 받으려면,
rsync -a --delete --exclude=.svn tug.org::tldevsrc/Build/source .바이너리 빌드에 필요한 소스코드만 받으려면,
rsync -a --delete --exclude=.svn tug.org::tldevsrc .말미에 '.'(현재 디렉터리) 또는 소스코드를 받을 디렉터리를 지정하지 않으면 오류를 일으킨다는 점에 유의한다.
위와 같이 다운로드를 받으면 다 끝날 때까지 화면에 아무 것도 나타나지 않는데, 어떤 파일을 받고 있는지 보려면 -v 옵션을, 전송 상황까지 보려면 --progress 옵션을 추가한다.
(문서 작업 중입니다)