리눅스에서 OpenJDK 6을 CUPS 없이 빌드하기 (How to build OpenJDK 6 without CUPS, on Linux)

IcedTea는 1.12.7(http://icedtea.wildebeest.org/download/source/icedtea6-1.12.7.tar.xz)을,
OpenJDK는 6b27(http://download.java.net/openjdk/jdk6/promoted/b27/openjdk-6-src-b27-26_oct_2012.tar.gz)을 기준으로 했습니다.

tar -xf icedtea6-1.12.7.tar.xz
cd icedtea6-1.12.7
mkdir openjdk
cd openjdk
tar -xf ../../openjdk-6-src-b27-26_oct_2012.tar.gz
cd ..
sed -i ’802,816d; 145,146d;’ openjdk/jdk/make/common/shared/Sanity.gmk
sed -i ’118,123d;’ openjdk/jdk/make/common/Sanity.gmk
sed -i ’73d;’ openjdk/jdk/make/sun/xawt/FILES_c_unix.gmk
sed -i ’230d;’ openjdk/jdk/make/sun/awt/FILES_c_unix.gmk
sed -i ’831d;’ Makefile.am
sed -i ’1151d;’ Makefile.in
sed -i ’12570,12572d;’ configure
./configure –disable-silent-rules –disable-tests –disable-hotspot-tests –disable-pulse-java –enable-xrender –enable-nss –disable-bootstrap –disable-downloading –with-openjdk-src-dir=$(pwd)/openjdk
make

1. OpenJDK 소스 패키지는 패키징하는 쪽에서 소스 트리를 디렉토리 하나로 묶지 않고 그냥 패키징해 놓아서 푸는 순간 tar -xf를 실행한 지점에 어마어마한 수의 파일이 생성됩니다. 해서 참극(?)을 피하기 위해 별도의 디렉토리를 만들고 그 안에서 tar -xf를 실행했습니다.
2. OpenJDK를 빌드하기 위해서는 이미 빌드되어 있는 자바가 필요합니다.
3. 빌드 결과물은 소스 트리에서 openjdk.build 폴더 안에 저장되어 있습니다. 이 폴더를 통째로 원하는 곳에 원하는 이름으로 옮겨놓고 쉘 환경 변수 JAVA_HOME을 해당 위치로 지정해 준 다음 사용하면 됩니다. 경우에 따라서는 폴더 안에 있는 j2re-image를 jre로, j2sdk-image를 jdk로 같은 폴더 안에 심볼릭 링크 걸어야 될 수도 있습니다.
4. 굳이 말할 필요 없겠지만 CUPS는 리눅스에서 프린터 돌릴 때 쓰는 프로그램입니다. 왜 이런 짓을 했냐면 집에 프린터가 없어서 CUPS 패키지를 쓸 일이 없었고, 결국 지웠기 때문입니다.
5. 주의할 점이 하나 있는데 이렇게 빌드된 자바는 네트워크 연결이 안 된다는 겁니다. 무슨 말이냐면 마인크래프트 할 때 버전 업데이트를 받을 수 없게 된다는 겁니다. 원인은 저도 모릅니다. 아시는 분?

카테고리:컴퓨터 관련
팔로우

모든 새 글을 수신함으로 전달 받으세요.